From 9575ef3bd258d7191f21918add1b85d6ec6336b7 Mon Sep 17 00:00:00 2001 From: Alan Trebugeais Date: Thu, 7 May 2026 12:58:51 +0200 Subject: [PATCH] add: theming dark/light mode + system colors for the recording bar, to avoid icons being wrong color, text too etc.. --- src/components/launch/LaunchWindow.module.css | 50 ++++++++----------- src/components/launch/LaunchWindow.tsx | 4 +- src/components/launch/RecordingControls.tsx | 2 +- src/components/launch/SourceSelector.css | 35 ++++++------- src/components/launch/launchTheme.css | 29 ++++++++++- .../launch/popovers/CountdownPopover.tsx | 4 +- src/components/launch/popovers/MicPopover.tsx | 8 +-- .../launch/popovers/MorePopover.tsx | 44 ++++++++++++++-- .../launch/popovers/WebcamPopover.tsx | 12 ++--- 9 files changed, 120 insertions(+), 68 deletions(-) diff --git a/src/components/launch/LaunchWindow.module.css b/src/components/launch/LaunchWindow.module.css index 9d48ba0b..3638e756 100644 --- a/src/components/launch/LaunchWindow.module.css +++ b/src/components/launch/LaunchWindow.module.css @@ -12,14 +12,11 @@ gap: 10px; width: max-content; max-width: 1200px; - background: rgba(18, 18, 24, 0.97); - border: 1px solid rgba(255, 255, 255, 0.07); + background: var(--launch-bar-bg); + border: 1px solid var(--launch-bar-border); border-radius: 20px; padding: 11px 20px 11px 18px; - box-shadow: - 0 10px 30px rgba(0, 0, 0, 0.24), - 0 2px 10px rgba(0, 0, 0, 0.12), - inset 0 1px 0 rgba(255, 255, 255, 0.04); + box-shadow: var(--launch-bar-shadow); overflow: visible; position: relative; transform-origin: center bottom; @@ -48,7 +45,7 @@ .sep { width: 1px; height: 26px; - background: #2a2a34; + background: var(--launch-border-strong); margin: 0 6px; flex-shrink: 0; } @@ -60,7 +57,7 @@ border-radius: 11px; border: none; background: transparent; - color: #6b6b78; + color: var(--launch-text-muted); cursor: pointer; display: inline-flex; align-items: center; @@ -70,8 +67,8 @@ } .ib:hover { - background: rgba(255, 255, 255, 0.07); - color: #eeeef2; + background: var(--launch-hover); + color: var(--launch-text); } .ibActive { @@ -104,8 +101,8 @@ width: 300px; max-height: 400px; overflow-y: auto; - background: var(--launch-surface, rgba(18, 18, 24, 0.97)); - border: 1px solid var(--launch-border, rgba(255, 255, 255, 0.07)); + background: var(--launch-surface); + border: 1px solid var(--launch-border); border-radius: 16px; backdrop-filter: blur(var(--launch-popover-blur, 24px)) saturate(var(--launch-popover-saturate, 145%)); @@ -114,10 +111,7 @@ padding: 8px; margin-top: auto; margin-bottom: 8px; - box-shadow: - 0 16px 40px rgba(0, 0, 0, 0.28), - 0 2px 12px rgba(0, 0, 0, 0.12), - inset 0 1px 0 rgba(255, 255, 255, 0.08); + box-shadow: var(--launch-bar-shadow); pointer-events: auto; animation: menuCardIn 0.18s ease; } @@ -142,14 +136,14 @@ } .menuCard::-webkit-scrollbar-thumb { - background: #2a2a34; - border-radius: 2px; + background: var(--launch-border-strong); + border-radius: 10px; } .ddLabel { font-size: 9px; font-weight: 600; - color: var(--launch-label, #8f99b1); + color: var(--launch-label); text-transform: uppercase; letter-spacing: 0.08em; padding: 6px 10px 4px; @@ -165,20 +159,20 @@ border: none; background: transparent; font-size: 12px; - color: var(--launch-text-muted, #aab3c7); + color: var(--launch-text-muted); cursor: pointer; transition: all 0.12s ease; text-align: left; } .ddItem:hover { - background: var(--launch-hover, rgba(255, 255, 255, 0.1)); - color: var(--launch-text, #f3f6ff); + background: var(--launch-hover); + color: var(--launch-text); } .ddItemSelected { - background: var(--launch-selected, rgba(92, 153, 255, 0.22)); - color: var(--launch-accent-soft, #dbeafe); + background: var(--launch-selected); + color: var(--launch-accent); } .finalizingState { @@ -270,11 +264,9 @@ width: 288px; overflow: hidden; border-radius: 24px; - background: rgba(22, 22, 30, 0.95); - border: 1px solid rgba(255, 255, 255, 0.12); - box-shadow: - 0 10px 24px rgba(0, 0, 0, 0.28), - inset 0 1px 0 rgba(255, 255, 255, 0.08); + background: var(--launch-surface); + border: 1px solid var(--launch-border-strong); + box-shadow: var(--launch-bar-shadow); cursor: grab; touch-action: none; user-select: none; diff --git a/src/components/launch/LaunchWindow.tsx b/src/components/launch/LaunchWindow.tsx index 4a2a0198..28eb2bb7 100644 --- a/src/components/launch/LaunchWindow.tsx +++ b/src/components/launch/LaunchWindow.tsx @@ -231,7 +231,7 @@ function LaunchWindowContent() {