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" "supabase:typegen": "pnpm --filter '@kit/supabase-config' typegen"
}, },
"prettier": "@kit/prettier-config", "prettier": "@kit/prettier-config",
"packageManager": "npm@10.2.3", "packageManager": "pnpm@8.15.5",
"workspaces": [ "workspaces": [
"apps/*", "apps/*",
"packages/*", "packages/*",

View File

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