import React, { useState } from 'react'; import { Calendar, BookOpen, Layout, MessageCircle, Lock, CheckCircle2, ChevronRight, Zap, Leaf, Moon, Sun, Clock, Utensils, Plus, Trash2, Newspaper, HelpCircle } from 'lucide-react'; /** * Application Cyklera - Version Ultra-Stable * Suppression de tous les accents pour eviter les erreurs d'encodage */ const App = () => { // Etats de l'application const [activeTab, setActiveTab] = useState('program'); const [currentPhaseIdx, setCurrentPhaseIdx] = useState(1); const [unlockedSessions, setUnlockedSessions] = useState([0]); const [plannedItems, setPlannedItems] = useState([]); // Definition des donnees (Texte sans aucun accent pour une compatibilite maximale) const phases = [ { id: 0, name: "Phase Menstruelle", duration: 8, icon: , nutriGoal: "Remineralisation et soutien du fer. Privilegiez le chaud.", dayType: { breakfast: "Porridge chaud", lunch: "Soupe de lentilles", snack: "Chocolat noir", dinner: "Bouillon d'os" }, sessions: ["Seance 01", "Seance 02"], recipes: ["Bouillon d'os", "Infusion Framboisier", "Dahl de lentilles"], progress: 85 }, { id: 1, name: "Phase Folliculaire et Ovulatoire", duration: 14, icon: , nutriGoal: "Vitalite et metabolisme des oestrogenes. Focus fibres.", dayType: { breakfast: "Smoothie Vert", lunch: "Salade Quinoa", snack: "Yaourt Coco", dinner: "Saumon Asperges" }, sessions: ["Seance 01", "Seance 02", "Seance 03", "Seance 04", "Seance 05", "Seance 06"], recipes: ["Buddha Bowl", "Smoothie Eclat", "Salade Detox"], progress: 45 }, { id: 2, name: "Phase Luteale", duration: 16, icon: , nutriGoal: "Stabilisation de la glycemie et magnesium.", dayType: { breakfast: "Oeufs et Avocat", lunch: "Poulet et Patate douce", snack: "Muffins Banane", dinner: "Curry de pois chiches" }, sessions: ["Seance 01", "Seance 02", "Seance 03", "Seance 04", "Seance 05", "Seance 06"], recipes: ["Curry Coco", "Muffins Noix", "Veloute Courge"], progress: 15 } ]; const currentPhase = phases[currentPhaseIdx]; const toggleSession = (idx) => { if (idx === 0 || unlockedSessions.includes(idx - 1)) { if (unlockedSessions.includes(idx)) { if (!unlockedSessions.includes(idx + 1)) { setUnlockedSessions(unlockedSessions.filter(i => i !== idx)); } } else { setUnlockedSessions([...unlockedSessions, idx]); } } }; return (
{/* Barre de navigation */}
{activeTab === 'program' && (
{/* Carte de phase principale */}
{currentPhase.icon}
Phase Actuelle

{currentPhase.name}

Progression Jours totaux: {currentPhase.duration}

Fin de phase estimee bientot

{/* Selecteur de phases */}
{phases.map((phase, idx) => ( ))}
{/* Section Sport / Mouvement */}

Mouvement

{currentPhase.sessions.map((session, idx) => { const isLocked = idx > 0 && !unlockedSessions.includes(idx - 1); const isCompleted = unlockedSessions.includes(idx); return (
{session}
{isLocked ? : (isCompleted ? :
)} {!isLocked && !isCompleted && ( )}
); })}
{/* Section Nutrition */}

Nutrition

Journee Type

{Object.entries(currentPhase.dayType).map(([key, val]) => (
{key}

{val}

))}

Recettes

{currentPhase.recipes.map((recipe, idx) => (
{recipe}
))}
)} {/* Autres onglets */} {activeTab !== 'program' && (
Cette section est en cours de preparation.
)}
); }; export default App;