added delete functionality and updated button styles
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { faCheck, faX } from "@fortawesome/free-solid-svg-icons";
|
||||
import { faCheck, faTrash, faX } from "@fortawesome/free-solid-svg-icons";
|
||||
import type { SightingType } from "../../types/types";
|
||||
import NumberPlate from "../PlateStack/NumberPlate";
|
||||
import ModalComponent from "../UI/ModalComponent";
|
||||
@@ -14,12 +14,14 @@ type SightingModalProps = {
|
||||
isSightingModalOpen: boolean;
|
||||
handleClose: () => void;
|
||||
sighting: SightingType | null;
|
||||
onDelete?: () => void;
|
||||
};
|
||||
|
||||
const SightingModal = ({
|
||||
isSightingModalOpen,
|
||||
handleClose,
|
||||
sighting,
|
||||
onDelete,
|
||||
}: SightingModalProps) => {
|
||||
const { dispatch } = useAlertHitContext();
|
||||
|
||||
@@ -34,6 +36,13 @@ const SightingModal = ({
|
||||
handleClose();
|
||||
};
|
||||
|
||||
const handleDeleteClick = () => {
|
||||
if (!onDelete) return;
|
||||
onDelete();
|
||||
handleClose();
|
||||
toast.success("Sighting removed from alert list");
|
||||
};
|
||||
|
||||
const motionAway = (sighting?.motion ?? "").toUpperCase() === "AWAY";
|
||||
const isHotListHit = sighting?.metadata?.hotlistMatches?.Hotlist0 === true;
|
||||
const isNPEDHitA = sighting?.metadata?.npedJSON?.["NPED CATEGORY"] === "A";
|
||||
@@ -147,20 +156,40 @@ const SightingModal = ({
|
||||
</div>
|
||||
|
||||
<div className="mt-3 flex flex-col-reverse gap-3 md:flex-row md:justify-center">
|
||||
<button
|
||||
className="inline-flex items-center justify-center gap-2 rounded-lg px-5 py-3 bg-green-600 text-white hover:bg-green-700 w-full md:w-full"
|
||||
onClick={handleAcknowledgeButton}
|
||||
>
|
||||
<FontAwesomeIcon icon={faCheck} />
|
||||
Accept
|
||||
</button>
|
||||
<button
|
||||
className="inline-flex items-center justify-center gap-2 rounded-lg px-5 py-3 bg-red-600 text-white hover:bg-red-700 w-full md:w-full"
|
||||
onClick={handleClose}
|
||||
>
|
||||
<FontAwesomeIcon icon={faX} />
|
||||
Deny
|
||||
</button>
|
||||
{onDelete ? (
|
||||
<button
|
||||
className="inline-flex items-center justify-center gap-2 rounded-lg px-5 py-3 bg-blue-600 text-white hover:bg-blue-700 w-full md:w-full"
|
||||
onClick={handleClose}
|
||||
>
|
||||
<FontAwesomeIcon icon={faX} />
|
||||
Close
|
||||
</button>
|
||||
) : (
|
||||
<button
|
||||
className="inline-flex items-center justify-center gap-2 rounded-lg px-5 py-3 bg-green-600 text-white hover:bg-green-700 w-full md:w-full"
|
||||
onClick={handleAcknowledgeButton}
|
||||
>
|
||||
<FontAwesomeIcon icon={faCheck} />
|
||||
Accept
|
||||
</button>
|
||||
)}
|
||||
{onDelete ? (
|
||||
<button
|
||||
className="inline-flex items-center justify-center gap-2 rounded-lg px-5 py-3 bg-red-600 text-white hover:bg-red-700 w-full md:w-full"
|
||||
onClick={handleDeleteClick}
|
||||
>
|
||||
<FontAwesomeIcon icon={faTrash} />
|
||||
Delete
|
||||
</button>
|
||||
) : (
|
||||
<button
|
||||
className="inline-flex items-center justify-center gap-2 rounded-lg px-5 py-3 bg-red-600 text-white hover:bg-red-700 w-full md:w-full"
|
||||
onClick={handleClose}
|
||||
>
|
||||
<FontAwesomeIcon icon={faX} />
|
||||
Deny
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</ModalComponent>
|
||||
|
||||
Reference in New Issue
Block a user