UNPKG

test-iki-mini-app

Version:

ứng dựng bán hàng trên mini app z a l o

55 lines (54 loc) 1.66 kB
import { create } from "zustand"; import { RepositoryRemote } from "../services"; export const useAccountStore = create((set) => ({ accountInfo: {}, loading: false, getInfoAccount: async (onSuccess = () => {}, onFail = () => {}) => { try { set({ loading: true }); const response = await RepositoryRemote.account.getInfoAccount(); localStorage.setItem("profile" , JSON.stringify(response.data.data)) set({accountInfo: response.data.data}) onSuccess(response); } catch (error) { onFail(error); } set({ loading: false }); }, editInfoAccount: async (form, onSuccess, onFail) => { try { set({ loading: true }); const response = await RepositoryRemote.account.editInfoAccount(form); set({accountInfo: response.data.data}) onSuccess(response); } catch (error) { onFail(error); } set({ loading: false }); }, changePassword: async (form, onSuccess, onFail) => { try { set({ loading: true }); const response = await RepositoryRemote.account.changePassword(form); onSuccess(response); } catch (error) { onFail(error); } set({ loading: false }); }, getUrlImage: async (form, onSuccess, onFail) => { try { set({ loading: true }); const response = await RepositoryRemote.account.getUrlImage(form); set((prev) => ({accountInfo : {...prev.accountInfo, avatar_image: response.data.data}})) onSuccess(response); } catch (error) { onFail(error); } set({ loading: false }); }, resetAccountStore: () => { set({ loading: false }); set({ accountInfo: {} }); } }));