feat(toolrate): desktop topbar theme toggle + dark-mode amber/gold
Build & Push Docker Image / build (push) Successful in 9m55s

- ThemeToggle moved from sidebar footer to new desktop topbar (top-right),
  page title shown left; mobile header + login unchanged
- dark theme primary switched from neon orange to amber/gold (38 92% 50%),
  primary-foreground to dark navy for contrast; ring + chart-1 harmonized
- light theme stays orange
This commit is contained in:
opencode
2026-08-01 20:00:03 +02:00
parent d244a537ea
commit ccc295f92f
2 changed files with 15 additions and 8 deletions
+11 -4
View File
@@ -18,6 +18,10 @@ export function Layout({ children }: { children: React.ReactNode }) {
...(isAdmin ? [{ href: "/admin/redundancy", label: "Redundancy", icon: AlertTriangle }] : []),
];
const activeLink = links.find(
(link) => location === link.href || (link.href !== "/" && location.startsWith(link.href)),
);
return (
<div className="flex min-h-screen bg-background text-foreground">
<aside className="w-64 border-r bg-card flex flex-col hidden md:flex">
@@ -44,10 +48,7 @@ export function Layout({ children }: { children: React.ReactNode }) {
})}
</nav>
<div className="p-4 border-t space-y-3">
<div className="flex justify-end">
<ThemeToggle />
</div>
<div className="p-4 border-t">
{isLoading ? (
<div className="flex items-center gap-3 px-3 py-2">
<Skeleton className="w-8 h-8 rounded-full" />
@@ -96,6 +97,12 @@ export function Layout({ children }: { children: React.ReactNode }) {
</aside>
<main className="flex-1 flex flex-col min-w-0">
<header className="hidden md:flex items-center justify-between border-b bg-card px-6 py-3">
<h1 className="text-sm font-semibold text-muted-foreground">
{activeLink?.label ?? "ToolRate"}
</h1>
<ThemeToggle />
</header>
<header className="md:hidden border-b p-4 flex items-center justify-between bg-card">
<div className="flex items-center gap-2 text-primary font-bold text-lg">
<Wrench className="w-5 h-5" />
+4 -4
View File
@@ -200,8 +200,8 @@
--popover-foreground: 210 40% 98%;
--popover-border: 217 33% 17%;
--primary: 14 100% 57%;
--primary-foreground: 0 0% 100%;
--primary: 38 92% 50%;
--primary-foreground: 222 47% 11%;
--secondary: 217 33% 17%;
--secondary-foreground: 210 40% 98%;
@@ -216,8 +216,8 @@
--destructive-foreground: 210 40% 98%;
--input: 217 33% 17%;
--ring: 14 100% 57%;
--chart-1: 14 100% 57%;
--ring: 38 92% 50%;
--chart-1: 38 92% 50%;
--chart-2: 210 40% 98%;
--chart-3: 187 100% 42%;
--chart-4: 43 100% 50%;