import type { CanvasTemplate, Week, Day } from "./types";

// Re-export types for convenience
export type { CanvasTemplate, Week, Day };

/**
 * All canvas templates organized by week and day
 * Based on the Figma file "Programme Pionniers - Design Fiction Workshop"
 * 
 * Semaine 2: 19 canevas — Exploration système & futurs
 * Semaine 3: 10 canevas — Terrain utilisateur
 */

// Week 2 Canvases (19 total)
export const week2Canvases: CanvasTemplate[] = [
  // ═══════════════════════════════════════════════════════════════════════════
  // JOUR 1 - 6 canevas
  // ═══════════════════════════════════════════════════════════════════════════

  {
    id: "stakeholder-map",
    templateId: "stakeholder-map",
    title: "Carte des Parties Prenantes",
    subtitle: "Matrice circulaire pour positionner et cartographier les parties prenantes",
    week: 2,
    day: 1,
    exerciseNumber: 1,
    category: "exploration",
    hasDragDrop: true,
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "notes", type: "textarea", label: "Notes générales", rows: 4 },
    ],
  },
  {
    id: "interview-notes",
    templateId: "interview-notes",
    title: "Notes d'entretien — Partie Prenante",
    subtitle: "Capturer les apprentissages clés issus des entretiens",
    week: 2,
    day: 1,
    exerciseNumber: 2,
    category: "exploration",
    inputFields: [
      { id: "interviewee", type: "text", label: "Interviewé(e)" },
      { id: "date", type: "text", label: "Date" },
      { id: "profile-role", type: "textarea", label: "Profil & Rôle dans l'écosystème", placeholder: "Qui est cette personne ? Quel est son rôle ? Comment est-elle connectée au défi ?", rows: 3 },
      { id: "perception", type: "textarea", label: "Comment elle perçoit le défi", placeholder: "Quelle est sa vision du problème ? Qu'est-ce qui compte pour elle ?", rows: 4 },
      { id: "tensions", type: "textarea", label: "Tensions & Contradictions qu'elle vit", placeholder: "Quels dilemmes rencontre-t-elle ? Quels choix difficiles fait-elle ?", rows: 4 },
      { id: "relations", type: "textarea", label: "Relations & Dépendances dans l'écosystème", placeholder: "Avec qui travaille-t-elle ? De qui dépend-elle ? Qui dépend d'elle ?", rows: 4 },
    ],
  },
  {
    id: "value-chain",
    templateId: "value-chain",
    title: "Chaîne de Valeur",
    subtitle: "Carte système avec flux et connexions",
    week: 2,
    day: 1,
    exerciseNumber: 3,
    category: "exploration",
    hasDragDrop: true,
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "suppliers", type: "textarea", label: "Fournisseurs", placeholder: "Qui fournit les ressources essentielles ? Quelles matières premières ou données ?", rows: 4 },
      { id: "partners", type: "textarea", label: "Prestataires & Partenaires", placeholder: "Qui complète votre offre ? Quels services externalisés ?", rows: 4 },
      { id: "activities", type: "textarea", label: "Activités Clés Maîtrisées", placeholder: "Quelles activités créent de la valeur ? Quel savoir-faire unique ? Quels processus internes critiques ?", rows: 4 },
      { id: "clients", type: "textarea", label: "Clients", placeholder: "À qui livrez-vous de la valeur ? Quels segments de clientèle ?", rows: 4 },
    ],
  },
  {
    id: "tensions-paradoxes",
    templateId: "tensions-paradoxes",
    title: "Tensions & Paradoxes",
    subtitle: "Outil de réflexion collaborative sur les contradictions",
    week: 2,
    day: 1,
    exerciseNumber: 4,
    category: "exploration",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "impossible-choices", type: "textarea", label: "1. Les choix impossibles", placeholder: "Décrivez une situation où vous devez choisir entre deux choses importantes", rows: 4 },
      { id: "say-vs-do", type: "textarea", label: "2. Ce qu'on dit vs ce qu'on fait", placeholder: "Quelles valeurs affiche l'entreprise, et comment se manifestent-elles vraiment ?", rows: 4 },
      { id: "limiting-beliefs", type: "textarea", label: "3. Les croyances limitantes", placeholder: "Qu'est-ce qu'on ne peut pas faire 'parce que c'est comme ça' ?", rows: 4 },
      { id: "what-if-possible", type: "textarea", label: "4. Et si c'était possible ?", placeholder: "Si ces tensions disparaissaient, qu'est-ce qui changerait ?", rows: 4 },
    ],
  },
  {
    id: "inter-team-pitch",
    templateId: "inter-team-pitch",
    title: "Pitch Inter-Équipe",
    subtitle: "Présenter les concepts aux autres équipes",
    week: 2,
    day: 1,
    exerciseNumber: 5,
    category: "exploration",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "context-partner", type: "textarea", label: "0. Présentation du défi et du partenaire (20 sec)", placeholder: "Quel est le défi ? Qui est le partenaire et quel est son contexte ?", rows: 3 },
      { id: "tension-identified", type: "textarea", label: "1. La tension ou le paradoxe identifié (30 sec)", placeholder: "Quelle contradiction ou tension avez-vous découverte ?", rows: 3 },
      { id: "why-important", type: "textarea", label: "2. Pourquoi c'est important (30 sec)", placeholder: "En quoi cette tension est-elle significative pour le partenaire ?", rows: 3 },
      { id: "what-to-explore", type: "textarea", label: "3. Ce que vous allez explorer (40 sec)", placeholder: "Quelle direction allez-vous prendre pour explorer cette tension ?", rows: 3 },
      { id: "feedback-notes", type: "textarea", label: "Notes & Retours des Autres Équipes", rows: 4 },
    ],
  },
  {
    id: "system-learning",
    templateId: "system-learning",
    title: "Apprentissage Système",
    subtitle: "Capturer les apprentissages systèmes",
    week: 2,
    day: 1,
    exerciseNumber: 6,
    category: "exploration",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "key-learnings", type: "textarea", label: "1. Apprentissages Clés du Système", placeholder: "Qu'avez-vous vraiment compris sur le système ? Quelles découvertes importantes ?", rows: 5 },
      { id: "surprises", type: "textarea", label: "2. Ce qui nous a Surpris", placeholder: "Quelles découvertes inattendues ? Qu'est-ce qui a changé votre perception ?", rows: 5 },
      { id: "paradox-challenge", type: "textarea", label: "3. Défi Reformulé en Paradoxe", placeholder: "Exprimez le défi comme une tension entre deux forces apparemment contradictoires", rows: 3 },
      { id: "themes-to-explore", type: "textarea", label: "4. Thèmes Majeurs à Explorer dans le Futur (2-3 thèmes)", placeholder: "Quels territoires méritent d'être explorés pour résoudre ce paradoxe ?", rows: 4 },
    ],
  },

  // ═══════════════════════════════════════════════════════════════════════════
  // JOUR 2 - 4 canevas
  // ═══════════════════════════════════════════════════════════════════════════

  {
    id: "mindmap-signaux-faibles",
    templateId: "mindmap-signaux-faibles",
    title: "Mindmap Signaux Faibles",
    subtitle: "Déposez votre mindmap exportée au format PNG",
    week: 2,
    day: 2,
    exerciseNumber: 7,
    category: "exploration",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "mindmap-signaux-faibles-image", type: "image", label: "Mindmap Signaux Faibles" },
    ],
  },
  {
    id: "weak-signals-selection",
    templateId: "weak-signals-selection",
    title: "Fiches Signaux Faibles — Sélection",
    subtitle: "Sélectionner les signaux faibles pertinents",
    week: 2,
    day: 2,
    exerciseNumber: 8,
    category: "exploration",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "signal-1-desc", type: "textarea", label: "Signal #1 - Description", rows: 2 },
      { id: "signal-1-source", type: "text", label: "Signal #1 - Source" },
      { id: "signal-1-why", type: "textarea", label: "Signal #1 - Pourquoi intéressant ?", rows: 2 },
      { id: "signal-1-announces", type: "textarea", label: "Signal #1 - Qu'est-ce que ça annonce ?", rows: 2 },
      { id: "signal-2-desc", type: "textarea", label: "Signal #2 - Description", rows: 2 },
      { id: "signal-2-source", type: "text", label: "Signal #2 - Source" },
      { id: "signal-2-why", type: "textarea", label: "Signal #2 - Pourquoi intéressant ?", rows: 2 },
      { id: "signal-2-announces", type: "textarea", label: "Signal #2 - Qu'est-ce que ça annonce ?", rows: 2 },
      { id: "signal-3-desc", type: "textarea", label: "Signal #3 - Description", rows: 2 },
      { id: "signal-3-source", type: "text", label: "Signal #3 - Source" },
      { id: "signal-3-why", type: "textarea", label: "Signal #3 - Pourquoi intéressant ?", rows: 2 },
      { id: "signal-3-announces", type: "textarea", label: "Signal #3 - Qu'est-ce que ça annonce ?", rows: 2 },
      { id: "signal-4-desc", type: "textarea", label: "Signal #4 - Description", rows: 2 },
      { id: "signal-4-source", type: "text", label: "Signal #4 - Source" },
      { id: "signal-4-why", type: "textarea", label: "Signal #4 - Pourquoi intéressant ?", rows: 2 },
      { id: "signal-4-announces", type: "textarea", label: "Signal #4 - Qu'est-ce que ça annonce ?", rows: 2 },
      { id: "signal-5-desc", type: "textarea", label: "Signal #5 - Description", rows: 2 },
      { id: "signal-5-source", type: "text", label: "Signal #5 - Source" },
      { id: "signal-5-why", type: "textarea", label: "Signal #5 - Pourquoi intéressant ?", rows: 2 },
      { id: "signal-5-announces", type: "textarea", label: "Signal #5 - Qu'est-ce que ça annonce ?", rows: 2 },
      { id: "signal-6-desc", type: "textarea", label: "Signal #6 - Description", rows: 2 },
      { id: "signal-6-source", type: "text", label: "Signal #6 - Source" },
      { id: "signal-6-why", type: "textarea", label: "Signal #6 - Pourquoi intéressant ?", rows: 2 },
      { id: "signal-6-announces", type: "textarea", label: "Signal #6 - Qu'est-ce que ça annonce ?", rows: 2 },
      { id: "synthesis", type: "textarea", label: "Synthèse des 6-8 signaux les plus pertinents", placeholder: "Comment ces signaux influencent-ils le défi initial ?", rows: 4 },
    ],
  },
  {
    id: "persona-future",
    templateId: "persona-future",
    title: "Persona du Futur",
    subtitle: "Créer un personnage vivant et futuriste • 3 VERSIONS NÉCESSAIRES",
    week: 2,
    day: 2,
    exerciseNumber: 9,
    category: "ideation",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "first-name", type: "text", label: "Prénom" },
      { id: "age", type: "text", label: "Âge" },
      { id: "location", type: "text", label: "Lieu de vie" },
      { id: "family-situation", type: "text", label: "Situation familiale" },
      { id: "personality", type: "textarea", label: "🎭 Personnalité", placeholder: "3-4 traits de caractère marquants. Donnez-lui du relief !", rows: 3 },
      { id: "typical-day", type: "textarea", label: "📅 Une journée typique en 2035", placeholder: "Comment se déroule sa journée ? Quelles routines ?", rows: 4 },
      { id: "futuristic-elements", type: "textarea", label: "⚡ Éléments Futuristes", placeholder: "Technologies, pratiques ou comportements nouveaux qu'elle a adoptés", rows: 4 },
      { id: "professional-activity", type: "textarea", label: "💼 Activité professionnelle", placeholder: "Que fait-elle comme travail ou occupation ?", rows: 3 },
      { id: "values-motivations", type: "textarea", label: "💡 Valeurs & Motivations", placeholder: "Qu'est-ce qui la fait avancer ? Qu'est-ce qui compte pour elle ?", rows: 3 },
      { id: "fears-frustrations", type: "textarea", label: "⚠️ Peurs & Frustrations", placeholder: "Qu'est-ce qui l'inquiète ou l'agace dans son quotidien ?", rows: 3 },
      { id: "surprising-detail", type: "textarea", label: "✨ Détail Surprenant", placeholder: "Un fait inattendu, une habitude bizarre, quelque chose de mémorable", rows: 2 },
      { id: "signature-quote", type: "textarea", label: "💬 Une phrase qu'elle dit souvent", placeholder: "Sa citation signature — quelque chose qui reflète sa personnalité", rows: 2 },
    ],
  },
  {
    id: "situations",
    templateId: "situations",
    title: "Situations",
    subtitle: "Créer 4 décors concrets pour placer les personas",
    week: 2,
    day: 2,
    exerciseNumber: 10,
    category: "ideation",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "situation-1-setting", type: "textarea", label: "Situation #1 - Le Décor", placeholder: "Où ? Quand ? Quel est le contexte général de cette situation ?", rows: 3 },
      { id: "situation-1-objective", type: "textarea", label: "Situation #1 - L'Objectif", placeholder: "Que cherche-t-on à accomplir dans cette situation ?", rows: 3 },
      { id: "situation-1-resources", type: "textarea", label: "Situation #1 - Ressources & Contraintes", placeholder: "Quels moyens sont disponibles ? Quelles limitations ?", rows: 3 },
      { id: "situation-2-setting", type: "textarea", label: "Situation #2 - Le Décor", rows: 3 },
      { id: "situation-2-objective", type: "textarea", label: "Situation #2 - L'Objectif", rows: 3 },
      { id: "situation-2-resources", type: "textarea", label: "Situation #2 - Ressources & Contraintes", rows: 3 },
      { id: "situation-3-setting", type: "textarea", label: "Situation #3 - Le Décor", rows: 3 },
      { id: "situation-3-objective", type: "textarea", label: "Situation #3 - L'Objectif", rows: 3 },
      { id: "situation-3-resources", type: "textarea", label: "Situation #3 - Ressources & Contraintes", rows: 3 },
      { id: "situation-4-setting", type: "textarea", label: "Situation #4 - Le Décor", rows: 3 },
      { id: "situation-4-objective", type: "textarea", label: "Situation #4 - L'Objectif", rows: 3 },
      { id: "situation-4-resources", type: "textarea", label: "Situation #4 - Ressources & Contraintes", rows: 3 },
    ],
  },

  // ═══════════════════════════════════════════════════════════════════════════
  // JOUR 3 - 4 canevas
  // ═══════════════════════════════════════════════════════════════════════════

  {
    id: "scenario-generation",
    templateId: "scenario-generation",
    title: "Générateur de Scénarios — Design Fiction",
    subtitle: "5 scénarios rapides : Persona + Situation + Règle du monde → Scène concrète",
    week: 2,
    day: 3,
    exerciseNumber: 11,
    category: "ideation",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "scenario-1-persona", type: "textarea", label: "Scénario 1 - Persona", rows: 2, placeholder: "Ex: Sylvie, 32 ans, ingénieure énergie renouvelable, curieuse, engagée, manque de temps." },
      { id: "scenario-1-situation", type: "textarea", label: "Scénario 1 - Situation", rows: 2, placeholder: "Ex: Trajet domicile → site TotalEnergies de Pau, un matin de semaine." },
      { id: "scenario-1-world-rule", type: "textarea", label: "Scénario 1 - Dans un monde où...", rows: 2, placeholder: "Ex: 👉 le temps de trajet est officiellement reconnu comme un temps d'apprentissage." },
      { id: "scenario-1-scene", type: "textarea", label: "Scénario 1 - Scène concrète : que vit la persona ?", rows: 4, placeholder: "Ex: Dans le bus, Sylvie reçoit un mini-défi énergie de 5 minutes sur son téléphone : comparer deux décisions réelles prises par des équipes Total. Elle répond avant d'arriver au bureau. À son arrivée, son badge affiche \"Défi validé\". Elle a appris quelque chose sans s'être assise devant un écran et sans \"prendre du temps en plus\"." },
      { id: "scenario-2-persona", type: "textarea", label: "Scénario 2 - Persona", rows: 2, placeholder: "Ex: Sylvie, même profil." },
      { id: "scenario-2-situation", type: "textarea", label: "Scénario 2 - Situation", rows: 2, placeholder: "Ex: Pause café collective pendant un séminaire de fin d'année sur le site de Pau." },
      { id: "scenario-2-world-rule", type: "textarea", label: "Scénario 2 - Dans un monde où...", rows: 2, placeholder: "Ex: 👉 la pause café est le seul moment sans écran autorisé au travail." },
      { id: "scenario-2-scene", type: "textarea", label: "Scénario 2 - Scène concrète", rows: 4, placeholder: "Ex: Autour de la machine à café, un animateur lance un mini-jeu énergie 100 % oral : \"Vous avez 3 minutes pour décider comment réduire de 10 % l'empreinte carbone du site.\" Les équipes débattent, rient, s'opposent. À la fin, une décision collective est affichée dans le hall. Apprendre devient un moment social, pas un module à suivre seul." },
      { id: "scenario-3-persona", type: "textarea", label: "Scénario 3 - Persona", rows: 2, placeholder: "Ex: Nina, 27 ans, cheffe de projet, sensible à l'équilibre pro/perso." },
      { id: "scenario-3-situation", type: "textarea", label: "Scénario 3 - Situation", rows: 2, placeholder: "Ex: Premier mois dans le nouveau bâtiment EDF." },
      { id: "scenario-3-world-rule", type: "textarea", label: "Scénario 3 - Dans un monde où...", rows: 2, placeholder: "Ex: 👉 un jour par semaine, le bureau est volontairement \"indisponible\"." },
      { id: "scenario-3-scene", type: "textarea", label: "Scénario 3 - Scène concrète", rows: 4, placeholder: "Ex: Un mercredi sur deux, le site EDF est fermé aux équipes non critiques. Nina travaille depuis un tiers-lieu près de chez elle. Les échanges sont plus courts, plus préparés. Le bureau devient un lieu rare, réservé aux moments collectifs importants. La réduction du parking devient une conséquence logique, pas une contrainte subie." },
      { id: "scenario-4-persona", type: "textarea", label: "Scénario 4 - Persona", rows: 2 },
      { id: "scenario-4-situation", type: "textarea", label: "Scénario 4 - Situation", rows: 2 },
      { id: "scenario-4-world-rule", type: "textarea", label: "Scénario 4 - Dans un monde où...", rows: 2 },
      { id: "scenario-4-scene", type: "textarea", label: "Scénario 4 - Scène concrète", rows: 4 },
      { id: "scenario-5-persona", type: "textarea", label: "Scénario 5 - Persona", rows: 2 },
      { id: "scenario-5-situation", type: "textarea", label: "Scénario 5 - Situation", rows: 2 },
      { id: "scenario-5-world-rule", type: "textarea", label: "Scénario 5 - Dans un monde où...", rows: 2 },
      { id: "scenario-5-scene", type: "textarea", label: "Scénario 5 - Scène concrète", rows: 4 },
    ],
  },
  {
    id: "scenario-selection",
    templateId: "scenario-selection",
    title: "Matrice de Sélection — Scénarios",
    subtitle: "Comparer et sélectionner les 5 scénarios",
    week: 2,
    day: 3,
    exerciseNumber: 12,
    category: "ideation",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "scenario-1-name", type: "text", label: "Scénario 1" },
      { id: "scenario-1-plausibility", type: "textarea", label: "Scénario 1 - Plausibilité (Crédibilité ?)", rows: 2 },
      { id: "scenario-1-impact", type: "textarea", label: "Scénario 1 - Impact (Ampleur ?)", rows: 2 },
      { id: "scenario-1-originality", type: "textarea", label: "Scénario 1 - Originalité (Surprenant ?)", rows: 2 },
      { id: "scenario-2-name", type: "text", label: "Scénario 2" },
      { id: "scenario-2-plausibility", type: "textarea", label: "Scénario 2 - Plausibilité", rows: 2 },
      { id: "scenario-2-impact", type: "textarea", label: "Scénario 2 - Impact", rows: 2 },
      { id: "scenario-2-originality", type: "textarea", label: "Scénario 2 - Originalité", rows: 2 },
      { id: "scenario-3-name", type: "text", label: "Scénario 3" },
      { id: "scenario-3-plausibility", type: "textarea", label: "Scénario 3 - Plausibilité", rows: 2 },
      { id: "scenario-3-impact", type: "textarea", label: "Scénario 3 - Impact", rows: 2 },
      { id: "scenario-3-originality", type: "textarea", label: "Scénario 3 - Originalité", rows: 2 },
      { id: "scenario-4-name", type: "text", label: "Scénario 4" },
      { id: "scenario-4-plausibility", type: "textarea", label: "Scénario 4 - Plausibilité", rows: 2 },
      { id: "scenario-4-impact", type: "textarea", label: "Scénario 4 - Impact", rows: 2 },
      { id: "scenario-4-originality", type: "textarea", label: "Scénario 4 - Originalité", rows: 2 },
      { id: "scenario-5-name", type: "text", label: "Scénario 5" },
      { id: "scenario-5-plausibility", type: "textarea", label: "Scénario 5 - Plausibilité", rows: 2 },
      { id: "scenario-5-impact", type: "textarea", label: "Scénario 5 - Impact", rows: 2 },
      { id: "scenario-5-originality", type: "textarea", label: "Scénario 5 - Originalité", rows: 2 },
      { id: "selected-scenarios", type: "textarea", label: "→ Scénarios retenus pour approfondissement", rows: 4 },
    ],
  },
  {
    id: "scenario-validation",
    templateId: "scenario-validation",
    title: "Point de Validation — Scénarios",
    subtitle: "Valider les scénarios avec les parties prenantes",
    week: 2,
    day: 3,
    exerciseNumber: 13,
    category: "ideation",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "scenario-1-summary", type: "textarea", label: "Scénario 1 - Résumé", rows: 3 },
      { id: "scenario-1-hypotheses", type: "textarea", label: "Scénario 1 - Hypothèses clés", rows: 3 },
      { id: "scenario-1-feedback", type: "textarea", label: "Scénario 1 - Retours facilitateur", rows: 3 },
      { id: "scenario-1-decision", type: "text", label: "Scénario 1 - Décision (GO / NO-GO)" },
      { id: "scenario-2-summary", type: "textarea", label: "Scénario 2 - Résumé", rows: 3 },
      { id: "scenario-2-hypotheses", type: "textarea", label: "Scénario 2 - Hypothèses clés", rows: 3 },
      { id: "scenario-2-feedback", type: "textarea", label: "Scénario 2 - Retours facilitateur", rows: 3 },
      { id: "scenario-2-decision", type: "text", label: "Scénario 2 - Décision (GO / NO-GO)" },
      { id: "scenario-3-summary", type: "textarea", label: "Scénario 3 - Résumé", rows: 3 },
      { id: "scenario-3-hypotheses", type: "textarea", label: "Scénario 3 - Hypothèses clés", rows: 3 },
      { id: "scenario-3-feedback", type: "textarea", label: "Scénario 3 - Retours facilitateur", rows: 3 },
      { id: "scenario-3-decision", type: "text", label: "Scénario 3 - Décision (GO / NO-GO)" },
      { id: "actions-before-selection", type: "textarea", label: "→ Actions à prendre avant la sélection finale", rows: 4 },
    ],
  },
  {
    id: "scenario-card",
    templateId: "scenario-card",
    title: "Rédaction Scénarios Finaux",
    subtitle: "Récit en 3 temps : accroche, nouveau monde, question • 3 VERSIONS",
    week: 2,
    day: 3,
    exerciseNumber: 14,
    category: "ideation",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "scenario-title", type: "text", label: "Titre du scénario" },
      { id: "hook", type: "textarea", label: "1. Accroche — L'événement déclencheur", placeholder: "Un événement qui paraît très réel, avec des références ancrées dans le présent", rows: 5 },
      { id: "new-world", type: "textarea", label: "2. Explication — Le nouveau monde", placeholder: "En quoi ce monde est-il différent d'aujourd'hui ? Quelles nouvelles règles du jeu ?", rows: 5 },
      { id: "debate-question", type: "textarea", label: "3. Question de débat", placeholder: "Une question ouverte pour s'approprier le scénario et lancer la discussion", rows: 5 },
    ],
  },

  // ═══════════════════════════════════════════════════════════════════════════
  // JOUR 4 - 3 canevas
  // ═══════════════════════════════════════════════════════════════════════════

  {
    id: "scenario-impact",
    templateId: "scenario-impact",
    title: "Impact du Scénario",
    subtitle: "Analyser l'impact d'un scénario sur l'entreprise",
    week: 2,
    day: 4,
    exerciseNumber: 15,
    category: "ideation",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "scenario-analyzed", type: "text", label: "Scénario analysé" },
      { id: "becomes-obsolete", type: "textarea", label: "1. Ce qui devient obsolète", placeholder: "Quels actifs perdent leur valeur ? Quelles pratiques ne sont plus adaptées ? Quelles croyances deviennent fausses ?", rows: 5 },
      { id: "becomes-critical", type: "textarea", label: "2. Ce qui devient critique", placeholder: "Quelles nouvelles compétences sont requises ? Quelles capacités deviennent stratégiques ? Quelles ressources sont indispensables ?", rows: 5 },
      { id: "new-risks", type: "textarea", label: "3. Nouveaux risques", placeholder: "Quelles nouvelles menaces apparaissent ? Qu'est-ce qui pourrait mal tourner ? Quelles vulnérabilités émergent ?", rows: 5 },
      { id: "new-opportunities", type: "textarea", label: "4. Nouvelles opportunités", placeholder: "Quels nouveaux espaces s'ouvrent ? Quelles innovations deviennent possibles ? Quelles nouvelles positions créent de la valeur ?", rows: 5 },
    ],
  },
  {
    id: "concept-generation",
    templateId: "concept-generation",
    title: "Génération de Concepts",
    subtitle: "Générer des concepts basés sur les scénarios",
    week: 2,
    day: 4,
    exerciseNumber: 16,
    category: "ideation",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "concept-1-source", type: "text", label: "Concept #1 - Scénario source" },
      { id: "concept-1-problem", type: "textarea", label: "Concept #1 - Problème adressé", rows: 2 },
      { id: "concept-1-idea", type: "textarea", label: "Concept #1 - Idée de concept", rows: 4 },
      { id: "concept-1-why-now", type: "textarea", label: "Concept #1 - Pourquoi explorer ce concept aujourd'hui ?", rows: 2 },
      { id: "concept-2-source", type: "text", label: "Concept #2 - Scénario source" },
      { id: "concept-2-problem", type: "textarea", label: "Concept #2 - Problème adressé", rows: 2 },
      { id: "concept-2-idea", type: "textarea", label: "Concept #2 - Idée de concept", rows: 4 },
      { id: "concept-2-why-now", type: "textarea", label: "Concept #2 - Pourquoi explorer aujourd'hui ?", rows: 2 },
      { id: "concept-3-source", type: "text", label: "Concept #3 - Scénario source" },
      { id: "concept-3-problem", type: "textarea", label: "Concept #3 - Problème adressé", rows: 2 },
      { id: "concept-3-idea", type: "textarea", label: "Concept #3 - Idée de concept", rows: 4 },
      { id: "concept-3-why-now", type: "textarea", label: "Concept #3 - Pourquoi explorer aujourd'hui ?", rows: 2 },
      { id: "concept-4-source", type: "text", label: "Concept #4 - Scénario source" },
      { id: "concept-4-problem", type: "textarea", label: "Concept #4 - Problème adressé", rows: 2 },
      { id: "concept-4-idea", type: "textarea", label: "Concept #4 - Idée de concept", rows: 4 },
      { id: "concept-4-why-now", type: "textarea", label: "Concept #4 - Pourquoi explorer aujourd'hui ?", rows: 2 },
      { id: "concept-5-source", type: "text", label: "Concept #5 - Scénario source" },
      { id: "concept-5-problem", type: "textarea", label: "Concept #5 - Problème adressé", rows: 2 },
      { id: "concept-5-idea", type: "textarea", label: "Concept #5 - Idée de concept", rows: 4 },
      { id: "concept-5-why-now", type: "textarea", label: "Concept #5 - Pourquoi explorer aujourd'hui ?", rows: 2 },
      { id: "concept-6-source", type: "text", label: "Concept #6 - Scénario source" },
      { id: "concept-6-problem", type: "textarea", label: "Concept #6 - Problème adressé", rows: 2 },
      { id: "concept-6-idea", type: "textarea", label: "Concept #6 - Idée de concept", rows: 4 },
      { id: "concept-6-why-now", type: "textarea", label: "Concept #6 - Pourquoi explorer aujourd'hui ?", rows: 2 },
    ],
  },
  {
    id: "partner-reactions",
    templateId: "partner-reactions",
    title: "Réactions du Partenaire",
    subtitle: "Capturer les retours pendant l'atelier",
    week: 2,
    day: 4,
    exerciseNumber: 17,
    category: "ideation",
    inputFields: [
      { id: "workshop", type: "text", label: "Atelier" },
      { id: "date", type: "text", label: "Date" },
      { id: "what-resonates", type: "textarea", label: "+ Ce qui résonne (Pertinent, intéressant)", placeholder: "Zone pour post-its ou notes manuscrites", rows: 6 },
      { id: "what-worries", type: "textarea", label: "! Ce qui inquiète (Préoccupations, doutes, peurs)", placeholder: "Zone pour post-its ou notes manuscrites", rows: 6 },
      { id: "what-excites", type: "textarea", label: "★ Ce qui enthousiasme (Opportunités à explorer)", placeholder: "Zone pour post-its ou notes manuscrites", rows: 6 },
      { id: "open-questions", type: "textarea", label: "? Questions ouvertes (Besoin de clarification)", placeholder: "Zone pour post-its ou notes manuscrites", rows: 6 },
      { id: "synthesis", type: "textarea", label: "→ Synthèse des échanges", rows: 4 },
    ],
  },

  // ═══════════════════════════════════════════════════════════════════════════
  // JOUR 5 - 2 canevas
  // ═══════════════════════════════════════════════════════════════════════════

  {
    id: "concept-journey",
    templateId: "concept-journey",
    title: "Parcours du Concept",
    subtitle: "Développer le parcours du concept",
    week: 2,
    day: 5,
    exerciseNumber: 18,
    category: "synthesis",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      // Concept A
      { id: "concept-a-paradox", type: "textarea", label: "Concept A - 1. Paradoxe Initial", rows: 2 },
      { id: "concept-a-signals", type: "textarea", label: "Concept A - 2. Signaux Faibles Clés", rows: 2 },
      { id: "concept-a-scenario", type: "textarea", label: "Concept A - 3. Scénario Source", rows: 2 },
      { id: "concept-a-description", type: "textarea", label: "Concept A - 4. Le Concept - Description", rows: 3 },
      { id: "concept-a-why", type: "textarea", label: "Concept A - Pourquoi ce concept ?", rows: 2 },
      { id: "concept-a-justification", type: "textarea", label: "Concept A - 5. Justification - Pourquoi explorer en phase terrain ?", rows: 3 },
      // Concept B
      { id: "concept-b-paradox", type: "textarea", label: "Concept B - 1. Paradoxe Initial", rows: 2 },
      { id: "concept-b-signals", type: "textarea", label: "Concept B - 2. Signaux Faibles Clés", rows: 2 },
      { id: "concept-b-scenario", type: "textarea", label: "Concept B - 3. Scénario Source", rows: 2 },
      { id: "concept-b-description", type: "textarea", label: "Concept B - 4. Le Concept - Description", rows: 3 },
      { id: "concept-b-why", type: "textarea", label: "Concept B - Pourquoi ce concept ?", rows: 2 },
      { id: "concept-b-justification", type: "textarea", label: "Concept B - 5. Justification - Pourquoi explorer en phase terrain ?", rows: 3 },
      { id: "final-validation", type: "text", label: "✓ Validation Finale (GO / AJUSTEMENTS / NO-GO)" },
    ],
  },
  {
    id: "s3-transition",
    templateId: "s3-transition",
    title: "Transition vers S3",
    subtitle: "Orientations stratégiques pour la phase terrain",
    week: 2,
    day: 5,
    exerciseNumber: 19,
    category: "synthesis",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "deadline", type: "text", label: "Deadline S3" },
      { id: "hypotheses-to-test", type: "textarea", label: "🔬 Hypothèses à Tester", placeholder: "Quelle hypothèse clé valider ? Pourquoi la tester maintenant ? Quel est le critère de validation ?", rows: 8 },
      { id: "targets-to-investigate", type: "textarea", label: "👥 Cibles à Investiguer", placeholder: "Quel profil / segment cibler ? Où les trouver concrètement ? Quelle méthode d'investigation ?", rows: 8 },
      { id: "field-questions", type: "textarea", label: "❓ Questions Terrain", placeholder: "Qu'est-ce qu'on ignore encore ? Quelles incertitudes lever ? Quels insights manquent-ils ?", rows: 8 },
      { id: "s3-action-plan", type: "textarea", label: "→ Plan d'action pour S3 (prochaines 2 semaines)", rows: 4 },
    ],
  },
];

