import { Wallet } from "@/api/user"; import { create } from "zustand"; interface State { wallet: Wallet; score: Wallet["score"]; } interface Action { setWallet: (state: Wallet) => void; setScore: (state: Wallet["score"]) => void; reset: () => void; } const initialState: State = { wallet: { avatar_url: "", currency: "", current_free_score_rollover: 0, current_lose_score_rollover: 0, current_point_rollover: 0, current_score_rollover: 0, deposit: 0, first_pay_time: 0, free_score: 0, lock_point: 0, lock_score: 0, lose_score: 0, nick_name: "", point: 0, score: 0, target_free_score_rollover: 0, target_lose_score_rollover: 0, target_point_rollover: 0, target_score_rollover: 0, total_free_score_rollover: 0, total_lose_score_rollover: 0, total_point_rollover: 0, total_receive_red_packet: 0, total_red_packet: 0, total_score_rollover: 0, user_name: "", notice: { lose_score: 0, }, }, score: undefined, }; export const useWalletStore = create()((set) => { return { ...initialState, setWallet: (wallet) => { set((state) => ({ ...state, wallet })); }, setScore: (score) => { set((state) => ({ ...state, score })); }, reset: () => set(initialState), }; });