import { createContext, useContext, useState, ReactNode } from 'react'; export type Theme = 'light' | 'dark'; type ThemeContextValue = { theme: Theme; toggle: () => void; setTheme: (next: Theme) => void; }; // TODO: createContext로 ThemeContext 만들기 (기본값은 null이나 undefined) export function ThemeProvider({ children, defaultTheme = 'light', }: { children: ReactNode; defaultTheme?: Theme; }) { // TODO: useState로 theme 상태, toggle/setTheme 구현 // TODO: Provider로 children 감싸기 return <>{children}</>; } export function useTheme(): ThemeContextValue { // TODO: useContext로 값을 꺼내고, Provider 바깥이면 throw return { theme: 'light', toggle: () => {}, setTheme: () => {} }; }
Tests