UNPKG

test-iki-mini-app

Version:

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

79 lines (77 loc) 2.17 kB
import { create } from "zustand"; import { RepositoryRemote } from "../services"; export const useAddressStore = create((set) => ({ loading: false, allAddress: [], provinces: [], districts: [], wards: [], getAllAddress: async (onFail = () => {}) => { try { set({ loading: true }); const response = await RepositoryRemote.address.getAllAddress(); set({allAddress: response.data.data}) } catch (error) { onFail(error); } set({ loading: false }); }, addAddress: async (form, onSuccess, onFail) => { try { set({ loading: true }); const response = await RepositoryRemote.address.addAddress(form); onSuccess(response); } catch (error) { onFail(error); } set({ loading: false }); }, editAddress: async (id, form, onSuccess, onFail) => { try { set({ loading: true }); const response = await RepositoryRemote.address.editAddress(id, form); onSuccess(response); } catch (error) { onFail(error); } set({ loading: false }); }, deleteAddress: async (id, onSuccess, onFail) => { try { set({ loading: true }); const response = await RepositoryRemote.address.deleteAddress(id); onSuccess(response); } catch (error) { onFail(error); } set({ loading: false }); }, getProvinces: async (onSuccess, onFail) => { try { set({ loading: true }); const response = await RepositoryRemote.address.getProvinces(); localStorage.setItem("provinces", JSON.stringify(response.data.data)); set({ provinces: response.data.data }); onSuccess(response); } catch (error) { onFail(error); } set({ loading: false }); }, getDistrict: async (item, onFail) => { try { const response = await RepositoryRemote.address.getDistrict(item.id); set({ districts: response.data.data }); } catch (error) { onFail(error); } }, getWards: async (item, onFail) => { try { const response = await RepositoryRemote.address.getWards(item.id); set({ wards: response.data.data }); } catch (error) { onFail(error); } }, }));