{"version":3,"file":"index46.mjs","sources":["../src/hooks/useTheme.ts"],"sourcesContent":["import React, { useState, useEffect } from 'react';\n\ntype Theme = 'light' | 'dark';\n\nexport const useTheme = () => {\n    // Get initial theme from localStorage or system preference\n    const getInitialTheme = (): Theme => {\n        try {\n            const savedTheme = localStorage.getItem('theme') as Theme;\n            if (savedTheme) return savedTheme;\n\n            // Check system preference\n            return window.matchMedia('(prefers-color-scheme: dark)').matches\n                ? 'dark'\n                : 'light';\n        } catch (error) {\n            console.warn('Failed to get initial theme:', error);\n            return 'light'; // Provide a default fallback\n        }\n    };\n\n    const [theme, setTheme] = useState<Theme>(getInitialTheme);\n\n    // Update theme in localStorage and HTML class\n    const updateTheme = (newTheme: Theme) => {\n        try {\n            const root = window.document.documentElement;\n            \n            // Remove old theme class and add new one\n            root.classList.remove('light', 'dark');\n            root.classList.add(newTheme);\n            \n            // Save to localStorage\n            localStorage.setItem('theme', newTheme);\n            setTheme(newTheme);\n        } catch (error) {\n            console.warn('Failed to update theme:', error);\n            // Still update the state even if localStorage fails\n            setTheme(newTheme);\n        }\n    };\n\n    // Initialize theme on mount\n    useEffect(() => {\n        updateTheme(theme);\n    }, []);\n\n    // Toggle between light and dark\n    const toggleTheme = () => {\n        const newTheme = theme === 'light' ? 'dark' : 'light';\n        updateTheme(newTheme);\n    };\n\n    return {\n        theme,\n        setTheme: updateTheme,\n        toggleTheme,\n        isDarkMode: theme === 'dark'\n    };\n};\n\nexport default useTheme;\n"],"names":[],"mappings":";AAIO,MAAM,WAAW,MAAM;AAE1B,QAAM,kBAAkB,MAAa;AAC7B,QAAA;AACM,YAAA,aAAa,aAAa,QAAQ,OAAO;AAC/C,UAAI,WAAmB,QAAA;AAGvB,aAAO,OAAO,WAAW,8BAA8B,EAAE,UACnD,SACA;AAAA,aACD,OAAO;AACJ,cAAA,KAAK,gCAAgC,KAAK;AAC3C,aAAA;AAAA,IAAA;AAAA,EAEf;AAEA,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAgB,eAAe;AAGnD,QAAA,cAAc,CAAC,aAAoB;AACjC,QAAA;AACM,YAAA,OAAO,OAAO,SAAS;AAGxB,WAAA,UAAU,OAAO,SAAS,MAAM;AAChC,WAAA,UAAU,IAAI,QAAQ;AAGd,mBAAA,QAAQ,SAAS,QAAQ;AACtC,eAAS,QAAQ;AAAA,aACZ,OAAO;AACJ,cAAA,KAAK,2BAA2B,KAAK;AAE7C,eAAS,QAAQ;AAAA,IAAA;AAAA,EAEzB;AAGA,YAAU,MAAM;AACZ,gBAAY,KAAK;AAAA,EACrB,GAAG,EAAE;AAGL,QAAM,cAAc,MAAM;AAChB,UAAA,WAAW,UAAU,UAAU,SAAS;AAC9C,gBAAY,QAAQ;AAAA,EACxB;AAEO,SAAA;AAAA,IACH;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA,YAAY,UAAU;AAAA,EAC1B;AACJ;"}