diff --git a/flow-state/gallery.html b/flow-state/gallery.html index de2cb35..6c56f5c 100644 --- a/flow-state/gallery.html +++ b/flow-state/gallery.html @@ -18,11 +18,27 @@ background: #171b24; color: #d6dae3; border: 1px solid #2a3040; padding: 5px 10px; font: inherit; border-radius: 3px; cursor: pointer; } - button:hover { border-color: #4a5468; } + button:hover:not(:disabled) { border-color: #4a5468; } + button:disabled { opacity: .5; cursor: default; } #status { color: #8b94a7; margin-left: 10px; } + #status.cached { color: #4ade80; } .ctx { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0 0; font-size: 11px; color: #6b7280; } .ctx span { background: #11141b; padding: 3px 7px; border-radius: 3px; } + /* Building blocks the main thread in bursts, so the spinner is a CSS + animation — it keeps turning through the GPU work where a JS-driven one + would freeze and look like a hang. */ + .spinner { + display: none; width: 13px; height: 13px; vertical-align: -2px; + border: 2px solid #2a3040; border-top-color: #7dd3fc; border-radius: 50%; + animation: spin .8s linear infinite; margin-right: 6px; + } + .building .spinner { display: inline-block; } + @keyframes spin { to { transform: rotate(360deg); } } + #progress { height: 2px; background: #1a1e28; margin-top: 8px; border-radius: 2px; overflow: hidden; display: none; } + .building #progress { display: block; } + #progress i { display: block; height: 100%; width: 0; background: #7dd3fc; transition: width .2s; } + .row { margin-bottom: 22px; border-left: 3px solid #232838; padding-left: 12px; } .row.flat { border-color: #ef4444; } .row.thin { border-color: #eab308; } @@ -38,7 +54,7 @@ .blocks { color: #5c6577; font-size: 11px; } .thumbs { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; } .thumbs figure { margin: 0; } - .thumbs canvas { width: 100%; display: block; background: #05070a; border-radius: 2px; } + .thumbs canvas { width: 100%; display: block; background: #05070a; border-radius: 2px; aspect-ratio: 16 / 9; } .thumbs figcaption { font-size: 10px; color: #565f70; margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .err { color: #f87171; } @media (max-width: 1100px) { .thumbs { grid-template-columns: repeat(3, 1fr); } } @@ -55,51 +71,57 @@ one image. ← all debug tools
-