Version casi lista
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
import SwiftUI
|
||||
|
||||
struct PrimaryButton: View {
|
||||
let title: String
|
||||
var icon: String? = nil
|
||||
let action: () -> Void
|
||||
var isEnabled: Bool = true
|
||||
var localizeTitle: Bool = true
|
||||
|
||||
var body: some View {
|
||||
Button(action: action) {
|
||||
HStack(spacing: 8) {
|
||||
Group {
|
||||
if localizeTitle {
|
||||
Text(LocalizedStringKey(title))
|
||||
} else {
|
||||
Text(verbatim: title)
|
||||
}
|
||||
}
|
||||
.font(.mealMoodBodyBold)
|
||||
if let icon = icon {
|
||||
Text(icon)
|
||||
}
|
||||
}
|
||||
.foregroundColor(.white)
|
||||
.padding(.horizontal, 24)
|
||||
.padding(.vertical, 14)
|
||||
.frame(maxWidth: .infinity)
|
||||
.background(
|
||||
LinearGradient(
|
||||
colors: isEnabled
|
||||
? [Color.mealMoodCoral, Color.mealMoodMint]
|
||||
: [Color.gray.opacity(0.3), Color.gray.opacity(0.3)],
|
||||
startPoint: .leading,
|
||||
endPoint: .trailing
|
||||
)
|
||||
)
|
||||
.cornerRadius(14)
|
||||
.shadow(color: isEnabled ? Color.mealMoodCoral.opacity(0.3) : .clear, radius: 8, y: 4)
|
||||
}
|
||||
.disabled(!isEnabled)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user