Aller au contenu principal

Design UI/UX - Kazalendar

🎹 Palette de couleurs​

Le design utilise une palette de couleurs pastel élégante inspirée de l'univers de la pùtisserie haut de gamme :

Couleurs principales​

  • Rose poudrĂ© (#E8B4B8) - Couleur principale, utilisĂ©e pour les Ă©lĂ©ments d'accent
  • Vert d'eau (#A8DADC) - Couleur secondaire pour les Ă©lĂ©ments de navigation
  • CrĂšme (#F1FAEE) - Fond principal de l'application
  • Corail doux (#E76F51) - Couleur d'action pour les boutons importants
  • Blanc cassĂ© (#FFFFFE) - Fond des cartes et Ă©lĂ©ments en surbrillance
  • Gris perle (#F8F9FA) - Fond des champs de saisie
  • Gris taupe (#6C757D) - Texte principal

Couleurs des statuts​

  • Disponible : CrĂšme avec point vert d'eau
  • Places limitĂ©es : Orange doux (#FFB366)
  • Complet : Rose poudrĂ© avec icĂŽne de cadenas
  • FermĂ© : Gris clair (#D6D6D6) avec barre rouge
  • Vacances : Gris neutre (#E0E0E0) avec icĂŽne de plage

đŸ“± Composants UI​

ElegantCalendarWidget​

  • Design : Vue mensuelle avec coins arrondis et ombres douces
  • En-tĂȘte : Nom de l'entreprise sur fond rose poudrĂ©
  • Navigation : FlĂšches dans des boutons arrondis
  • Jours : Cellules avec indicateurs de statut visuels
  • LĂ©gende : Explication claire des diffĂ©rents statuts

ElegantShareButton​

  • Design : Bouton flottant avec dĂ©gradĂ© corail/rose poudrĂ©
  • Animation : Effet de scale et rotation au toucher
  • États : Support du loading avec indicateur circulaire
  • Variantes : Bouton flottant, bouton texte, bouton icĂŽne

Animations​

  • Apparition : Fade-in pour le calendrier
  • Transition : Slide-up pour les dĂ©tails des commandes
  • Interactions : Scale et pulse pour les boutons

đŸ—ïž Architecture des composants​

lib/
├── core/
│ └── theme/
│ └── app_theme.dart # Thùme principal avec couleurs et styles
├── features/
│ └── calendar/
│ └── presentation/
│ ├── pages/
│ │ └── elegant_calendar_page.dart # Page principale redesignĂ©e
│ └── widgets/
│ ├── elegant_calendar_widget.dart # Widget calendrier Ă©lĂ©gant
│ └── elegant_share_button.dart # Boutons de partage animĂ©s

🎯 Principes de design​

Minimalisme​

  • Interface Ă©purĂ©e avec beaucoup d'espace blanc
  • HiĂ©rarchie visuelle claire
  • ÉlĂ©ments essentiels uniquement

Accessibilité​

  • Contraste suffisant pour tous les textes
  • Tailles de boutons respectant les guidelines
  • Indicateurs visuels clairs pour les statuts

CohĂ©rence​

  • Utilisation systĂ©matique de la palette de couleurs
  • Espacement uniforme (multiples de 4px)
  • Coins arrondis cohĂ©rents (8px, 12px, 16px, 20px)

Professionnalisme​

  • Couleurs sophistiquĂ©es et apaisantes
  • Typographie lisible et moderne
  • Animations subtiles et Ă©lĂ©gantes

📐 SpĂ©cifications techniques​

Espacement​

  • Padding standard : 16px
  • Marges entre Ă©lĂ©ments : 8px, 16px, 20px
  • Espacement interne des cartes : 20px

Bordures​

  • Radius principal : 12px
  • Radius des cartes : 16px, 20px
  • Radius des boutons : 8px, 12px

Ombres​

  • ÉlĂ©vation lĂ©gĂšre : blurRadius: 8, offset: (0, 4)
  • ÉlĂ©vation moyenne : blurRadius: 20, offset: (0, 8)
  • Couleur d'ombre : Rose poudrĂ© avec opacitĂ© 0.1

Typographie​

  • Poids principaux : 400 (regular), 500 (medium), 600 (semi-bold), 700 (bold)
  • Tailles : 11px (small), 12px (medium), 14px (large), 16px (body), 20px+ (titles)

🚀 Optimisations​

Performance​

  • Animations fluides Ă  60fps
  • Widgets const quand possible
  • Gestion efficace des Ă©tats

UX​

  • Feedback visuel immĂ©diat
  • États de chargement clairs
  • Messages d'erreur explicites
  • Navigation intuitive

đŸ“± Responsive Design​

Le design s'adapte automatiquement aux différentes tailles d'écran :

  • Portrait : Layout principal optimisĂ©
  • Landscape : Adaptation automatique des espacements
  • Tablette : Utilisation optimale de l'espace disponible

🎹 Utilisation​

Pour utiliser le nouveau design :

  1. ThÚme : Le thÚme est automatiquement appliqué via AppTheme.lightTheme
  2. Composants : Utilisez ElegantCalendarPage au lieu de CalendarPage
  3. Couleurs : Référencez les couleurs via AppTheme.rosePoudre, etc.
  4. Statuts : Utilisez AppTheme.getStatusColor(CalendarStatus.complet)

🔼 Évolutions futures​

  • Mode sombre : Adaptation de la palette pour un thĂšme sombre
  • Animations avancĂ©es : Transitions de page personnalisĂ©es
  • Personnalisation : Permettre Ă  l'utilisateur de choisir sa palette
  • AccessibilitĂ© : Support des lecteurs d'Ă©cran et navigation clavier