feat: implement recovery incidents dashboard with list view and creation forms

This commit is contained in:
azeeee05
2026-08-24 11:35:33 +05:30
parent b024171f08
commit 1b52d7ede4
3 changed files with 17 additions and 12 deletions
@@ -663,9 +663,7 @@ export default function AddPolicyEngine() {
await createPolicy(payload);
}
let actionWord = isDeploy ? 'created' : 'saved as draft';
if (isEditMode) {
actionWord = isDeploy ? 'updated' : 'saved as draft';
}
setSuccessTitle(isDeploy
@@ -18,7 +18,7 @@ import type { RecoveryIncident } from '../RecoveryIncidentsTypes';
interface AddRecoveryIncidentsProps {
isOpen: boolean;
onClose: () => void;
onSuccess?: (createdCount: number, flightNumber: string, passengerName: string) => void;
onSuccess?: (createdCount: number, flightNumber: string, passengerName: string, isEdit?: boolean) => void;
incident?: RecoveryIncident | null;
}
@@ -353,7 +353,8 @@ export default function AddRecoveryIncidents({ isOpen, onClose, onSuccess, incid
onSuccess(
selectedPassengers.length,
formData.flightNumber || "TBD",
selectedPassengers[0]?.passengerName || "Unknown"
selectedPassengers[0]?.passengerName || "Unknown",
!!incident
);
}
}
@@ -143,7 +143,8 @@ export default function RecoveryIncidentsList() {
count: number;
flightNumber: string;
passengerName: string;
}>({ isOpen: false, count: 0, flightNumber: "", passengerName: "" });
isEdit?: boolean;
}>({ isOpen: false, count: 0, flightNumber: "", passengerName: "", isEdit: false });
// ─── Fetch data ─────────────────────────────────────────────
@@ -656,12 +657,13 @@ export default function RecoveryIncidentsList() {
setEditingIncident(null);
fetchIncidents(); // Refresh list
}}
onSuccess={(createdCount, flightNumber, passengerName) => {
onSuccess={(createdCount, flightNumber, passengerName, isEdit) => {
setSuccessModalData({
isOpen: true,
count: createdCount,
flightNumber,
passengerName,
isEdit,
});
}}
/>
@@ -673,16 +675,20 @@ export default function RecoveryIncidentsList() {
setSuccessModalData((prev) => ({ ...prev, isOpen: false }))
}
title={
successModalData.count > 1
? "Recovery Incidents Created."
: "Recovery Incident Created."
successModalData.isEdit
? (successModalData.count > 1 ? "Recovery Incidents Updated." : "Recovery Incident Updated.")
: (successModalData.count > 1 ? "Recovery Incidents Created." : "Recovery Incident Created.")
}
label="FLIGHT & PASSENGER DETAILS"
cohortName={`Flight ${successModalData.flightNumber}`}
cohortDescription={
successModalData.count > 1
? `Successfully logged incidents for ${successModalData.count} passengers, including ${successModalData.passengerName}.`
: `Successfully logged incident for ${successModalData.passengerName}.`
successModalData.isEdit
? (successModalData.count > 1
? `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>