// Histoire, matières, procédé et citations affichés dans la lightbox des
// croquis PROTO. Le descriptif (matières/fabrication/histoire) est partagé
// entre les variantes d'une même pièce (flat + porté = le même objet),
// mais les citations des artistes sont uniques à chaque image précise —
// pas juste répétées d'une variante à l'autre de la même pièce.
interface SketchDetails {
  piece: string
  materials: string
  process: string
  story: string
}

interface SketchQuotes {
  stylistQuote: string
  designerQuote: string
  // Le quatuor compte aussi l'électronicien — une seule prise de parole,
  // comme le styliste ou la graphiste.
  electricianQuote: string
}

export type SketchStory = SketchDetails & SketchQuotes

// Descriptif partagé par pièce (recherche par sous-chaîne dans le nom de
// fichier — convention omt-hoodie-*, omt-sweat-*...).
const GARMENT_DETAILS: { match: string; details: SketchDetails }[] = [
  {
    match: "hoodie",
    details: {
      piece: "Hoodie",
      materials:
        "Coton bio épais (400g/m²) doublé intérieur brossé, empiècements Cordura aux coudes, patch O.M.T brodé.",
      process:
        "Coupe oversize à panneaux articulés, broderie appliquée à plat avant assemblage, surpiqûres renforcées aux points de tension.",
      story:
        "Pièce socle du drop, portée aussi bien par le beatmaker que par le MC. Le patch O.M.T embossé ne se lit que de près, comme un mot de passe entre habitués. Sous le kangourou, la doublure garde la chaleur des sessions qui durent jusqu'au bout de la nuit.",
    },
  },
  {
    match: "sweat",
    details: {
      piece: "Sweat",
      materials: "Coton bio molletonné, sangle nylon technique, patch O.M.T brodé sur la poitrine.",
      process:
        "Construction raglan pour une liberté de mouvement maximale, poignets et ourlet côtelés tissés en une seule pièce.",
      story:
        "La version dépouillée du vestiaire O.M.T. Sans capuche, pour ne rien masquer du visage sous les néons. Même sangle asymétrique que le reste de la collection — un vestiaire pensé comme un tout, pas comme des pièces isolées.",
    },
  },
  {
    match: "tshirt",
    details: {
      piece: "T-shirt",
      materials: "Jersey technique respirant, encre sérigraphiée mate résistante au lavage.",
      process:
        "Coupe oversize à même le tissu, col cranté renforcé, impression posée à plat avant montage pour un rendu net et durable.",
      story:
        "La couche qu'on porte quand tout le reste du drop est enlevé. Le plus proche du corps, le premier à sentir la ville. Le O.M.T y est imprimé au centre, sans fioriture, comme une évidence.",
    },
  },
  {
    match: "cap",
    details: {
      piece: "Casquette",
      materials: "Ripstop 6 panneaux, visière pré-courbée renforcée, patch O.M.T brodé.",
      process:
        "Panneaux thermoscellés pour une structure rigide même sous la pluie, œillets métalliques pour l'aération.",
      story:
        "Le premier repère qu'on aperçoit dans la brume. Visière courbée pour cacher le regard, patch O.M.T sur le devant pour ne rien cacher du reste.",
    },
  },
  {
    match: "beanie",
    details: {
      piece: "Bonnet",
      materials: "Laine mérinos et acrylique côtelé, étiquette tissée O.M.T.",
      process:
        "Tricotage circulaire sans couture, revers double épaisseur pour la chaleur, finition rentrée à la main.",
      story:
        "La pièce des sessions les plus froides. Revers replié comme un dernier rempart avant l'aube, étiquette tissée discrète — pensé pour ceux qui restent dehors plus longtemps que les autres.",
    },
  },
  {
    match: "sneakers",
    details: {
      piece: "Sneakers",
      materials: "Empeigne mesh technique et Cordura, semelle EVA articulée, languette brodée O.M.T.",
      process:
        "Semelle moulée par injection pour l'amorti, tige thermosoudée sans coutures visibles, laçage plat technique.",
      story:
        "Semelle articulée, conçue pour tenir la cadence d'une nuit entière entre le studio et la rue. Le O.M.T brodé sur la languette, un repère qu'on ne voit qu'en se penchant.",
    },
  },
  {
    match: "jacket",
    details: {
      piece: "Veste néoprène",
      materials: "Néoprène fin 2mm doublé jersey, fermeture étanche asymétrique, patch O.M.T thermocollé.",
      process:
        "Panneaux moulés à chaud pour une silhouette seconde peau, coutures soudées (pas cousues) pour une étanchéité totale.",
      story:
        "La pièce la plus technique du drop — seconde peau moulée en néoprène fin, pour les nuits où la pluie ne s'arrête pas. Fermeture asymétrique, silhouette sculpturale, le O.M.T comme seule signature visible.",
    },
  },
  {
    match: "holster",
    details: {
      piece: "Holster",
      materials:
        "Cordura balistique, sangles tactiques ajustables, quincaillerie mate anti-reflet, patch O.M.T brodé.",
      process:
        "Compartiments thermoformés sur mesure, sangles cousues en croix pour résister à la traction, boucles à clip rapide.",
      story:
        "Pensé pour porter le matériel sans jamais lâcher le rythme — câbles, clés USB, ce qu'il faut pour une session improvisée. Sangles ajustables, compartiments multiples : le strict nécessaire du beatmaker en mouvement.",
    },
  },
  {
    match: "glove",
    details: {
      piece: "Gants",
      materials: "Ripstop technique renforcé, paume en cuir fin, patch O.M.T brodé sur le dos de la main.",
      process:
        "Panneaux articulés à hauteur des jointures pour ne pas gêner la prise, sangle réglable au poignet, renforts thermoscellés sur les doigts.",
      story:
        "La pièce qu'on oublie jusqu'à ce qu'il fasse trop froid pour tenir un câble à mains nues. Suffisamment fins pour rester précis sur une table de mix, assez solides pour tenir toute une nuit dehors.",
    },
  },
  {
    match: "nosecover",
    details: {
      piece: "Cache-nez",
      materials: "Ripstop et mesh technique respirant, sangle ajustable, patch O.M.T brodé sur le côté.",
      process:
        "Coque moulée à la forme du visage pour ne pas glisser, mesh latéral pour respirer sous la capuche, boucle de réglage rapide.",
      story:
        "La dernière pièce qu'on enfile avant de sortir, celle qui efface le visage. Pas un accessoire de saison, mais une évidence pour quiconque a déjà traversé Bruxelles en plein hiver après une session.",
    },
  },
]

