summaryrefslogtreecommitdiff
path: root/src/ThemeContextProvider.tsx
diff options
context:
space:
mode:
authorMichael Hunteman <michael@huntm.net>2024-05-17 15:20:30 -0700
committerMichael Hunteman <michael@huntm.net>2024-05-17 15:20:30 -0700
commit7103019890960e793deefb64987a09b33be60b42 (patch)
treec1c9402aa250c68b2cbe13d62598232bbf20b1e2 /src/ThemeContextProvider.tsx
parentfc5c111bcfe296bec82e1cf9fdb88fc80fb24f89 (diff)
Add golang server
Diffstat (limited to 'src/ThemeContextProvider.tsx')
-rw-r--r--src/ThemeContextProvider.tsx57
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;