// Week 3 Canvases (12 total) - Terrain utilisateur
export const week3Canvases: CanvasTemplate[] = [
  // ═══════════════════════════════════════════════════════════════════════════
  // JOUR 1 - Rappel et Hypothèses
  // ═══════════════════════════════════════════════════════════════════════════

  {
    id: "concept-recap",
    templateId: "concept-recap",
    title: "Rappel des Concepts — Semaine 1",
    subtitle: "Documentez les 2 concepts identifiés lors de la Semaine 1 pour les réintégrer dans le processus",
    week: 3,
    day: 1,
    exerciseNumber: 20,
    category: "terrain",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "concept1-title", type: "textarea", label: "Concept 1 - Titre du concept", placeholder: 'Ex: "Surf Inclusif Sensoriel" (Boardriders)', rows: 3 },
      { id: "concept1-problem", type: "textarea", label: "Concept 1 - Problème adressé", placeholder: "Ex: Les personnes en situation de handicap ne peuvent pas pratiquer le surf en toute sécurité et confort", rows: 3 },
      { id: "concept1-description", type: "textarea", label: "Concept 1 - Description courte", placeholder: "Ex: Combinaison modulaire avec fermeture simplifiée et capteurs sensoriels intégrés", rows: 3 },
      { id: "concept1-why", type: "textarea", label: "Concept 1 - Pourquoi ce concept", placeholder: "Ex: Rend l'expérience du surf accessible tout en créant une connexion émotionnelle avec l'océan", rows: 3 },
      { id: "concept2-title", type: "textarea", label: "Concept 2 - Titre du concept", placeholder: 'Ex: "Apprentissage Micro-Moments" (TotalEnergies)', rows: 3 },
      { id: "concept2-problem", type: "textarea", label: "Concept 2 - Problème adressé", placeholder: "Ex: Les salariés n'ont pas le temps pour des formations longues et contraignantes", rows: 3 },
      { id: "concept2-description", type: "textarea", label: "Concept 2 - Description courte", placeholder: "Ex: Capsules d'apprentissage de 5-10 min accessibles pendant les pauses", rows: 3 },
      { id: "concept2-why", type: "textarea", label: "Concept 2 - Pourquoi ce concept", placeholder: "Ex: S'intègre naturellement dans le quotidien sans créer de contrainte supplémentaire", rows: 3 },
    ],
  },
  {
    id: "concept-hypotheses",
    templateId: "concept-hypotheses",
    title: "Concept → Hypothèses",
    subtitle: "Transformer le concept en hypothèses testables",
    week: 3,
    day: 1,
    exerciseNumber: 21,
    category: "terrain",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "concept-name", type: "text", label: "Nom du concept" },
      { id: "hypothesis-1", type: "textarea", label: "Hypothèse 1", rows: 3 },
      { id: "hypothesis-2", type: "textarea", label: "Hypothèse 2", rows: 3 },
      { id: "hypothesis-3", type: "textarea", label: "Hypothèse 3", rows: 3 },
    ],
  },
  {
    id: "empathy-map",
    templateId: "empathy-map",
    title: "Empathy Map — Perspective Concept",
    subtitle: "Se mettre profondément dans la peau de l'utilisateur du concept à tester",
    week: 3,
    day: 1,
    exerciseNumber: 22,
    category: "terrain",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "says", type: "textarea", label: "Dit", rows: 4 },
      { id: "thinks", type: "textarea", label: "Pense", rows: 4 },
      { id: "does", type: "textarea", label: "Fait", rows: 4 },
      { id: "feels", type: "textarea", label: "Ressent", rows: 4 },
    ],
  },

  // ═══════════════════════════════════════════════════════════════════════════
  // JOUR 2 - Hypothèses et Entretiens
  // ═══════════════════════════════════════════════════════════════════════════

  {
    id: "assumptions-tracker",
    templateId: "assumptions-tracker",
    title: "Suivi des Hypothèses Utilisateur",
    subtitle: "Rendre explicites les hypothèses de l'équipe",
    week: 3,
    day: 2,
    exerciseNumber: 23,
    category: "terrain",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "hypothesis-1", type: "textarea", label: "Hypothèse 1", rows: 2 },
      { id: "hypothesis-1-status", type: "text", label: "Statut" },
      { id: "hypothesis-2", type: "textarea", label: "Hypothèse 2", rows: 2 },
      { id: "hypothesis-2-status", type: "text", label: "Statut" },
      { id: "hypothesis-3", type: "textarea", label: "Hypothèse 3", rows: 2 },
      { id: "hypothesis-3-status", type: "text", label: "Statut" },
    ],
  },
  {
    id: "interview-guide",
    templateId: "interview-guide",
    title: "Guide d'Entretien",
    subtitle: "Conduire des entretiens utilisateurs focalisés",
    week: 3,
    day: 2,
    exerciseNumber: 24,
    category: "terrain",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "objective", type: "textarea", label: "Objectif de l'entretien", rows: 3 },
      { id: "questions", type: "textarea", label: "Questions clés", rows: 6 },
      { id: "observations", type: "textarea", label: "Points d'observation", rows: 4 },
    ],
  },
  {
    id: "key-insights",
    templateId: "key-insights",
    title: "Apprentissages Clés du Terrain",
    subtitle: "Transformer observations et entretiens en insights actionnables",
    week: 3,
    day: 2,
    exerciseNumber: 25,
    category: "terrain",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "insight-1", type: "textarea", label: "Insight 1", rows: 3 },
      { id: "insight-2", type: "textarea", label: "Insight 2", rows: 3 },
      { id: "insight-3", type: "textarea", label: "Insight 3", rows: 3 },
      { id: "implications", type: "textarea", label: "Implications pour le concept", rows: 4 },
    ],
  },

  // ═══════════════════════════════════════════════════════════════════════════
  // JOUR 3 - Journey et Benchmark
  // ═══════════════════════════════════════════════════════════════════════════

  {
    id: "user-journey-map",
    templateId: "user-journey-map",
    title: "User Journey Map — Expérience du Concept",
    subtitle: "Décrire l'expérience complète de l'utilisateur",
    week: 3,
    day: 3,
    exerciseNumber: 26,
    category: "terrain",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "stage-1", type: "textarea", label: "Étape 1", rows: 3 },
      { id: "stage-2", type: "textarea", label: "Étape 2", rows: 3 },
      { id: "stage-3", type: "textarea", label: "Étape 3", rows: 3 },
      { id: "stage-4", type: "textarea", label: "Étape 4", rows: 3 },
      { id: "stage-5", type: "textarea", label: "Étape 5", rows: 3 },
    ],
  },
  {
    id: "benchmark-journey",
    templateId: "benchmark-journey",
    title: "Benchmark par Moment du Parcours",
    subtitle: "Comparer les solutions existantes",
    week: 3,
    day: 3,
    exerciseNumber: 27,
    category: "terrain",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "moment", type: "text", label: "Moment du parcours" },
      { id: "competitor-1", type: "textarea", label: "Concurrent 1", rows: 3 },
      { id: "competitor-2", type: "textarea", label: "Concurrent 2", rows: 3 },
      { id: "competitor-3", type: "textarea", label: "Concurrent 3", rows: 3 },
      { id: "opportunity", type: "textarea", label: "Opportunité identifiée", rows: 4 },
    ],
  },

  // ═══════════════════════════════════════════════════════════════════════════
  // JOUR 4 - Évaluation et Sélection
  // ═══════════════════════════════════════════════════════════════════════════

  {
    id: "concept-evaluation",
    templateId: "concept-evaluation",
    title: "Matrice d'Évaluation de Concepts",
    subtitle: "Comparer 3 à 4 concepts sur la base de preuves terrain et décider de la direction finale",
    week: 3,
    day: 4,
    exerciseNumber: 28,
    category: "terrain",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "concept-1", type: "text", label: "Concept 1" },
      { id: "concept-1-score", type: "textarea", label: "Évaluation Concept 1", rows: 3 },
      { id: "concept-2", type: "text", label: "Concept 2" },
      { id: "concept-2-score", type: "textarea", label: "Évaluation Concept 2", rows: 3 },
      { id: "concept-3", type: "text", label: "Concept 3" },
      { id: "concept-3-score", type: "textarea", label: "Évaluation Concept 3", rows: 3 },
      { id: "decision", type: "textarea", label: "Décision finale", rows: 4 },
    ],
  },
  {
    id: "touchpoint-selection",
    templateId: "touchpoint-selection",
    title: "Sélection de Touchpoint pour Prototypage",
    subtitle: "Décider quelle partie du parcours prototyper en priorité et pourquoi",
    week: 3,
    day: 4,
    exerciseNumber: 29,
    category: "terrain",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "touchpoint-1", type: "textarea", label: "Touchpoint 1", rows: 3 },
      { id: "touchpoint-2", type: "textarea", label: "Touchpoint 2", rows: 3 },
      { id: "touchpoint-3", type: "textarea", label: "Touchpoint 3", rows: 3 },
      { id: "selection", type: "textarea", label: "Touchpoint sélectionné et justification", rows: 4 },
    ],
  },

  // ═══════════════════════════════════════════════════════════════════════════
  // JOUR 5 - Récit et Préparation Prototype
  // ═══════════════════════════════════════════════════════════════════════════

  {
    id: "concept-narrative",
    templateId: "concept-narrative",
    title: "Récit du Concept — Du Défi au Prototype",
    subtitle: "Raconter l'histoire complète du projet : du paradoxe initial au prototype à venir",
    week: 3,
    day: 5,
    exerciseNumber: 30,
    category: "terrain",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "challenge", type: "textarea", label: "Le défi initial", rows: 3 },
      { id: "exploration", type: "textarea", label: "L'exploration", rows: 3 },
      { id: "insights", type: "textarea", label: "Les insights clés", rows: 3 },
      { id: "concept", type: "textarea", label: "Le concept", rows: 3 },
      { id: "prototype", type: "textarea", label: "Vers le prototype", rows: 3 },
    ],
  },
  {
    id: "prototype-readiness",
    templateId: "prototype-readiness",
    title: "Prototype Readiness",
    subtitle: "Préparer la transition vers le prototypage — Clarifier intentions, contraintes, et prochaines étapes",
    week: 3,
    day: 5,
    exerciseNumber: 31,
    category: "terrain",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "what-to-prototype", type: "textarea", label: "Quoi prototyper", rows: 4 },
      { id: "key-questions", type: "textarea", label: "Questions clés à valider", rows: 4 },
      { id: "resources", type: "textarea", label: "Ressources nécessaires", rows: 3 },
      { id: "next-steps", type: "textarea", label: "Prochaines étapes", rows: 4 },
    ],
  },
];

