Commit Graph

70 Commits

Author SHA1 Message Date
Etienne Delvarre 4a8cf8302e Fix couleurs colonnes Début/Milieu/Fin (sélecteurs CSS) 2026-07-23 15:11:19 +02:00
Etienne Delvarre 17d063a2f7 Renommage Acte 1/2/3 → Début/Milieu/Fin 2026-07-23 15:08:56 +02:00
Etienne Delvarre acd09c92e6 Pipeline de stades : 3 sections (À revoir / À garder / À étudier) + renommage Notes + zone collapsible 2026-07-23 11:32:00 +02:00
Etienne Delvarre 04b436a9c7 Ajoute un sélecteur de tags existants dans la modale fiche idée 2026-06-22 18:12:17 +02:00
Etienne Delvarre 16f8bf578c Scission HTML/CSS/JS, fix drag-and-drop superposition, Prologue/Épilogue 2026-06-05 17:57:03 +02:00
Etienne Delvarre e74e65bd90 Restauration d'archive → toujours en liste d'attente
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-03 15:42:47 +02:00
Etienne Delvarre 2c170f9ef2 Archives — panneau des fiches supprimées avec restauration
Bouton Archives dans la barre de filtres de la frise.
Panneau latéral listant les fiches supprimées avec aperçu complet.
Restauration recrée la fiche dans la frise.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-03 15:34:27 +02:00
Etienne Delvarre 8a88e6a8f0 Séparation visuelle entre commentaires et boutons d'action
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-03 15:07:08 +02:00
Etienne Delvarre 256887266a Réorganisation boutons modales — Supprimer à gauche, actions à droite
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-03 15:01:47 +02:00
Etienne Delvarre 09c968b2a2 Bouton Rédiger dans la fiche frise — lien direct vers l'éditeur
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-03 14:51:16 +02:00
Etienne Delvarre 754bc47abd Historique des versions — frise + rédaction
Table NocoDB Versions (Type, RecordId, Snapshot, Label).
Snapshots auto avant chaque modification de fiche frise et de texte rédigé.
Archive avant suppression de fiche. Panneau latéral avec aperçu et restauration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-03 14:34:17 +02:00
Etienne Delvarre e52878d599 Ressources: clickable links, auto video thumbnails (YouTube/Vimeo)
- Card shows clickable domain link with external-link icon
- Modal shows "Ouvrir le lien" under URL field
- Auto-generates thumbnail from YouTube/Vimeo URLs when no image uploaded
- Card rendering switched from innerHTML to DOM methods

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-03 13:50:54 +02:00
Etienne Delvarre ff496d1d2d Personnages: portrait image, scene list moved to modal, card shows count only
- Add portrait upload (reuses ressource-upload endpoint)
- Card shows portrait image, truncated description, scene count badge
- Modal shows full detail + scene list grouped by acte with links
- Removes long scene list from card preview

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-03 13:33:52 +02:00
Etienne Delvarre 5d987e1824 Fix Vision list hover layout shift — use visibility instead of display for remove button
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-03 13:28:51 +02:00
Etienne Delvarre ceb1dad871 Fix Ressources: align URL field with NocoDB column name (Lien), add Tags column
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-03 13:11:12 +02:00
Etienne Delvarre cb80b7ccd1 Fix Vision: remove height slider, fix multiline save in list descriptions
- Remove hero height slider (unnecessary UI element)
- Use innerText instead of textContent for description save/restore
  to preserve line breaks in "Ce qu'on veut / ne veut pas" items

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-03 11:48:59 +02:00
Etienne Delvarre 2bea3eb4de Fix scene links order on character cards — sort by acte then ordre
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-03 11:44:06 +02:00
Etienne Delvarre 291bf5e973 feat: statuts → tags, panneau fiche, personnages enrichis, icônes SVG
- Statut absorbé par les tags (migration serveur, couleurs réservées, pas d'exclusivité)
- Dropdown Statut supprimé (frise, rédaction, modale)
- Filtre par tag ajouté en page Rédaction
- Panneau fiche sticky en Rédaction (résumé, intérêt narratif, implications, tags, personnages, commentaires)
- Fiches personnages : champs Origines et influences + Backstory (migration NocoDB)
- Liens scènes automatiques sur les fiches personnages
- Markdown (marked.js + DOMPurify) sur les fiches personnages
- Icônes SVG sidebar (étoile, frise, crayon, avatar, livre)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-03 11:19:54 +02:00
etienne-delvarre 6dc7fd5659 fix: intervertir boutons commentaire (auteur a gauche, envoyer a droite) 2026-05-31 12:46:46 +00:00
etienne-delvarre 8fecee5984 fix: boutons commentaire sous le textarea 2026-05-31 12:45:47 +00:00
etienne-delvarre b6a2514c45 feat: ajout commentaires sur les fiches de la frise (fil de discussion E/M) 2026-05-31 12:42:33 +00:00
etienne-delvarre fec391d7f3 feat: ajout systeme de likes E/M sur les fiches de la frise 2026-05-31 12:26:47 +00:00
Etienne Delvarre e8e8a823b8 Légende statuts en haut du Binder
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 17:52:20 +02:00
Etienne Delvarre 4a38f4c24c Fix légende Binder + persistance vue active au refresh
- Binder en flex column pour que la légende apparaisse
- Vue active sauvegardée dans localStorage, restaurée au chargement

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 17:49:35 +02:00
Etienne Delvarre f715f83918 Légende statuts dans le Binder + màj statuts CSS
- Légende en bas du Binder (points colorés + labels)
- CSS statuts alignés sur NocoDB (Validée, À étudier, Abandonnée, En conflit)
- Suppression référence Germe/Posée dans le code

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 17:42:23 +02:00
Etienne Delvarre 526b598769 Bug commentaires + statuts + ajout personnage depuis l'app
- Fix parseHTML commentaires (attributs perdus au rechargement)
- Statut: Posée → Validée, Germe supprimé (17 fiches migrées)
- Bouton "+" pour ajouter un personnage directement depuis le formulaire
- Zone "Après l'histoire" sur la frise (couleur prune)
- Icône frise harmonisée (symbole plat)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 17:32:00 +02:00
Etienne Delvarre e5706aa50a Ajout zone "Après l'histoire" + icône frise harmonisée
- Nouvelle section frise avec couleur prune (#8a6a8a)
- CSS light + dark theme
- Option ajoutée dans NocoDB
- Icône frise: sablier emoji remplacé par symbole plat

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 16:19:52 +02:00
Etienne Delvarre 970c190fd6 Baisse luminosité mode clair — palette moyenne
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 16:13:10 +02:00
Etienne Delvarre dc81db3c2d fix: comment deletion targets the clicked comment span, not cursor selection
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 15:31:45 +02:00
Etienne Delvarre eebb9cfa69 feat: moodboard card reordering via drag handle
Grip handle (⠿) appears on hover, drag to reorder cards.
Separate from image repositioning (which uses direct mousedown on image).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 14:55:33 +02:00
Etienne Delvarre 7466616675 fix: moodboard no-repeat + higher res uploads (1200px instead of 400px)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 14:53:47 +02:00
Etienne Delvarre 405a249ed0 feat: larger moodboard cards (220px) + mouse wheel zoom on images
- Cards wider for better visual presence
- Scroll wheel zooms in/out (100-400%)
- Drag sensitivity adjusts with zoom level
- Zoom level persisted per image

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 14:48:43 +02:00
Etienne Delvarre e896d91681 fix: update visionData cache immediately before network save
Prevents stale reads when renderMoodboard runs after saveVisionSection

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 14:41:53 +02:00
Etienne Delvarre 0512a11d86 fix: unique filenames for hero and moodboard uploads (prevent overwrite)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 14:38:42 +02:00
Etienne Delvarre 4c31b3ad97 fix: moodboard drag — dead zone, reduced sensitivity, no drag/dblclick conflict
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 14:35:01 +02:00
Etienne Delvarre 9ee2960b77 feat: reorganize Vision layout + moodboard image drag repositioning
- Phrase + Tags side by side (2 columns)
- Moodboard full width
- Synopsis full width
- On veut / On ne veut pas as separate cards (2 columns)
- Moodboard images: drag to reposition in any direction (2D)
- Double-click to replace image, single-click to upload on empty

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 14:30:07 +02:00
Etienne Delvarre e95eedd1b8 revert: use background-size cover for hero banner (square images + drag)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 14:02:25 +02:00
Etienne Delvarre e1c5d4516d fix: hero image full width with background-size 100% auto
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 13:56:48 +02:00
Etienne Delvarre a4cde29a9e Simplify tags: free text only, no categories
Remove type system (ambiance/epoque/rythme/genre/theme).
Tags are now plain strings. Old format auto-migrated.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 12:56:45 +02:00
Etienne Delvarre 1f0087c73b Simplify moodboard: free images + editable captions
- Remove category/label system, replace with free text captions
- Click image area to upload, caption editable below
- Images uploaded as files to server (same as hero, avoids NocoDB limit)
- Wider cards (160px min), cleaner layout

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 12:55:53 +02:00
Etienne Delvarre ea396c7bde Hero image: use contain instead of cover (show full image)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 12:52:54 +02:00
Etienne Delvarre 951eb2ce25 Fix hero image zoom on theme switch
Use background-image instead of background shorthand to prevent
background-size: cover from being reset when toggling dark/light.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 11:51:54 +02:00
Etienne Delvarre c518e01738 Fix hero image persistence: file upload instead of NocoDB base64
NocoDB LongText field has ~95KB limit, hero image is ~456KB base64.
New approach: POST /api/hero-upload saves image as file in /public/uploads/,
NocoDB stores only the path. Docker volume configured for persistence.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 11:49:43 +02:00
Etienne Delvarre 751db0c85c Add inline comments on text passages
Collaborative annotation system:
- Select text + click "Commenter" → enter author (E/M) + comment
- Highlighted text with author-colored underline (green=Etienne, terra=Myriam)
- Click highlighted passage → popup shows comment, author, date
- Delete comment from popup
- Comments stored as marks in HTML (no separate table needed)
- Custom TipTap Mark extension loaded via esm.sh

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 11:42:14 +02:00
Etienne Delvarre 0b763ae9f4 Fix TipTap loading: use esm.sh instead of non-existent UMD builds
TipTap 2.x is ESM-only, no UMD on CDN. Use esm.sh to serve
ES modules from npm, expose as window globals.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 11:36:05 +02:00
Etienne Delvarre 709d9e0ce6 Add Rédaction view: Binder + TipTap editor
Phase 1 of Solution 3 (Scrivener-inspired writing environment):
- Binder panel: scenes grouped by act, status indicators, word counts
- TipTap rich text editor with toolbar (bold, italic, headings, lists, blockquote)
- Auto-save after 1.5s of inactivity
- New NocoDB table "Contenu" (SceneId, Texte, Mots)
- API routes: GET/PUT /api/contenu/:sceneId, GET /api/contenu (word counts)
- Total word count in binder footer
- Navigation: Vision / Frise / Rédaction

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 11:32:40 +02:00
Etienne Delvarre 73dd0e0625 Increase Express JSON body limit to 5MB
Default 100KB was silently rejecting hero image uploads (~456KB base64).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 11:22:15 +02:00
Etienne Delvarre e4fe3a6c64 Vision layout overhaul: moodboard + expandable list items
- Replace Inspirations with Moodboard (image cards with labels)
- Tags and Moodboard on same row (two columns)
- Ce qu'on veut/ne veut pas: items now support title + expandable
  description (click "développer" to add detail text)
- Backwards compatible: old plain-string list items auto-migrate
- Fix hero-meta default height to 400px
- Moodboard images resized to 400px, JPEG 0.8 quality

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 11:20:36 +02:00
Etienne Delvarre 90e07ae692 Increase default hero banner height to 400px
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 11:11:10 +02:00
Etienne Delvarre cf7e8e1144 Soften three-words text color on hero banner
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 11:09:33 +02:00