Update mode-toggle and package manager version

Added a function in 'mode-toggle.tsx' to set the theme as a cookie and changed the package manager version in 'package.json'. The theme selection by the user is now stored in a cookie for persistence across sessions, and an upgrade was made to the package manager for improved dependencies management.
This commit is contained in:
giancarlo
2024-03-29 18:42:19 +08:00
parent e9c7a93290
commit 163eff6583
2 changed files with 12 additions and 6 deletions

View File

@@ -23,7 +23,7 @@
"supabase:typegen": "pnpm --filter '@kit/supabase-config' typegen"
},
"prettier": "@kit/prettier-config",
"packageManager": "npm@10.2.3",
"packageManager": "pnpm@8.15.5",
"workspaces": [
"apps/*",
"packages/*",

View File

@@ -30,6 +30,7 @@ export function ModeToggle() {
key={mode}
onClick={() => {
setTheme(mode);
setCookeTheme(mode);
}}
>
<Trans i18nKey={`common:${mode}Theme`} />
@@ -57,18 +58,19 @@ export function SubMenuModeToggle() {
const MenuItems = useMemo(
() =>
['light', 'dark', 'system'].map((item) => {
['light', 'dark', 'system'].map((mode) => {
return (
<DropdownMenuItem
className={'justify-between'}
key={item}
key={mode}
onClick={() => {
setTheme(item);
setTheme(mode);
setCookeTheme(mode);
}}
>
<Trans i18nKey={`common:${item}Theme`} />
<Trans i18nKey={`common:${mode}Theme`} />
<If condition={theme === item}>
<If condition={theme === mode}>
<CheckCircle className={'mr-2 h-3'} />
</If>
</DropdownMenuItem>
@@ -97,3 +99,7 @@ export function SubMenuModeToggle() {
</DropdownMenuSub>
);
}
function setCookeTheme(theme: string) {
document.cookie = `theme=${theme}; path=/; max-age=31536000`;
}