// Week 1 Canvases - Semaine 1
export const week1Canvases: CanvasTemplate[] = [
  // ═══════════════════════════════════════════════════════════════════════════
  // JOUR 3 - Mindmap & Reformulation
  // ═══════════════════════════════════════════════════════════════════════════

  {
    id: "mindmap-hackathon",
    templateId: "mindmap-hackathon",
    title: "Mindmap Hackathon",
    subtitle: "Déposez votre mindmap exportée au format PNG",
    week: 1,
    day: 3,
    exerciseNumber: 1,
    category: "exploration",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "mindmap-image", type: "image", label: "Mindmap" },
    ],
  },
  {
    id: "reformulation-problematique",
    templateId: "reformulation-problematique",
    title: "Reformulation Problématique",
    subtitle: "Reformuler la problématique et explorer des idées de solution",
    week: 1,
    day: 3,
    exerciseNumber: 2,
    category: "exploration",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
      { id: "rappel-problematique", type: "textarea", label: "Rappel de la Problématique", rows: 3 },
      { id: "reformulation-1", type: "textarea", label: "Reformulation 1", rows: 3 },
      { id: "idees-solution-1", type: "textarea", label: "Idées de Solution 1", rows: 3 },
      { id: "reformulation-2", type: "textarea", label: "Reformulation 2", rows: 3 },
      { id: "idees-solution-2", type: "textarea", label: "Idées de Solution 2", rows: 3 },
      { id: "reformulation-3", type: "textarea", label: "Reformulation 3", rows: 3 },
      { id: "idees-solution-3", type: "textarea", label: "Idées de Solution 3", rows: 3 },
    ],
  },
  {
    id: "whiteboard-ideation",
    templateId: "whiteboard-ideation",
    title: "Zones Flous / Mot clés",
    subtitle: "Placez vos mots-clés et questions librement sur le tableau",
    week: 1,
    day: 3,
    exerciseNumber: 3,
    category: "exploration",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
    ],
  },

  // ═══════════════════════════════════════════════════════════════════════════
  // JOUR 4 - Benchmarks
  // ═══════════════════════════════════════════════════════════════════════════

  {
    id: "benchmark-sectoriel",
    templateId: "benchmark-sectoriel",
    title: "Benchmark Sectoriel",
    subtitle: "Analyser les solutions existantes dans votre secteur",
    week: 1,
    day: 4,
    exerciseNumber: 4,
    category: "exploration",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
    ],
  },
  {
    id: "benchmark-crosssectoriel",
    templateId: "benchmark-crosssectoriel",
    title: "Benchmark Crosssectoriel",
    subtitle: "S'inspirer de solutions d'autres secteurs",
    week: 1,
    day: 4,
    exerciseNumber: 5,
    category: "exploration",
    inputFields: [
      { id: "team", type: "text", label: "Équipe" },
      { id: "date", type: "text", label: "Date" },
    ],
  },
];


