diff --git a/media_server/routes/browser.py b/media_server/routes/browser.py index 2f81722..0625bee 100644 --- a/media_server/routes/browser.py +++ b/media_server/routes/browser.py @@ -328,7 +328,7 @@ async def get_thumbnail( thumbnail_data = await ThumbnailService.get_thumbnail(file_path, size) if thumbnail_data is None: - raise HTTPException(status_code=404, detail="Thumbnail not available") + return Response(status_code=204) # Calculate ETag (hash of path + mtime) import hashlib diff --git a/media_server/static/css/styles.css b/media_server/static/css/styles.css index a2c5d5e..975b9ef 100644 --- a/media_server/static/css/styles.css +++ b/media_server/static/css/styles.css @@ -72,12 +72,14 @@ font-weight: 600; } - .status-indicator { - display: flex; - align-items: center; - gap: 0.5rem; - font-size: 0.875rem; - color: var(--text-secondary); + .version-label { + font-size: 0.7rem; + color: var(--text-muted); + background: var(--bg-tertiary); + padding: 0.15rem 0.5rem; + border-radius: 1rem; + font-weight: 500; + align-self: center; } .status-dot { @@ -837,21 +839,24 @@ } .clear-token-btn { - position: fixed; - top: 1rem; - right: 1rem; width: auto; height: auto; - padding: 0.5rem 1rem; + padding: 6px 12px; border-radius: 6px; - font-size: 0.75rem; + font-size: 14px; + font-weight: 500; background: var(--bg-tertiary); + color: var(--text-secondary); + border: 1px solid var(--border); + cursor: pointer; opacity: 0.7; } .clear-token-btn:hover { opacity: 1; background: var(--error); + color: var(--text-primary); + border-color: var(--error); } /* Mini Player (Sticky) */ diff --git a/media_server/static/index.html b/media_server/static/index.html index b961941..4164913 100644 --- a/media_server/static/index.html +++ b/media_server/static/index.html @@ -8,9 +8,6 @@ - - -