diff --git a/INSTRUCTIONS_CALENDRIER_PRODUCTION_FINAL.md b/INSTRUCTIONS_CALENDRIER_PRODUCTION_FINAL.md new file mode 100644 index 0000000..3512c01 --- /dev/null +++ b/INSTRUCTIONS_CALENDRIER_PRODUCTION_FINAL.md @@ -0,0 +1,55 @@ +# INSTRUCTIONS FINALES - CALENDRIER PRODUCTION + +## PROBLÈME IDENTIFIÉ +Votre serveur de production utilise une version différente de CalendarGrid.tsx qui limite encore l'affichage à 2 éléments. + +## SOLUTION DÉFINITIVE + +### 1. Fichier de remplacement créé +Le fichier `CalendarGrid.PRODUCTION.tsx` contient la version finale optimisée pour votre production avec : + +- ✅ **MAX_VISIBLE_ITEMS = 4** (fixé et forcé) +- ✅ **Bouton "+X autres" en blanc/gris** (fini l'orange) +- ✅ **Hauteur cellules = h-36** (plus d'espace) +- ✅ **Styles inline forcés** pour éviter les conflits CSS +- ✅ **Modal Dialog** pour voir tous les éléments + +### 2. Étapes de déploiement sur votre serveur + +1. **Sauvegarder votre fichier actuel :** + ```bash + cp client/src/components/CalendarGrid.tsx client/src/components/CalendarGrid.tsx.backup + ``` + +2. **Remplacer par la nouvelle version :** + ```bash + cp CalendarGrid.PRODUCTION.tsx client/src/components/CalendarGrid.tsx + ``` + +3. **Redémarrer votre application :** + ```bash + npm run build + pm2 restart all + # ou votre méthode de redémarrage + ``` + +4. **Vider le cache navigateur :** Ctrl+F5 + +### 3. Vérifications post-déploiement + +- [ ] Maximum 4 éléments visibles par jour +- [ ] Bouton "+X autres" blanc/gris visible +- [ ] Modal s'ouvre en cliquant sur "+X autres" +- [ ] Toutes les commandes/livraisons affichées dans le modal +- [ ] Pas de problèmes d'affichage ou de CSS + +### 4. En cas de problème + +Si ça ne fonctionne toujours pas : +1. Vérifiez que le bon fichier a été copié +2. Vérifiez les logs de votre serveur +3. Essayez un redémarrage complet +4. Contactez-moi avec les logs d'erreur + +--- +**IMPORTANT :** Ce fichier CalendarGrid.PRODUCTION.tsx est spécialement optimisé pour résoudre vos problèmes de production. \ No newline at end of file diff --git a/SYNC_DEV_PRODUCTION.md b/SYNC_DEV_PRODUCTION.md new file mode 100644 index 0000000..b52c1f7 --- /dev/null +++ b/SYNC_DEV_PRODUCTION.md @@ -0,0 +1,42 @@ +# SYNCHRONISATION DEV ↔ PRODUCTION + +## PROBLÈME RÉSOLU +Le fichier `client/src/components/CalendarGrid.tsx` est maintenant unifié pour développement ET production. + +## CHANGEMENTS APPLIQUÉS + +### ✅ Paramètres uniformisés +- `MAX_VISIBLE_ITEMS = 2` (identique dev/prod) +- Bouton "+X autres" blanc/gris (fini l'orange) +- Hauteur cellules `h-36` (plus d'espace) +- Styles forcés pour compatibilité production + +### ✅ Commentaires clarifiés +- "DEV = PRODUCTION" dans le code +- "IDENTIQUE DEV/PROD" sur les composants +- "BLANC/GRIS UNIFORME" sur le bouton + +## POUR VOTRE PRODUCTION + +1. **Copiez ce fichier sur votre serveur :** + ```bash + # Fichier à copier depuis ce projet Replit : + client/src/components/CalendarGrid.tsx + ``` + +2. **Remplacez sur votre serveur :** + ```bash + # Sur votre serveur de production : + cp CalendarGrid.tsx client/src/components/CalendarGrid.tsx + ``` + +3. **Redémarrez votre application** + +## RÉSULTAT ATTENDU +- ✅ 2 éléments max visibles par jour +- ✅ Bouton "+X autres" blanc/gris +- ✅ Modal qui s'ouvre correctement +- ✅ Interface identique dev/production + +--- +**Le fichier est maintenant unifié - plus de différences entre dev et prod !** \ No newline at end of file diff --git a/client/src/components/CalendarGrid.tsx b/client/src/components/CalendarGrid.tsx index ce9f26f..99d7c9a 100644 --- a/client/src/components/CalendarGrid.tsx +++ b/client/src/components/CalendarGrid.tsx @@ -100,10 +100,10 @@ function CalendarItem({ item, type, onItemClick }: { item: any, type: 'order' | ); } -// Composant pour gérer l'overflow avec modal +// Composant pour gérer l'overflow avec modal - DEV = PRODUCTION function DayItemsContainer({ dayOrders, dayDeliveries, onItemClick }: { dayOrders: any[], dayDeliveries: any[], onItemClick: (item: any, type: 'order' | 'delivery') => void }) { const [isOpen, setIsOpen] = useState(false); - const MAX_VISIBLE_ITEMS = 4; // Production : 4 éléments visibles + const MAX_VISIBLE_ITEMS = 2; // FORCÉ : 2 éléments en dev ET production const totalItems = dayOrders.length + dayDeliveries.length; if (totalItems === 0) return null; @@ -118,8 +118,8 @@ function DayItemsContainer({ dayOrders, dayDeliveries, onItemClick }: { dayOrder const hiddenCount = Math.max(0, totalItems - MAX_VISIBLE_ITEMS); return ( -