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) } }