// frontend/components/ThemeToggle.tsx "use client"; import { useTheme } from "next-themes"; import { useEffect, useState } from "react"; import { Icon } from "./Icon"; export function ThemeToggle() { const { resolvedTheme, setTheme } = useTheme(); const [mounted, setMounted] = useState(false); // 하이드레이션 불일치 방지: 마운트 후에만 실제 테마 아이콘 결정 (next-themes 표준 패턴) useEffect(() => setMounted(true), []); const dark = mounted && resolvedTheme === "dark"; return ( ); }