feat: implement recovery incidents dashboard with list view and creation forms
This commit is contained in:
@@ -663,9 +663,7 @@ export default function AddPolicyEngine() {
|
|||||||
await createPolicy(payload);
|
await createPolicy(payload);
|
||||||
}
|
}
|
||||||
|
|
||||||
let actionWord = isDeploy ? 'created' : 'saved as draft';
|
|
||||||
if (isEditMode) {
|
if (isEditMode) {
|
||||||
actionWord = isDeploy ? 'updated' : 'saved as draft';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setSuccessTitle(isDeploy
|
setSuccessTitle(isDeploy
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ import type { RecoveryIncident } from '../RecoveryIncidentsTypes';
|
|||||||
interface AddRecoveryIncidentsProps {
|
interface AddRecoveryIncidentsProps {
|
||||||
isOpen: boolean;
|
isOpen: boolean;
|
||||||
onClose: () => void;
|
onClose: () => void;
|
||||||
onSuccess?: (createdCount: number, flightNumber: string, passengerName: string) => void;
|
onSuccess?: (createdCount: number, flightNumber: string, passengerName: string, isEdit?: boolean) => void;
|
||||||
incident?: RecoveryIncident | null;
|
incident?: RecoveryIncident | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -353,7 +353,8 @@ export default function AddRecoveryIncidents({ isOpen, onClose, onSuccess, incid
|
|||||||
onSuccess(
|
onSuccess(
|
||||||
selectedPassengers.length,
|
selectedPassengers.length,
|
||||||
formData.flightNumber || "TBD",
|
formData.flightNumber || "TBD",
|
||||||
selectedPassengers[0]?.passengerName || "Unknown"
|
selectedPassengers[0]?.passengerName || "Unknown",
|
||||||
|
!!incident
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -143,7 +143,8 @@ export default function RecoveryIncidentsList() {
|
|||||||
count: number;
|
count: number;
|
||||||
flightNumber: string;
|
flightNumber: string;
|
||||||
passengerName: string;
|
passengerName: string;
|
||||||
}>({ isOpen: false, count: 0, flightNumber: "", passengerName: "" });
|
isEdit?: boolean;
|
||||||
|
}>({ isOpen: false, count: 0, flightNumber: "", passengerName: "", isEdit: false });
|
||||||
|
|
||||||
// ─── Fetch data ─────────────────────────────────────────────
|
// ─── Fetch data ─────────────────────────────────────────────
|
||||||
|
|
||||||
@@ -656,12 +657,13 @@ export default function RecoveryIncidentsList() {
|
|||||||
setEditingIncident(null);
|
setEditingIncident(null);
|
||||||
fetchIncidents(); // Refresh list
|
fetchIncidents(); // Refresh list
|
||||||
}}
|
}}
|
||||||
onSuccess={(createdCount, flightNumber, passengerName) => {
|
onSuccess={(createdCount, flightNumber, passengerName, isEdit) => {
|
||||||
setSuccessModalData({
|
setSuccessModalData({
|
||||||
isOpen: true,
|
isOpen: true,
|
||||||
count: createdCount,
|
count: createdCount,
|
||||||
flightNumber,
|
flightNumber,
|
||||||
passengerName,
|
passengerName,
|
||||||
|
isEdit,
|
||||||
});
|
});
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
@@ -673,16 +675,20 @@ export default function RecoveryIncidentsList() {
|
|||||||
setSuccessModalData((prev) => ({ ...prev, isOpen: false }))
|
setSuccessModalData((prev) => ({ ...prev, isOpen: false }))
|
||||||
}
|
}
|
||||||
title={
|
title={
|
||||||
successModalData.count > 1
|
successModalData.isEdit
|
||||||
? "Recovery Incidents Created."
|
? (successModalData.count > 1 ? "Recovery Incidents Updated." : "Recovery Incident Updated.")
|
||||||
: "Recovery Incident Created."
|
: (successModalData.count > 1 ? "Recovery Incidents Created." : "Recovery Incident Created.")
|
||||||
}
|
}
|
||||||
label="FLIGHT & PASSENGER DETAILS"
|
label="FLIGHT & PASSENGER DETAILS"
|
||||||
cohortName={`Flight ${successModalData.flightNumber}`}
|
cohortName={`Flight ${successModalData.flightNumber}`}
|
||||||
cohortDescription={
|
cohortDescription={
|
||||||
successModalData.count > 1
|
successModalData.isEdit
|
||||||
? `Successfully logged incidents for ${successModalData.count} passengers, including ${successModalData.passengerName}.`
|
? (successModalData.count > 1
|
||||||
: `Successfully logged incident for ${successModalData.passengerName}.`
|
? `Successfully updated incidents for ${successModalData.count} passengers, including ${successModalData.passengerName}.`
|
||||||
|
: `Successfully updated incident for ${successModalData.passengerName}.`)
|
||||||
|
: (successModalData.count > 1
|
||||||
|
? `Successfully logged incidents for ${successModalData.count} passengers, including ${successModalData.passengerName}.`
|
||||||
|
: `Successfully logged incident for ${successModalData.passengerName}.`)
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user