diff --git a/trailer.html b/trailer.html index d5c52ee..cfc788d 100644 --- a/trailer.html +++ b/trailer.html @@ -97,6 +97,15 @@ #zoom img{max-width:100%;max-height:100%;border-radius:6px} #zoom .cap{position:fixed;left:0;right:0;bottom:10px;text-align:center;color:#ddd;font-size:13px} .shot{border-top:1px solid var(--line);padding:16px 0;display:flex;gap:16px} + .scenebar{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;border:0;border-radius:10px;padding:10px 14px;margin:14px 0 4px;cursor:pointer;font:inherit;font-size:14px;text-align:left;color:#fff} + .scenebar.ok{background:#1f7a3a} + .scenebar.todo{background:#a8322a} + .scenebar .n{font:12px var(--mono,monospace);opacity:.85;min-width:64px} + .scenebar .t{flex:1;font-weight:600} + .scenebar .st{font-size:12px;opacity:.9} + .scenebar .arrow{opacity:.8} + .sceneshare{display:flex;gap:8px;align-items:center;margin:0 0 8px;font-size:12px;color:var(--muted)} + .sharelink{font:12px var(--mono,monospace);word-break:break-all} .shot .num{width:40px;flex:none;color:var(--muted);font-variant-numeric:tabular-nums} .shot .body{flex:1;min-width:0} .shot h3{margin:0 0 3px;font-size:15px} @@ -1025,7 +1034,7 @@ // A CHAPTER IS A HUNDRED SHOTS. Twelve to a page, with back and next, so // the page stays quick and the author is never scrolling through a wall. - var per = 12, pages = shots.length > 24 ? Math.ceil(shots.length / per) : 1; + var per = 12, pages = (shots.length > 24 && !hasScenes(shots)) ? Math.ceil(shots.length / per) : 1; if (PAGE_FOR !== draft.id) { PAGE_FOR = draft.id; PAGE = 0; } PAGE = Math.max(0, Math.min(PAGE, pages - 1)); var shown = pages > 1 ? shots.slice(PAGE * per, (PAGE + 1) * per) : shots; @@ -1038,9 +1047,13 @@ + ' of ' + pages + '' + '' : ""; - var body = pager + (PAGE === 0 ? insertHtml("start") : ""); - shown.forEach(function (s) { body += shotHtml(s, voice) + insertHtml(s.id); }); - body += pager; + var body; + if (hasScenes(shots)) body = scenesHtml(shots, voice, draft); + else { + body = pager + (PAGE === 0 ? insertHtml("start") : ""); + shown.forEach(function (s) { body += shotHtml(s, voice) + insertHtml(s.id); }); + body += pager; + } DRAFTNOW = draft; return head + partsHtml(draft) + contestHtml() + guideHtml(meta) + probs + '
' @@ -1405,6 +1418,49 @@ return '