diff options
author | Michael Hunteman <michael@huntm.net> | 2024-05-17 15:20:30 -0700 |
---|---|---|
committer | Michael Hunteman <michael@huntm.net> | 2024-05-17 15:20:30 -0700 |
commit | 7103019890960e793deefb64987a09b33be60b42 (patch) | |
tree | c1c9402aa250c68b2cbe13d62598232bbf20b1e2 /src/ThemeContextProvider.tsx | |
parent | fc5c111bcfe296bec82e1cf9fdb88fc80fb24f89 (diff) |
Add golang server
Diffstat (limited to 'src/ThemeContextProvider.tsx')
-rw-r--r-- | src/ThemeContextProvider.tsx | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/src/ThemeContextProvider.tsx b/src/ThemeContextProvider.tsx deleted file mode 100644 index 6ae1430..0000000 --- a/src/ThemeContextProvider.tsx +++ /dev/null @@ -1,57 +0,0 @@ -import React from 'react'; -import { ReactNode, createContext, useMemo, useState } from 'react'; -import { ThemeProvider, createTheme } from '@mui/material/styles'; -import useMediaQuery from '@mui/material/useMediaQuery'; -import type { PaletteMode } from '@mui/material'; - -type ThemeContextType = { - toggleColorMode: () => void; -}; - -type ThemeProviderProps = { - children: ReactNode; -}; - -export const ThemeContext = createContext<ThemeContextType>({ - toggleColorMode: () => {}, -}); - -function ThemeContextProvider({ children }: ThemeProviderProps) { - const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)'); - const [mode, setMode] = useState<'light' | 'dark'>( - prefersDarkMode ? 'dark' : 'light' - ); - - const toggleColorMode = () => { - setMode((prevMode: PaletteMode) => - prevMode === 'light' ? 'dark' : 'light' - ); - }; - - const getDesignTokens = (mode: PaletteMode) => ({ - palette: { - mode, - ...(mode === 'light' - ? { - primary: { - main: '#007bff', - }, - } - : { - primary: { - main: '#78bef8', - }, - }), - }, - }); - - const theme = useMemo(() => createTheme(getDesignTokens(mode)), [mode]); - - return ( - <ThemeContext.Provider value={{ toggleColorMode }}> - <ThemeProvider theme={theme}>{children}</ThemeProvider> - </ThemeContext.Provider> - ); -} - -export default ThemeContextProvider; |