From c4169a292b857439bf395878726276aa329924ed Mon Sep 17 00:00:00 2001 From: agw Date: Mon, 15 Jun 2026 19:42:00 +0200 Subject: [PATCH] fix(adapter): theme-aware status colors (alerts/badges/buttons adapt to light) --- adapters/bootstrap.css | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/adapters/bootstrap.css b/adapters/bootstrap.css index 47b06a5..8a5d855 100644 --- a/adapters/bootstrap.css +++ b/adapters/bootstrap.css @@ -92,10 +92,10 @@ h1, .h1, h2, .h2, h3, .h3 { letter-spacing: -0.02em; } .btn-outline-secondary:hover { background: var(--color-surface-3) !important; color: var(--color-text) !important; } .btn-outline-primary { background: transparent !important; border-color: var(--color-accent) !important; color: var(--color-accent) !important; } .btn-outline-primary:hover { background: var(--color-accent) !important; color: var(--color-accent-ink) !important; } -.btn-danger { background: #3a1620 !important; border-color: #5b2230 !important; color: var(--color-bad) !important; } -.btn-danger:hover { filter: brightness(1.12); } -.btn-success { background: #10341f !important; border-color: #1d5a32 !important; color: var(--color-good) !important; } -.btn-warning { background: #3a2c10 !important; border-color: #5b471d !important; color: #ffd479 !important; } +.btn-danger { background: color-mix(in srgb, #ef4444 16%, var(--color-surface)) !important; border-color: color-mix(in srgb, #ef4444 45%, var(--color-border)) !important; color: var(--color-text) !important; } +.btn-success { background: color-mix(in srgb, #22c55e 16%, var(--color-surface)) !important; border-color: color-mix(in srgb, #22c55e 45%, var(--color-border)) !important; color: var(--color-text) !important; } +.btn-warning { background: color-mix(in srgb, #f59e0b 18%, var(--color-surface)) !important; border-color: color-mix(in srgb, #f59e0b 48%, var(--color-border)) !important; color: var(--color-text) !important; } +.btn-danger:hover, .btn-success:hover, .btn-warning:hover { filter: brightness(1.08); } .btn-link { color: var(--color-accent) !important; text-decoration: none; } .btn-link:hover { color: var(--color-accent-2) !important; } .btn-close { filter: invert(1) grayscale(1) brightness(1.7); } @@ -117,11 +117,11 @@ h1, .h1, h2, .h2, h3, .h3 { letter-spacing: -0.02em; } .form-text { color: var(--color-muted); } /* ---------- alerts (notification style) ---------- */ -.alert { border-radius: var(--wt-radius); border: 1px solid var(--color-border); } -.alert-success { background: #10341f; color: #c8f7d6; border-color: #1d5a32; } -.alert-danger, .alert-error { background: #3a1620; color: #ffd0d9; border-color: #5b2230; } -.alert-warning { background: #3a2c10; color: #ffe1a8; border-color: #5b471d; } -.alert-info, .alert-primary { background: #10243a; color: #cfe6ff; border-color: #1d3a5a; } +.alert { border-radius: var(--wt-radius); border: 1px solid var(--color-border); color: var(--color-text); } +.alert-success { background: color-mix(in srgb, #22c55e 13%, var(--color-surface)); border-color: color-mix(in srgb, #22c55e 38%, var(--color-border)); } +.alert-danger, .alert-error { background: color-mix(in srgb, #ef4444 13%, var(--color-surface)); border-color: color-mix(in srgb, #ef4444 38%, var(--color-border)); } +.alert-warning { background: color-mix(in srgb, #f59e0b 15%, var(--color-surface)); border-color: color-mix(in srgb, #f59e0b 42%, var(--color-border)); } +.alert-info, .alert-primary { background: color-mix(in srgb, var(--color-accent) 13%, var(--color-surface)); border-color: color-mix(in srgb, var(--color-accent) 38%, var(--color-border)); } /* ---------- tables ---------- */ .table { @@ -142,10 +142,10 @@ h1, .h1, h2, .h2, h3, .h3 { letter-spacing: -0.02em; } /* ---------- badges ---------- */ .badge.bg-primary, .badge.text-bg-primary { background: var(--color-accent) !important; color: var(--color-accent-ink) !important; } .badge.bg-secondary, .badge.text-bg-secondary { background: var(--color-surface-3) !important; color: var(--color-text) !important; } -.badge.bg-success, .badge.text-bg-success { background: #10341f !important; color: var(--color-good) !important; } -.badge.bg-danger, .badge.text-bg-danger { background: #3a1620 !important; color: var(--color-bad) !important; } -.badge.bg-warning, .badge.text-bg-warning { background: #3a2c10 !important; color: #ffd479 !important; } -.badge.bg-info, .badge.text-bg-info { background: #10243a !important; color: #cfe6ff !important; } +.badge.bg-success, .badge.text-bg-success { background: color-mix(in srgb, #22c55e 20%, var(--color-surface)) !important; color: var(--color-text) !important; } +.badge.bg-danger, .badge.text-bg-danger { background: color-mix(in srgb, #ef4444 20%, var(--color-surface)) !important; color: var(--color-text) !important; } +.badge.bg-warning, .badge.text-bg-warning { background: color-mix(in srgb, #f59e0b 22%, var(--color-surface)) !important; color: var(--color-text) !important; } +.badge.bg-info, .badge.text-bg-info { background: color-mix(in srgb, var(--color-accent) 20%, var(--color-surface)) !important; color: var(--color-text) !important; } /* ---------- dropdowns / modals / offcanvas ---------- */ .dropdown-menu, .modal-content, .offcanvas {