작업중

This commit is contained in:
focp212@naver.com
2025-09-29 16:59:26 +09:00
parent 74ab29f80a
commit 0a747469a6
18 changed files with 313 additions and 111 deletions

View File

@@ -1,26 +1,33 @@
import { lens } from '@dhmk/zustand-lens';
import { SetStateAction } from 'react';
import { UserInfo } from './types';
import { UserFavorite, UserInfo } from './types';
import { StorageKeys } from '@/shared/constants/local-storage';
export interface UserInfoState {
userInfo: UserInfo;
setUserInfo: (update: SetStateAction<Partial<UserInfo>>) => void;
resetUserInfo: () => void;
userFavorite: Array<UserFavorite>;
setUserFavorite: (update: SetStateAction<Array<UserFavorite>>) => void;
};
const initialState = {
const initialUserInfoState = {
userInfo: {} as UserInfo,
userFavorite: [] as Array<UserFavorite>
} as UserInfoState;
export const createUserInfoStore = lens<UserInfoState>((set, get) => ({
...initialState,
...initialUserInfoState,
setUserInfo: (update) => {
set((state: UserInfoState) => {
const newUserInfo = typeof update === 'function' ? update(state.userInfo) : update;
const newUserInfo = (typeof update === 'function')
? update(state.userInfo): update;
return {
...state,
userInfo: { ...state.userInfo, ...newUserInfo },
userInfo: {
...state.userInfo,
...newUserInfo
},
};
});
},
@@ -34,6 +41,19 @@ export const createUserInfoStore = lens<UserInfoState>((set, get) => ({
window.localStorage.removeItem(StorageKeys.Usrid);
// window.localStorage.removeItem(StorageKeys.ClientAddressIP);
// window.localStorage.removeItem(StorageKeys.Requires2FA);
set(initialState);
set(initialUserInfoState);
},
setUserFavorite: (update) => {
set((state: UserInfoState) => {
const newUserFavorite = (typeof update === 'function')
? update(state.userFavorite): update;
return {
...state,
userFavorite: {
...state.userFavorite,
...newUserFavorite
},
};
});
},
}));