From 169c30fd5b73203bb3a03927d8aaf53c8dc38e1b Mon Sep 17 00:00:00 2001 From: BoulderBadgeDad Date: Fri, 29 May 2026 11:30:13 -0700 Subject: [PATCH] UI: add .btn--sm/.btn--block/.btn--warning tier; migrate sync-history buttons Formalize the compact 'toolbar' button tier as design-system modifiers (.btn--sm), plus a full-width (.btn--block) and amber caution (.btn--warning) modifier, so the many smaller per-page buttons can share the .btn primitive without being forced to the large default size. First adopter: the Sync page header buttons (.sync-history-btn) now use .btn .btn--sm .btn--secondary. The class is kept as a JS/onboarding selector hook; .auto-sync-manager-btn still tints Auto-Sync accent. --- webui/index.html | 6 +++--- webui/static/style.css | 33 +++++++++++++++++++++++++++------ 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/webui/index.html b/webui/index.html index c26c510a..43581f33 100644 --- a/webui/index.html +++ b/webui/index.html @@ -986,9 +986,9 @@ server

- - - + + +
diff --git a/webui/static/style.css b/webui/static/style.css index f0f14cf4..11f64865 100644 --- a/webui/static/style.css +++ b/webui/static/style.css @@ -8059,6 +8059,30 @@ body.helper-mode-active #dashboard-activity-feed:hover { box-shadow: 0 8px 24px rgba(29, 185, 84, 0.4); } +/* Amber "caution" color (e.g. bulk fix-all). */ +.btn--warning { + background: rgba(245, 158, 11, 0.12); + color: #fbbf24; + border: 1px solid rgba(245, 158, 11, 0.3); +} +.btn--warning:hover:not(:disabled) { + background: rgba(245, 158, 11, 0.22); + border-color: rgba(245, 158, 11, 0.45); +} + +/* Compact toolbar size — the second button tier used in headers, bulk-action + rows and toolbars (smaller than the default large action button). Combine + with a color modifier, e.g. `.btn .btn--sm .btn--secondary`. */ +.btn--sm { + padding: 6px 14px; + font-size: 12px; + border-radius: 8px; + gap: 6px; +} + +/* Full-width (form submit buttons, etc.). */ +.btn--block { width: 100%; } + /* Shared loading state (JS toggles `.loading`). */ .btn.loading { background: rgba(255, 193, 7, 0.9); @@ -11298,12 +11322,9 @@ body.helper-mode-active #dashboard-activity-feed:hover { .sync-history-page-btn:hover:not(:disabled) { color: rgb(var(--accent-rgb)); background: rgba(var(--accent-rgb), 0.1); } .sync-history-page-btn:disabled { opacity: 0.3; cursor: default; } .sync-history-page-info { font-size: 12px; color: rgba(255, 255, 255, 0.35); } -.sync-history-btn { - font-size: 12px; font-weight: 500; color: rgba(255, 255, 255, 0.5); - background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.08); - border-radius: 6px; padding: 5px 12px; cursor: pointer; transition: all 0.2s ease; -} -.sync-history-btn:hover { color: rgb(var(--accent-rgb)); background: rgba(var(--accent-rgb), 0.1); border-color: rgba(var(--accent-rgb), 0.3); } +/* .sync-history-btn styling migrated to .btn .btn--sm .btn--secondary. + The class is kept on the markup as a JS/onboarding selector hook, and + .auto-sync-manager-btn still tints the Auto-Sync button accent. */ .auto-sync-manager-btn { color: rgb(var(--accent-light-rgb));