From de51f5b6f48f052f06d6754d20af6fdd3b6ebe4e Mon Sep 17 00:00:00 2001 From: huanshenyi Date: Sun, 2 Apr 2023 21:18:56 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=A6=E3=83=BC=E3=82=B6=E3=83=BC=E6=83=85?= =?UTF-8?q?=E5=A0=B1=E6=B0=B8=E7=B6=9A=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/features/settings/components/Layout.tsx | 9 +++++- src/stores/globalStates/user.ts | 33 +++++++++++---------- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/src/features/settings/components/Layout.tsx b/src/features/settings/components/Layout.tsx index 5604ad3..963d151 100644 --- a/src/features/settings/components/Layout.tsx +++ b/src/features/settings/components/Layout.tsx @@ -1,8 +1,15 @@ import { ReactNode, useEffect } from 'react'; import { themeChange } from 'theme-change'; +import dynamic from 'next/dynamic'; import Navbar from '~/features/settings/components/Navbar'; -import Sidebar from '~/features/settings/components/Sidebar'; + +const Sidebar = dynamic( + () => import('~/features/settings/components/Sidebar'), + { + ssr: false, + }, +); type LayoutProps = { children: ReactNode }; diff --git a/src/stores/globalStates/user.ts b/src/stores/globalStates/user.ts index 0fc3b51..85a1d5b 100644 --- a/src/stores/globalStates/user.ts +++ b/src/stores/globalStates/user.ts @@ -1,4 +1,5 @@ import create from 'zustand'; +import { persist } from 'zustand/middleware'; export type User = { id: string; @@ -15,18 +16,20 @@ type UserStore = { regiestUser: (user: User) => void; }; -export const useUserStore = create((set) => ({ - user: { - id: '', - name: '', - image: '', - githubUsername: '', - twitterUsername: '', - githubIsPublic: false, - twitterIsPublic: false, - }, - regiestUser: (user) => - set(() => ({ - user: { ...user }, - })), -})); +export const useUserStore = create()( + persist((set) => ({ + user: { + id: '', + name: '', + image: '', + githubUsername: '', + twitterUsername: '', + githubIsPublic: false, + twitterIsPublic: false, + }, + regiestUser: (user) => + set(() => ({ + user: { ...user }, + })), + })), +);