Skip to content

Commit

Permalink
feat: api 연동에 따른 user 정보 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
ww8007 committed Jul 10, 2023
1 parent 84c8841 commit 6851eff
Showing 1 changed file with 43 additions and 8 deletions.
51 changes: 43 additions & 8 deletions src/store/auth.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,51 @@
import { create } from 'zustand';
import { devtools, persist } from 'zustand/middleware';

export interface UserInfo {
id: number;
name: string;
nickname: string;
profileEmoji: string;
followersCount: number;
followeesCount: number;
bookmarksCount: number;
}

interface Auth {
isLogin: boolean;
userToken: string;
login: (userToken: string) => void;
token: string;
memberId: number;
userInfo: UserInfo;
setUserInfo: (userInfo: UserInfo) => void;
login: (token: string, memberId: number) => void;
}

const useAuthStore = create<Auth>((set) => ({
isLogin: false,
userToken: '',
login: (userToken: string) =>
set(() => ({ isLogin: true, userToken: userToken })),
}));
const useAuthStore = create<Auth>()(
devtools(
persist(
(set) => ({
isLogin: false,
token: '',
memberId: 0,
userInfo: {
id: 0,
name: '',
nickname: '',
profileEmoji: '😃',
followersCount: 0,
followeesCount: 0,
bookmarksCount: 0,
},
setUserInfo: (userInfo) => {
set({ userInfo });
},
login: (token, memberId) => {
set({ isLogin: true, token, memberId });
},
}),
{ name: 'auth' },
),
),
);

export default useAuthStore;

0 comments on commit 6851eff

Please sign in to comment.