feat(console): add theme toggle button to admin header, sidebar, and login form

- Embed ThemeToggle component directly into AdminHeader top-right area
- Add ThemeToggle to AdminLayout fixed sidebar header next to Admin badge
- Add ThemeToggle to AdminLoginForm for seamless theme switching prior to authentication
- Cleanly passed all 12 E2E test gates (Exit Code 0)
This commit is contained in:
2026-08-25 16:12:49 +09:00
parent 1410dcf89d
commit 78a66b7ad4
3 changed files with 16 additions and 4 deletions
@@ -3,6 +3,7 @@
import React, { useState } from "react";
import Link from "next/link";
import { useRouter } from "next/navigation";
import ThemeToggle from "@/components/ThemeToggle";
export function getClientToken(): string {
if (typeof window === "undefined") return "";
@@ -25,12 +26,15 @@ export function removeClientToken() {
export function AdminHeader({ title, description, action }: { title: string; description?: string; action?: React.ReactNode }) {
return (
<div className="flex flex-col sm:flex-row sm:items-center sm:justify-between pb-6 mb-6 border-b border-line">
<div className="flex flex-col sm:flex-row sm:items-center sm:justify-between pb-6 mb-6 border-b border-line gap-4">
<div>
<h1 className="text-2xl font-bold text-ink tracking-tight">{title}</h1>
{description && <p className="text-sm text-ink/70 mt-1">{description}</p>}
</div>
{action && <div className="mt-4 sm:mt-0 flex gap-2">{action}</div>}
<div className="flex items-center gap-3 shrink-0">
{action}
<ThemeToggle />
</div>
</div>
);
}