# Guide des Composants UI ## 🎯 Principe **Les composants métier ne doivent JAMAIS utiliser directement les variables CSS.** Ils doivent utiliser les composants UI abstraits. ## ❌ MAUVAIS ```tsx // ❌ Composant métier avec variables CSS directes function TaskCard({ task }) { return (
); } ``` ## ✅ BON ```tsx // ✅ Composant métier utilisant les composants UI import { Card, CardContent, Button } from '@/components/ui'; function TaskCard({ task }) { return ( ); } ``` ## 📦 Composants UI Disponibles ### Button ```tsx ``` ### Badge ```tsx Tag Succès Erreur ``` ### Alert ```tsx Succès Opération réussie ``` ### Input ```tsx ``` ### StyledCard ```tsx Contenu avec style coloré ``` ### Avatar ```tsx // Avatar avec URL personnalisée // Avatar Gravatar automatique (si pas d'URL fournie) // Avatar avec fallback ``` ## 🔄 Migration ### Étape 1: Identifier les patterns - Rechercher `var(--` dans les composants métier - Identifier les patterns répétés (boutons, cartes, badges) ### Étape 2: Créer des composants UI - Encapsuler les styles dans des composants UI - Utiliser des variants pour les variations ### Étape 3: Remplacer dans les composants métier - Importer les composants UI - Remplacer les éléments HTML par les composants UI ## 🎨 Avantages 1. **Consistance** - Même apparence partout 2. **Maintenance** - Changements centralisés 3. **Réutilisabilité** - Composants réutilisables 4. **Type Safety** - Props typées 5. **Performance** - Styles optimisés ## 📝 Règles 1. **JAMAIS** de variables CSS dans les composants métier 2. **TOUJOURS** utiliser les composants UI 3. **CRÉER** de nouveaux composants UI si nécessaire 4. **DOCUMENTER** les nouveaux composants UI