// Citations propres à chaque image précise (pas à la pièce en général) —
// une variante flat et une variante portée de la même pièce racontent deux
// moments différents, donc deux citations différentes.
const IMAGE_QUOTES: { match: string; quotes: SketchQuotes }[] = [
  {
    match: "omt-hoodie-flat",
    quotes: {
      stylistQuote:
        "Sur le mannequin plat, on voit tout de suite l'ampleur du kangourou — c'est la poche qui a pris le plus de temps à régler.",
      designerQuote:
        "Le patch se fond presque dans le tissu ici, tant qu'il n'y a personne dedans pour lui donner du relief.",
      electricianQuote: "Le fil conducteur passe dans la couture du kangourou, invisible tant que le hoodie est à plat.",
    },
  },
  {
    match: "omt-hoodie-model",
    quotes: {
      stylistQuote:
        "Porté, la coupe tombe différemment — c'est ce mouvement-là que je voulais depuis le premier essayage.",
      designerQuote: "Sur le corps, le patch capte enfin la lumière — c'est le moment où la pièce devient le drop.",
      electricianQuote: "Porté, le fil chauffe légèrement la poche — personne ne le remarque avant qu'on lui dise.",
    },
  },
  {
    match: "omt-sweat-flat",
    quotes: {
      stylistQuote: "À plat, on distingue bien la construction raglan — c'est elle qui donne cette liberté d'épaule.",
      designerQuote: "Le O.M.T brodé ressort net sur le calque studio, presque comme un logo d'archive.",
      electricianQuote: "Pas de LED ici — j'ai préféré garder cette pièce totalement propre, sans rien à charger.",
    },
  },
  {
    match: "omt-sweat-model-1",
    quotes: {
      stylistQuote: "Porté avec la sangle croisée, le sweat change complètement de silhouette.",
      designerQuote: "La sangle vient couper la surface — c'est elle qui donne du rythme à une pièce très sobre.",
      electricianQuote: "La sangle croisée sert aussi de chemin de câble quand le holster est porté par-dessus.",
    },
  },
  {
    match: "omt-sweat-model-2",
    quotes: {
      stylistQuote: "Cette pose montre bien comment le sweat garde sa forme même en mouvement.",
      designerQuote: "Le petit repère près du col se voit à peine ici — exactement ce qu'on cherchait.",
      electricianQuote:
        "Même en mouvement, aucun composant ne bouge sous le tissu — c'est le seul vêtement du drop sans électronique.",
    },
  },
  {
    match: "omt-tshirt-flat",
    quotes: {
      stylistQuote: "Le t-shirt à plat, c'est la pièce la plus honnête du drop — rien à cacher dans la coupe.",
      designerQuote: "L'impression centrée fonctionne même sans corps pour la porter, c'est bon signe.",
      electricianQuote: "L'encre du print n'est pas conductrice, contrairement à ce qu'on pense en le voyant de loin.",
    },
  },
  {
    match: "omt-tshirt-model-1",
    quotes: {
      stylistQuote: "Porté superposé, on voit qu'il a été pensé pour être une base, pas une pièce isolée.",
      designerQuote:
        "Le tatouage qui dépasse de la manche crée un contraste qu'on n'avait pas anticipé, mais qui fonctionne.",
      electricianQuote: "Porté sous le hoodie, le t-shirt cache la nappe de fils qui va jusqu'à la poche kangourou.",
    },
  },
  {
    match: "omt-tshirt-model-2",
    quotes: {
      stylistQuote: "Cette silhouette de dos montre bien la longueur — volontairement un peu plus longue que la norme.",
      designerQuote: "Le petit repère en bas du dos ne se voit que si on cherche — c'est le principe.",
      electricianQuote: "De dos, on devine à peine le renfort qui empêche le fil de frotter contre la colonne.",
    },
  },
  {
    match: "omt-cap-flat",
    quotes: {
      stylistQuote: "La visière pré-courbée se voit bien ici — elle garde sa forme dès la sortie de la boîte.",
      designerQuote: "Le patch brodé en relief est posé légèrement de travers exprès, pour casser la symétrie.",
      electricianQuote: "Le petit boîtier sous la visière fait à peine plus gros qu'une pièce de monnaie.",
    },
  },
  {
    match: "omt-cap-model",
    quotes: {
      stylistQuote: "Portée basse, la visière fait vraiment disparaître le regard — exactement l'effet recherché.",
      designerQuote:
        "Sous cet angle, le repère caché sur le côté devient presque visible — un clin d'œil pour qui sait regarder.",
      electricianQuote: "Portée, la lumière de la visière ne se voit que si on baisse la tête — comme un clin d'œil au public.",
    },
  },
  {
    match: "omt-beanie-flat",
    quotes: {
      stylistQuote: "Le tricot circulaire se voit bien à plat, sans une seule couture visible.",
      designerQuote: "L'étiquette tissée est minuscule volontairement — cette pièce ne cherche pas l'attention.",
      electricianQuote: "Le fil chauffant est tricoté directement dans la laine, invisible même en la retournant.",
    },
  },
  {
    match: "omt-beanie-model",
    quotes: {
      stylistQuote: "Porté, le revers vient juste au-dessus des sourcils — c'est la limite exacte qu'on voulait.",
      designerQuote: "Le bonnet capte moins la lumière que les autres pièces, et c'est très bien comme ça.",
      electricianQuote: "Porté, on sent la chaleur monter en quelques minutes — personne ne devine pourquoi.",
    },
  },
  {
    match: "omt-sneakers-flat",
    quotes: {
      stylistQuote:
        "En suspension, on voit toute l'architecture de la semelle — c'est elle qui a pris le plus de prototypes.",
      designerQuote: "Le petit repère près du talon n'est visible que sous cet angle précis.",
      electricianQuote: "Le capteur de pas est logé dans le talon, scellé avant même le montage de la semelle.",
    },
  },
  {
    match: "omt-sneakers-model",
    quotes: {
      stylistQuote: "Portées, on sent tout de suite pourquoi la semelle est articulée à cet endroit précis.",
      designerQuote: "Le reflet mouillé du bitume fait presque plus briller la semelle que le logo.",
      electricianQuote:
        "Chaque pas déclenche une mesure invisible ; le seul retour, c'est une vibration légère au bout de la nuit.",
    },
  },
  {
    match: "omt-jacket-neo-flat",
    quotes: {
      stylistQuote:
        "À plat, les panneaux moulés se voient enfin sans la déformation du corps — c'est là qu'on juge vraiment la coupe.",
      designerQuote: "Les coutures soudées sont presque invisibles ici, exactement l'effet seconde peau qu'on cherchait.",
      electricianQuote:
        "Le port étanche pour la batterie est thermosoudé dans la même opération que les coutures du néoprène.",
    },
  },
  {
    match: "omt-jacket-neo-model",
    quotes: {
      stylistQuote: "C'est la pièce la plus technique du drop — pensée pour ceux qui restent dehors quoi qu'il arrive.",
      designerQuote: "La silhouette fait tout le travail ; le logo est presque un détail à côté de la forme.",
      electricianQuote: "Portée sous la pluie, l'étanchéité du boîtier compte plus que celle du tissu lui-même.",
    },
  },
  {
    match: "omt-holster-flat-1",
    quotes: {
      stylistQuote: "Vu de face, chaque sangle a sa fonction précise — rien n'est là pour la forme.",
      designerQuote: "Le patch frontal est la seule vraie signature visible sur cette pièce.",
      electricianQuote: "Chaque compartiment a sa longueur de câble calculée pour ne jamais tirer sur les connecteurs.",
    },
  },
  {
    match: "omt-holster-flat-2",
    quotes: {
      stylistQuote:
        "De ce côté, on voit les compartiments secondaires — pensés pour les câbles qu'on oublie toujours.",
      designerQuote: "Le petit repère sur la bretelle ne se voit qu'en changeant d'angle, comme ici.",
      electricianQuote:
        "Le compartiment secondaire cache le hub USB — la vraie pièce technique du drop est là, pas dans un vêtement.",
    },
  },
  {
    match: "omt-holster-model-1",
    quotes: {
      stylistQuote: "Porté en bandoulière, le poids se répartit exactement comme prévu sur l'essayage.",
      designerQuote: "Sur le corps, les sangles dessinent une ligne qui structure toute la silhouette du drop.",
      electricianQuote: "Porté en bandoulière, les câbles descendent sans jamais se voir sous la veste.",
    },
  },
  {
    match: "omt-holster-model-2",
    quotes: {
      stylistQuote: "Cette pose montre bien comment la pièce reste plaquée même en mouvement rapide.",
      designerQuote:
        "C'est l'angle où le repère caché est le plus proche de disparaître complètement — presque raté, presque parfait.",
      electricianQuote:
        "Même en mouvement rapide, aucun connecteur ne se débranche — on a testé ça plus que le reste de la collection.",
    },
  },
  {
    match: "omt-glove-flat",
    quotes: {
      stylistQuote:
        "À plat, on voit bien l'articulation aux jointures — c'est ce détail qui a demandé le plus d'essayages.",
      designerQuote: "Le petit repère sur le poignet est de la même couleur que le patch, presque invisible ici.",
      electricianQuote:
        "Le bout des doigts est doublé de fil conducteur pour rester tactile sur un écran ou une table de mix.",
    },
  },
  {
    match: "omt-glove-model",
    quotes: {
      stylistQuote: "Porté, on comprend pourquoi la paume est restée fine — il fallait pouvoir tenir un câble sans y penser.",
      designerQuote: "Le O.M.T se lit net quand la main se referme, presque comme un geste volontaire.",
      electricianQuote: "Porté, on peut toucher un écran sans jamais retirer le gant — c'était toute la contrainte du projet.",
    },
  },
  {
    match: "omt-nosecover-flat",
    quotes: {
      stylistQuote: "La coque est moulée pour épouser l'arête du nez — sans ça, elle aurait glissé toute la nuit.",
      designerQuote: "C'est la pièce la plus discrète du drop, presque une pièce technique plutôt qu'un vêtement.",
      electricianQuote: "Pas d'électronique ici — certaines pièces méritent de rester entièrement analogiques.",
    },
  },
  {
    match: "omt-nosecover-model",
    quotes: {
      stylistQuote: "Portée avec la capuche, elle finit ce que le hoodie avait commencé — plus rien du visage ne dépasse.",
      designerQuote: "C'est la seule pièce du drop pensée pour effacer complètement une identité, pas pour l'affirmer.",
      electricianQuote: "La seule pièce du drop qui n'a jamais vu un fil — et c'est très bien comme ça.",
    },
  },
]

