45 lines
1.1 KiB
TypeScript
45 lines
1.1 KiB
TypeScript
import { create } from "zustand";
|
|
|
|
interface Mission {
|
|
id: string;
|
|
addressLat: number;
|
|
addressLng: number;
|
|
addressStreet: string;
|
|
addressCity: string;
|
|
addressZip: string;
|
|
missionCategory: string;
|
|
missionKeyword: string;
|
|
missionSummary: string;
|
|
missionPatientInfo: string;
|
|
missionAdditionalInfo: string;
|
|
hpgAmbulanceState?: "ready" | "arrived" | "onway";
|
|
hpgFireEngineState?: "ready" | "arrived" | "onway";
|
|
hpgPoliceState?: "ready" | "arrived" | "onway";
|
|
hpgLocationLat?: number;
|
|
hpgLocationLng?: number;
|
|
}
|
|
|
|
interface MissionStore {
|
|
missions: Mission[];
|
|
setMissions: (missions: Mission[]) => void;
|
|
}
|
|
|
|
export const useMissionsStore = create<MissionStore>((set) => ({
|
|
missions: [
|
|
{
|
|
id: "01250325",
|
|
addressLat: 52.520008,
|
|
addressLng: 13.404954,
|
|
addressStreet: "Alexanderplatz",
|
|
addressCity: "Berlin",
|
|
addressZip: "10178",
|
|
missionAdditionalInfo: "Additional info",
|
|
missionCategory: "Category",
|
|
missionKeyword: "Keyword",
|
|
missionPatientInfo: "Patient info",
|
|
missionSummary: "Summary",
|
|
},
|
|
],
|
|
setMissions: (missions) => set({ missions }),
|
|
}));
|