This commit is contained in:
nocnico
2025-05-21 23:48:56 +02:00
8 changed files with 165 additions and 28 deletions

View File

@@ -105,6 +105,9 @@ export const MissionForm = () => {
});
const { missionFormValues, setOpen } = usePannelStore((state) => state);
const missionInfoText = form.watch("missionAdditionalInfo");
const hpgMissionString = form.watch("hpgMissionString");
useEffect(() => {
if (session.data?.user.id) {
form.setValue("createdUserId", session.data.user.id);
@@ -178,7 +181,7 @@ export const MissionForm = () => {
</div>
<input
type="text"
{...form.register("missionAdditionalInfo")}
{...form.register("addressAdditionalInfo")}
placeholder="Zusätzliche Adressinformationen"
className="input input-primary input-bordered w-full mt-4"
/>
@@ -342,10 +345,16 @@ export const MissionForm = () => {
onClick={form.handleSubmit(
async (mission: MissionOptionalDefaults) => {
try {
const hpgSzenario = mission.hpgMissionString?.split(":")[0];
const newMission = await editMissionMutation.mutateAsync({
id: Number(editingMissionId),
mission:
mission as unknown as Partial<Prisma.MissionUpdateInput>,
mission: {
...(mission as unknown as Prisma.MissionCreateInput),
missionAdditionalInfo:
!mission.missionAdditionalInfo.length && hpgSzenario
? `HPG-Szenario: ${hpgSzenario}`
: mission.missionAdditionalInfo,
},
});
toast.success(
`Einsatz ${newMission.id} erfolgreich aktualisiert`,
@@ -372,14 +381,18 @@ export const MissionForm = () => {
onClick={form.handleSubmit(
async (mission: MissionOptionalDefaults) => {
try {
const hpgSzenario =
mission.hpgMissionString?.split(":")[0];
const newMission =
await createMissionMutation.mutateAsync(
mission as unknown as Prisma.MissionCreateInput,
);
await createMissionMutation.mutateAsync({
...(mission as unknown as Prisma.MissionCreateInput),
missionAdditionalInfo:
!mission.missionAdditionalInfo.length && hpgSzenario
? `HPG-Szenario: ${hpgSzenario}`
: mission.missionAdditionalInfo,
});
await sendAlertMutation.mutateAsync(newMission.id);
setSeachOSMElements([]); // Reset search elements
toast.success(`Einsatz ${newMission.id} erstellt`);
// TODO: Einsatz alarmieren
setOpen(false);
} catch (error) {
toast.error(
@@ -397,10 +410,16 @@ export const MissionForm = () => {
onClick={form.handleSubmit(
async (mission: MissionOptionalDefaults) => {
try {
const hpgSzenario =
mission.hpgMissionString?.split(":")[0];
const newMission =
await createMissionMutation.mutateAsync(
mission as unknown as Prisma.MissionCreateInput,
);
await createMissionMutation.mutateAsync({
...(mission as unknown as Prisma.MissionCreateInput),
missionAdditionalInfo:
!mission.missionAdditionalInfo.length && hpgSzenario
? `HPG-Szenario: ${hpgSzenario}`
: mission.missionAdditionalInfo,
});
setSeachOSMElements([]); // Reset search elements
toast.success(`Einsatz ${newMission.publicId} erstellt`);