From ae0968e1b016e8d84af0fdee944b5fa638edb1a2 Mon Sep 17 00:00:00 2001 From: BoulderBadgeDad Date: Fri, 29 May 2026 11:18:19 -0700 Subject: [PATCH] UI: migrate watchlist/wishlist action buttons to the shared .btn primitive The watchlist + wishlist header/overview buttons used a bespoke .watchlist-action-btn family (different padding/radius/font and white primary text) instead of the shared .btn design-system primitive. Migrate all 11 of them to .btn / .btn--primary / .btn--secondary / .btn--danger so they match the rest of the app, and drop the now-dead CSS. The .watchlist-batch-remove-btn / .wishlist-batch-remove-btn hook classes are kept on the remove buttons (their !important red overrides compose correctly over .btn--secondary). Static HTML only; no JS-injected usages, and mobile.css overrides target .playlist-modal-btn, not these. --- webui/index.html | 22 +++++++-------- webui/static/style.css | 63 +++--------------------------------------- 2 files changed, 15 insertions(+), 70 deletions(-) diff --git a/webui/index.html b/webui/index.html index 301a771e..c26c510a 100644 --- a/webui/index.html +++ b/webui/index.html @@ -6822,19 +6822,19 @@
- - - - @@ -6874,7 +6874,7 @@ Select All -
@@ -6891,7 +6891,7 @@

Your watchlist is empty

Use Search to find an artist, then add them to your watchlist from the artist page.

- + @@ -6914,11 +6914,11 @@
- - @@ -6948,7 +6948,7 @@
- @@ -6966,14 +6966,14 @@
-
diff --git a/webui/static/style.css b/webui/static/style.css index 2603908f..f0f14cf4 100644 --- a/webui/static/style.css +++ b/webui/static/style.css @@ -59728,65 +59728,10 @@ body.reduce-effects *::after { padding: 0 4px; } -.watchlist-action-btn { - display: inline-flex; - align-items: center; - gap: 7px; - padding: 9px 18px; - border-radius: 10px; - border: 1px solid transparent; - cursor: pointer; - font-size: 13px; - font-weight: 500; - transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); - white-space: nowrap; - letter-spacing: 0.1px; -} - -.watchlist-action-primary { - background: linear-gradient(135deg, rgb(var(--accent-rgb)), rgba(var(--accent-rgb), 0.85)); - color: #fff; - border-color: rgba(var(--accent-rgb), 0.3); - box-shadow: 0 2px 8px rgba(var(--accent-rgb), 0.2); -} - -.watchlist-action-primary:hover { - transform: translateY(-1px); - box-shadow: 0 4px 14px rgba(var(--accent-rgb), 0.3); - filter: brightness(1.1); -} - -.watchlist-action-primary:disabled { - opacity: 0.45; - cursor: not-allowed; - transform: none; - box-shadow: none; -} - -.watchlist-action-secondary { - background: rgba(255, 255, 255, 0.05); - color: rgba(255, 255, 255, 0.7); - border-color: rgba(255, 255, 255, 0.08); -} - -.watchlist-action-secondary:hover { - background: rgba(255, 255, 255, 0.1); - color: #fff; - border-color: rgba(255, 255, 255, 0.15); - transform: translateY(-1px); -} - -.watchlist-action-danger { - background: rgba(239, 68, 68, 0.1); - color: #f87171; - border-color: rgba(239, 68, 68, 0.15); -} - -.watchlist-action-danger:hover { - background: rgba(239, 68, 68, 0.18); - border-color: rgba(239, 68, 68, 0.25); - transform: translateY(-1px); -} +/* .watchlist-action-btn* migrated to the shared .btn / .btn--primary / + .btn--secondary / .btn--danger primitive (watchlist + wishlist headers). + The .watchlist-batch-remove-btn / .wishlist-batch-remove-btn hook classes + are kept on those buttons for their own overrides. */ /* ── Scan status card ── */ .watchlist-page-scan-status {