diff --git a/src/app/components/AppHeader.tsx b/src/app/components/AppHeader.tsx index 818dfb3..e81e371 100644 --- a/src/app/components/AppHeader.tsx +++ b/src/app/components/AppHeader.tsx @@ -1,3 +1,5 @@ +import { ThemeToggle } from "@/app/components/ThemeToggle"; + export function AppHeader() { return (
@@ -5,6 +7,7 @@ export function AppHeader() {
); diff --git a/src/app/components/ThemeToggle.tsx b/src/app/components/ThemeToggle.tsx new file mode 100644 index 0000000..8233a2d --- /dev/null +++ b/src/app/components/ThemeToggle.tsx @@ -0,0 +1,21 @@ +"use client"; +import { useEffect, useState } from "react"; + +export function ThemeToggle() { + const [dark, setDark] = useState(false); + useEffect(() => { + const mql = window.matchMedia("(prefers-color-scheme: dark)"); + setDark(mql.matches); + }, []); + useEffect(() => { + document.documentElement.style.setProperty("--background", dark ? "#0a0a0a" : "#ffffff"); + document.documentElement.style.setProperty("--foreground", dark ? "#ededed" : "#171717"); + }, [dark]); + return ( + + ); +} + + diff --git a/todolist.txt b/todolist.txt index ad0c713..3d7c76c 100644 --- a/todolist.txt +++ b/todolist.txt @@ -30,7 +30,7 @@ 5.1 앱 레이아웃/헤더/푸터/사이드바 구성 o 5.2 공통 컴포넌트(버튼/입력/모달/토스트) 제작 o 5.3 글로벌 로딩/스켈레톤/에러 경계 패턴 정립 o -5.4 테마/다크모드 및 반응형 설정 +5.4 테마/다크모드 및 반응형 설정 o [메인 화면] 6.1 Hero/공지 배너 컴포넌트(자동/수동 슬라이드)