diff --git a/public/index.html b/public/index.html index 7f18121..eb27b1b 100644 --- a/public/index.html +++ b/public/index.html @@ -351,9 +351,10 @@ window.dispatchEvent(new Event('tiptap-loaded')); .binder-scene.active { background: var(--accent); color: #fff; } .dark .binder-scene.active { color: var(--bg); } .binder-scene .scene-status { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; } - .binder-scene .scene-status.posee { background: #5a7a3a; } + .binder-scene .scene-status.validee { background: #5a7a3a; } .binder-scene .scene-status.a-etudier { background: #c4a030; } - .binder-scene .scene-status.germe { background: #a08a76; } + .binder-scene .scene-status.abandonnee { background: #a08a76; } + .binder-scene .scene-status.en-conflit { background: #8b3030; } .binder-scene .scene-words { font-size: 11px; color: var(--text-light); margin-left: auto; white-space: nowrap; } .binder-scene.active .scene-words { color: rgba(255,255,255,0.6); } @@ -380,6 +381,10 @@ window.dispatchEvent(new Event('tiptap-loaded')); .editor-saving { position: fixed; bottom: 20px; right: 20px; background: var(--accent); color: var(--bg); padding: 8px 18px; border-radius: 8px; font-size: 13px; font-family: 'Lora', serif; opacity: 0; transition: opacity 0.3s; z-index: 200; pointer-events: none; } .editor-saving.show { opacity: 1; } .word-count { font-size: 12px; color: var(--text-hint); padding: 8px 32px; border-top: 1px solid var(--border-light); background: var(--bg); } + .binder-legend { padding: 12px 20px; border-top: 1px solid var(--border); margin-top: auto; } + .binder-legend-title { font-size: 11px; color: var(--text-hint); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; } + .binder-legend-item { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--text-muted); margin-bottom: 3px; } + .binder-legend-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; } /* Comments */ .comment-mark { cursor: pointer; border-radius: 2px; padding: 1px 0; } @@ -1645,6 +1650,27 @@ function buildBinder() { totalDiv.style.cssText = 'padding: 16px 20px; margin-top: 12px; border-top: 1px solid var(--border); font-size: 12px; color: var(--text-hint);'; totalDiv.textContent = totalWords > 0 ? `Total : ${totalWords.toLocaleString('fr-FR')} mots` : ''; binder.appendChild(totalDiv); + + // Legend — static content, no user input + const legend = document.createElement('div'); + legend.className = 'binder-legend'; + const legendTitle = document.createElement('div'); + legendTitle.className = 'binder-legend-title'; + legendTitle.textContent = 'Statuts'; + legend.appendChild(legendTitle); + [['#c4a030', 'À étudier'], ['#5a7a3a', 'Validée'], ['#a08a76', 'Abandonnée'], ['#8b3030', 'En conflit']].forEach(([color, label]) => { + const item = document.createElement('div'); + item.className = 'binder-legend-item'; + const dot = document.createElement('span'); + dot.className = 'binder-legend-dot'; + dot.style.background = color; + const txt = document.createElement('span'); + txt.textContent = label; + item.appendChild(dot); + item.appendChild(txt); + legend.appendChild(item); + }); + binder.appendChild(legend); } async function openScene(scene) {