// Combined list of all canvases
export const allCanvases: CanvasTemplate[] = [...week1Canvases, ...week2Canvases, ...week3Canvases];

// Helper functions
export function getCanvasesByWeek(week: Week): CanvasTemplate[] {
  if (week === 1) return week1Canvases;
  if (week === 2) return week2Canvases;
  return week3Canvases;
}

export function getCanvasesByDay(week: Week, day: Day): CanvasTemplate[] {
  const weekCanvases = getCanvasesByWeek(week);
  return weekCanvases.filter((canvas) => canvas.day === day);
}

export function getCanvasById(id: string): CanvasTemplate | undefined {
  return allCanvases.find((canvas) => canvas.id === id);
}

export function getDaysForWeek(week: Week): Day[] {
  if (week === 1) return [3, 4, 5]; // Week 1 only has days 3-5
  return [1, 2, 3, 4, 5];
}

export function getDayLabel(day: Day): string {
  const labels: Record<Day, string> = {
    1: "Jour 1",
    2: "Jour 2",
    3: "Jour 3",
    4: "Jour 4",
    5: "Jour 5",
  };
  return labels[day];
}

export function getWeekDescription(week: Week): string {
  if (week === 1) return "5 canevas";
  if (week === 2) return "19 canevas";
  return "12 canevas";
}

export function getDayDescription(week: Week, day: Day): string {
  if (week === 1) {
    const descriptions: Record<Day, string> = {
      1: "Jour 1",
      2: "Jour 2",
      3: "Jour 3",
      4: "Jour 4",
      5: "Jour 5",
    };
    return descriptions[day];
  }
  if (week === 2) {
    const descriptions: Record<Day, string> = {
      1: "Exploration & Parties Prenantes",
      2: "Signaux Faibles & Personas",
      3: "Scénarios & Validation",
      4: "Impact & Concepts",
      5: "Parcours & Transition",
    };
    return descriptions[day];
  }
  const descriptions: Record<Day, string> = {
    1: "Rappel & Hypothèses",
    2: "Entretiens & Insights",
    3: "Journey & Benchmark",
    4: "Évaluation & Sélection",
    5: "Récit & Prototype",
  };
  return descriptions[day];
}
