import { MissionOptionalDefaults } from "@repo/db/zod"; import { create } from "zustand"; interface MissionStore { missions: MissionOptionalDefaults[]; setMissions: (missions: MissionOptionalDefaults[]) => void; setMission: (mission: MissionOptionalDefaults) => void; } export const useMissionsStore = create((set) => ({ missions: [ { state: "draft", id: "01250325", addressLat: 52.520008, addressLng: 13.404954, addressStreet: "Alexanderplatz", addressCity: "Berlin", addressZip: "10178", missionAdditionalInfo: "Additional info", missionCategory: "AB_Atmung", missionKeyword: "Zunehmende Beschwerden", missionSummary: "AB1_0", missionPatientInfo: "M/10", }, ], setMissions: (missions) => set({ missions }), setMission: (mission) => set((state) => { const existingMissionIndex = state.missions.findIndex( (m) => m.id === mission.id, ); if (existingMissionIndex !== -1) { const updatedMissions = [...state.missions]; updatedMissions[existingMissionIndex] = mission; return { missions: updatedMissions }; } else { return { missions: [...state.missions, mission] }; } }), }));