aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/frontend/src/ToggleDarkModeButton.tsx
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2022-08-12 21:57:01 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2022-08-12 22:05:43 +0200
commit66216786a70e415775cf7e4b84cfd7d74b07aad0 (patch)
treea47dc186fb309627c069edacf9754b9ec483d0a4 /subprojects/frontend/src/ToggleDarkModeButton.tsx
parentrefactor(frontend): EditorParent line numbers (diff)
downloadrefinery-66216786a70e415775cf7e4b84cfd7d74b07aad0.tar.gz
refinery-66216786a70e415775cf7e4b84cfd7d74b07aad0.tar.zst
refinery-66216786a70e415775cf7e4b84cfd7d74b07aad0.zip
feat(frontend): light/dark mode switch
Diffstat (limited to 'subprojects/frontend/src/ToggleDarkModeButton.tsx')
-rw-r--r--subprojects/frontend/src/ToggleDarkModeButton.tsx24
1 files changed, 24 insertions, 0 deletions
diff --git a/subprojects/frontend/src/ToggleDarkModeButton.tsx b/subprojects/frontend/src/ToggleDarkModeButton.tsx
new file mode 100644
index 00000000..1685ec80
--- /dev/null
+++ b/subprojects/frontend/src/ToggleDarkModeButton.tsx
@@ -0,0 +1,24 @@
1import DarkModeIcon from '@mui/icons-material/DarkMode';
2import LightModeIcon from '@mui/icons-material/LightMode';
3import IconButton from '@mui/material/IconButton';
4import { observer } from 'mobx-react-lite';
5import React from 'react';
6
7import { useRootStore } from './RootStore';
8
9function ToggleDarkModeButton(): JSX.Element {
10 const { themeStore } = useRootStore();
11 const { darkMode } = themeStore;
12
13 return (
14 <IconButton
15 color="inherit"
16 onClick={() => themeStore.toggleDarkMode()}
17 aria-label={darkMode ? 'Switch to light mode' : 'Switch to dark mode'}
18 >
19 {darkMode ? <LightModeIcon /> : <DarkModeIcon />}
20 </IconButton>
21 );
22}
23
24export default observer(ToggleDarkModeButton);