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" />