thêm zustand để cấu hình global state, hook để lấy platform, thêm polyline và polygon b vào map

This commit is contained in:
Tran Anh Tuan
2025-10-31 19:54:16 +07:00
parent 2fac0b8093
commit 5801992eae
19 changed files with 1202 additions and 89 deletions

27
state/use-banzones.ts Normal file
View File

@@ -0,0 +1,27 @@
import { queryBanzones } from "@/controller/MapController";
import { create } from "zustand";
type Banzone = {
banzones: Model.Zone[];
getBanzone: () => Promise<void>;
error: string | null;
loading?: boolean;
};
export const useBanzones = create<Banzone>()((set) => ({
banzones: [],
getBanzone: async () => {
set({ loading: true });
try {
const response = await queryBanzones();
console.log("Banzone fetching: ", response.data.length);
set({ banzones: response.data, loading: false });
} catch (error) {
console.error("Error when fetch Banzones: ", error);
set({ error: "Failed to fetch banzone data", loading: false });
set({ banzones: [] });
}
},
error: null,
}));