Spaces:
Build error
Build error
| import '@/styles/globals.css'; | |
| import Head from 'next/head'; | |
| import { useState, useEffect } from 'react'; | |
| function MyApp({ Component, pageProps }) { | |
| const [darkMode, setDarkMode] = useState(false); | |
| useEffect(() => { | |
| if (localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) { | |
| setDarkMode(true); | |
| document.documentElement.classList.add('dark'); | |
| } else { | |
| setDarkMode(false); | |
| document.documentElement.classList.remove('dark'); | |
| } | |
| }, []); | |
| const toggleTheme = () => { | |
| if (darkMode) { | |
| document.documentElement.classList.remove('dark'); | |
| localStorage.theme = 'light'; | |
| setDarkMode(false); | |
| } else { | |
| document.documentElement.classList.add('dark'); | |
| localStorage.theme = 'dark'; | |
| setDarkMode(true); | |
| } | |
| }; | |
| return ( | |
| <> | |
| <Head> | |
| <title>Nexus Dashboard | Enterprise Analytics</title> | |
| <meta name="description" content="Advanced analytics and project management dashboard" /> | |
| <link rel="icon" href="/favicon.ico" /> | |
| <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet" /> | |
| </Head> | |
| <ThemeContext.Provider value={{ darkMode, toggleTheme }}> | |
| <Component {...pageProps} /> | |
| </ThemeContext.Provider> | |
| </> | |
| ); | |
| } | |
| export const ThemeContext = React.createContext({ | |
| darkMode: false, | |
| toggleTheme: () => {}, | |
| }); | |
| import React from 'react'; | |
| export default MyApp; |