#Améliorations simples

#Implémenter un mode Sombre pour l’application

  • Utiliser l’environnement colorScheme pour détecter le mode sombre
  • Gérer les couleurs par composants
  • Pensez à utiliser des enums pour déduire les bonnes couleurs en fonction du contexte
  • Utilisez ChatGPT pour générer une palette de couleurs pour votre application (utilisez la palette Tailwind par exemple)

#Exemple d’utilisation d’enum

swift
enum DashboardCardStyle {
    case energyConsumingCard,
         crashCard,
         sleepCard,
         symptomCard,
         trends,
         barChart,
         fatigue,
         symptoms,
         activities

    func foregroundColor(colorScheme: ColorScheme) -> Color {
        switch self  {
        case .barChart:
            return colorScheme == .dark ? .emerald500 : .emerald500
        ...
        case .activities:
            return colorScheme == .dark ? .emerald500 : .emerald500
        }
    }

    func backgroundColor(colorScheme: ColorScheme) -> Color {
        switch self {
        case .barChart:
            return colorScheme == .dark ? .emerald900.opacity(0.6) : .emerald100
        ...
        case .activities:
            return colorScheme == .dark ? .emerald900.opacity(0.6) : .emerald100
        }
    }

    func backgroundColorDiscrete(colorScheme: ColorScheme) -> Color {
        switch self {
        case .barChart:
            return colorScheme == .dark ? .emerald900 : .emerald100
        ...
        case .activities:
            return colorScheme == .dark ? .neutral800 : .emerald100
        }
    }
}

Utilisation :

swift
View()
    .foregroundColor(DashboardCardStyle.energyConsumingCard.foregroundColor(colorScheme: colorScheme))

#Validation du formulaire

Ajouter une validation du formulaire d’ajout d’item. Avec les règles suivantes :

  • Le nom de l’item doit faire au moins 3 caractères
  • Le nom de l’item ne doit pas être vide
  • Le type ne doit pas être .unknown
  • Le jeu ne doit pas être .emptyGame

⚡️ Au choix faites apparaitre une alerte avec .alert() ou un message d’erreur directement dans le formulaire, par exemple dans les footer des Section.

#Faire de la visualisation de données

Transformons notre page d’accueil en Tableau de bord avec des graphiques.

Utilisez SwiftCharts pour réaliser la maquette ci-dessus et le graphique en Bar détaillé ci-dessous.

#Comment faire ?