Chỉnh sửa giao diện Tour Dashboard

This commit is contained in:
2026-06-13 22:16:27 +07:00
parent 5e3f10631f
commit c7db2c3ed8
11 changed files with 244 additions and 47 deletions
+4
View File
@@ -6,6 +6,7 @@ interface TourState {
publicTours: any[];
userRole: string | null;
activeLegId: string | null;
mapCenter: [number, number];
setTour: (tour: any) => void;
updateLegs: (legs: any[]) => void;
createTour: (tourData: any) => Promise<any>;
@@ -17,6 +18,7 @@ interface TourState {
addLocation: (tourId: string, locationData: any) => Promise<void>;
optimizeRouting: (legId: string) => Promise<void>;
setActiveLegId: (id: string | null) => void;
setMapCenter: (pos: [number, number]) => void;
fetchTour: (id: string) => Promise<void>;
fetchPublicTours: () => Promise<void>;
}
@@ -27,9 +29,11 @@ export const useTourStore = create<TourState>((set, get) => ({
publicTours: [],
userRole: null,
activeLegId: null,
mapCenter: [10.7769, 106.7009],
setTour: (tour) => set({ currentTour: tour }),
updateLegs: (legs) => set({ legs }),
setActiveLegId: (id) => set({ activeLegId: id }),
setMapCenter: (pos) => set({ mapCenter: pos }),
fetchTour: async (id: string) => {
const API_BASE = `http://${window.location.hostname}:3001`;
const response = await fetch(`${API_BASE}/api/v1/tours/${id}`);