diff --git a/frontend_reactjs/package-lock.json b/frontend_reactjs/package-lock.json
index 49c1c3b..b4adc0f 100644
--- a/frontend_reactjs/package-lock.json
+++ b/frontend_reactjs/package-lock.json
@@ -11,6 +11,7 @@
"-": "^0.0.1",
"@emotion/react": "^11.11.4",
"@emotion/styled": "^11.11.5",
+ "@fontsource/inter": "^5.0.19",
"@fontsource/open-sans": "^5.0.28",
"@js-preview/docx": "^1.6.2",
"@js-preview/excel": "^1.7.8",
@@ -2495,6 +2496,11 @@
"resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.2.tgz",
"integrity": "sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw=="
},
+ "node_modules/@fontsource/inter": {
+ "version": "5.0.19",
+ "resolved": "https://registry.npmjs.org/@fontsource/inter/-/inter-5.0.19.tgz",
+ "integrity": "sha512-tVU77yjKnsoUotrXGYbbYxmL9nbm/MSo3deZietmf8V2FEDlbi9fvkJHMrYbo7ZsOqR1AYBBqRYmemz4pSE5Mg=="
+ },
"node_modules/@fontsource/open-sans": {
"version": "5.0.28",
"resolved": "https://registry.npmjs.org/@fontsource/open-sans/-/open-sans-5.0.28.tgz",
diff --git a/frontend_reactjs/package.json b/frontend_reactjs/package.json
index 3b55bdd..df05058 100644
--- a/frontend_reactjs/package.json
+++ b/frontend_reactjs/package.json
@@ -13,6 +13,7 @@
"-": "^0.0.1",
"@emotion/react": "^11.11.4",
"@emotion/styled": "^11.11.5",
+ "@fontsource/inter": "^5.0.19",
"@fontsource/open-sans": "^5.0.28",
"@js-preview/docx": "^1.6.2",
"@js-preview/excel": "^1.7.8",
diff --git a/frontend_reactjs/src/components/AccountMenu.tsx b/frontend_reactjs/src/components/AccountMenu.tsx
index d558ea0..c204649 100644
--- a/frontend_reactjs/src/components/AccountMenu.tsx
+++ b/frontend_reactjs/src/components/AccountMenu.tsx
@@ -10,8 +10,42 @@ import Tooltip from '@mui/material/Tooltip';
import Settings from '@mui/icons-material/Settings';
import Logout from '@mui/icons-material/Logout';
import { useNavigate } from 'react-router-dom';
-import { logout } from '../store/auth';
-import { ListItem } from '@mui/material';
+import { logout, useAuthStore } from '../store/auth';
+import { ListItem, Switch, styled } from '@mui/material';
+import { setDarkMode, usePrefStore } from '../store/preferences';
+
+const Android12Switch = styled(Switch)(({ theme }) => ({
+ padding: 8,
+ '& .MuiSwitch-track': {
+ borderRadius: 22 / 2,
+ '&::before, &::after': {
+ content: '""',
+ position: 'absolute',
+ top: '50%',
+ transform: 'translateY(-50%)',
+ width: 16,
+ height: 16,
+ },
+ '&::before': {
+ backgroundImage: `url('data:image/svg+xml;utf8,')`,
+ left: 12,
+ },
+ '&::after': {
+ backgroundImage: `url('data:image/svg+xml;utf8,')`,
+ right: 12,
+ },
+ },
+ '& .MuiSwitch-thumb': {
+ boxShadow: 'none',
+ width: 16,
+ height: 16,
+ margin: 2,
+ },
+}));
export default function AccountMenu() {
const navigate = useNavigate()
@@ -26,6 +60,9 @@ export default function AccountMenu() {
const handleClose = () => {
setAnchorEl(null);
};
+
+ const prefStore = usePrefStore()
+
return (
@@ -47,7 +84,6 @@ export default function AccountMenu() {
id="account-menu"
open={open}
onClose={handleClose}
- onClick={handleClose}
PaperProps={{
elevation: 0,
sx: {
@@ -77,12 +113,25 @@ export default function AccountMenu() {
transformOrigin={{ horizontal: 'right', vertical: 'top' }}
anchorOrigin={{ horizontal: 'right', vertical: 'bottom' }}
>
+
+
+
+