From b42199e5973293af0b9e98f253db991d9fe1c324 Mon Sep 17 00:00:00 2001 From: ZGaetano Date: Fri, 15 May 2026 21:25:29 -0400 Subject: [PATCH] fix: assets response shape, thumbnail lazy-load, bin sidebar wired up --- services/web-ui/public/index.html | 378 +++++++++++++++++++++--------- 1 file changed, 262 insertions(+), 116 deletions(-) diff --git a/services/web-ui/public/index.html b/services/web-ui/public/index.html index 5747e59..9d6262a 100644 --- a/services/web-ui/public/index.html +++ b/services/web-ui/public/index.html @@ -40,12 +40,8 @@ } @keyframes slideInRight { - from { - transform: translateX(100%); - } - to { - transform: translateX(0); - } + from { transform: translateX(100%); } + to { transform: translateX(0); } } .detail-header { @@ -71,9 +67,7 @@ height: 32px; } - .detail-close:hover { - color: var(--color-text-primary); - } + .detail-close:hover { color: var(--color-text-primary); } .detail-body { padding: var(--spacing-lg); @@ -81,9 +75,7 @@ overflow-y: auto; } - .detail-section { - margin-bottom: var(--spacing-lg); - } + .detail-section { margin-bottom: var(--spacing-lg); } .detail-section-title { font-size: 0.85rem; @@ -154,6 +146,7 @@ display: flex; gap: var(--spacing-sm); margin-bottom: var(--spacing-lg); + flex-wrap: wrap; } .filter-tag { @@ -187,8 +180,54 @@ transition: margin-right var(--transition-normal); } - .content-main.detail-open { - margin-right: 400px; + .content-main.detail-open { margin-right: 400px; } + + /* Thumbnail inside asset card */ + .card-thumbnail { + position: relative; + aspect-ratio: 16/9; + background-color: var(--color-bg-tertiary); + overflow: hidden; + border-radius: var(--radius-md) var(--radius-md) 0 0; + } + + .card-thumbnail img { + width: 100%; + height: 100%; + object-fit: cover; + display: block; + transition: opacity 0.3s ease; + } + + .card-thumbnail img.loading { opacity: 0.3; } + .card-thumbnail img.loaded { opacity: 1; } + + .card-thumbnail .thumb-placeholder { + position: absolute; + inset: 0; + display: flex; + align-items: center; + justify-content: center; + font-size: 2rem; + opacity: 0.2; + } + + /* Status pulse for recording/processing */ + .card-status-dot { + display: inline-block; + width: 8px; + height: 8px; + border-radius: 50%; + margin-right: 4px; + } + .card-status-dot.processing { background: #f59e0b; animation: pulse 1.5s infinite; } + .card-status-dot.ingesting { background: #3b82f6; animation: pulse 1.5s infinite; } + .card-status-dot.ready { background: #22c55e; } + .card-status-dot.error { background: #ef4444; } + + @keyframes pulse { + 0%, 100% { opacity: 1; } + 50% { opacity: 0.3; } } @@ -231,7 +270,7 @@
- +
@@ -251,7 +290,9 @@ @@ -264,7 +305,7 @@
- +
File Information
@@ -272,10 +313,6 @@
Filename
-
-
Format
-
-
Codec
@@ -339,11 +376,10 @@