fix(web): dark-mode tokens for popup primitives + theme-color/color-scheme sync (#68)

Tooltip, toast, and combobox popups still hardcoded light colors
(bg-white, neutral-*, indigo-50) and rendered as white boxes in dark
mode; the objects-table page-size select did the same in app code.
Swap all of them to theme tokens (popover/accent/muted/destructive/
success) and replace the toast's literal "×" with the lucide X icon.

Wire browser chrome into the theme: color-scheme via CSS on
:root/.dark (follows the in-app toggle, not just the OS), a
theme-color meta kept in sync by the preload script and applyTheme(),
plus a unit test for the meta sync.

Extend check-no-raw-colors to also flag shadeless white/black
utilities outside components/ui/ so the objects-table case can't
recur.

Closes #68

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-10 09:42:57 +02:00
parent fe448034ac
commit 79a6567530
9 changed files with 46 additions and 15 deletions
+1 -1
View File
@@ -22,7 +22,7 @@ function TooltipPopup({ className, ...props }: TooltipPrimitive.Popup.Props) {
<TooltipPrimitive.Popup
data-slot="tooltip-popup"
className={cn(
"rounded border bg-white px-2 py-1 text-sm shadow-md",
"rounded border bg-popover px-2 py-1 text-sm text-popover-foreground shadow-md",
className,
)}
{...props}