Skip to content

Commit dc49b8f

Browse files
committed
refactor: split theme context into a file
1 parent 25b659d commit dc49b8f

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

src/App.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,14 @@ import { createContext, useEffect, useState } from 'react';
55
import DefaultLayout from './components/ui/layout/Default';
66
import { editorOptions } from './components/ui/editor/default-options';
77
import { EditorOptions } from './types/components/Editor';
8+
import { theme, ThemeProvider } from './DarkMode';
89

910
export const SettingsContext = createContext(editorOptions);
1011

1112
const isDarkModeSet = () => {
1213
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
1314
};
1415

15-
const theme = { darkMode: false };
16-
export const ThemeContext = createContext(theme);
17-
1816
function App() {
1917
const [savedState, setSavedState] = useState<string>('');
2018
const [darkModeEnabled, setDarkMode] = useState<boolean>(theme.darkMode);
@@ -39,7 +37,7 @@ function App() {
3937

4038
return (
4139
<Router>
42-
<ThemeContext.Provider value={theme as never}>
40+
<ThemeProvider value={theme as never}>
4341
<DefaultLayout onDarkThemeChanged={onDarkThemeChanged} darkModeEnabled={darkModeEnabled}>
4442
<Routes>
4543
<Route path="/" element={<Editors onPersist={saveState} currentJson={savedState} />} />
@@ -50,7 +48,7 @@ function App() {
5048
} />
5149
</Routes>
5250
</DefaultLayout>
53-
</ThemeContext.Provider>
51+
</ThemeProvider>
5452
</Router>
5553
);
5654
}

src/DarkMode.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { createContext } from 'react';
2+
3+
export const theme = { darkMode: false };
4+
export const ThemeContext = createContext(theme);
5+
6+
export const ThemeProvider = ThemeContext.Provider;
7+

src/components/ui/editor/JsonEditor.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import CodeMirror, { BasicSetupOptions, ReactCodeMirrorRef } from '@uiw/react-codemirror';
22
import fullConfig from '../../../tailwindResolver';
33
import { json } from '@codemirror/lang-json';
4-
import { SettingsContext, ThemeContext } from '../../../App';
4+
import { SettingsContext } from '../../../App';
55
import { CSSProperties, ForwardedRef, forwardRef, useContext } from 'react';
66
import { Option, Properties } from '../../../types/components/Editor';
77
import { duotoneLight } from '@uiw/codemirror-theme-duotone';
8+
import { ThemeContext } from '../../../DarkMode';
89

910
type Event = {
1011
value: string;

0 commit comments

Comments
 (0)