const FALLBACK: SketchStory = {
  piece: "O.M.T",
  materials: "Néoprène et Cordura, dans l'esprit matières du reste du drop.",
  process: "Fabriqué selon le même procédé que les autres pièces de la collection.",
  story: "Une pièce du drop O.M.T, pensée par PROTO dans le même esprit que le reste de la collection.",
  stylistQuote: "Chaque pièce du drop suit la même logique — rien n'est décoratif, tout doit servir à quelque chose.",
  designerQuote: "Le O.M.T reste discret sur chaque pièce, jamais imposé.",
  electricianQuote: "Chaque pièce du drop est pensée pour accueillir de l'électronique, même quand elle n'en a pas besoin.",
}

export function getSketchStory(src: string): SketchStory {
  const filename = src.toLowerCase()
  const details = GARMENT_DETAILS.find((g) => filename.includes(g.match))?.details ?? {
    piece: FALLBACK.piece,
    materials: FALLBACK.materials,
    process: FALLBACK.process,
    story: FALLBACK.story,
  }
  const quotes = IMAGE_QUOTES.find((q) => filename.includes(q.match))?.quotes ?? {
    stylistQuote: FALLBACK.stylistQuote,
    designerQuote: FALLBACK.designerQuote,
    electricianQuote: FALLBACK.electricianQuote,
  }
  return { ...details, ...quotes }
}
