diff --git a/web/src/components/Dialog.jsx b/web/src/components/Dialog.jsx
index 22347ae59..1ac3d500f 100644
--- a/web/src/components/Dialog.jsx
+++ b/web/src/components/Dialog.jsx
@@ -32,11 +32,11 @@ export default function Dialog({ actions = [], portalRootID = 'dialogs', title,
{text}
- {actions.map(({ color, text, onClick }, i) => (
-
- ))}
+ {actions.map(({ color, text, onClick, ...props }, i) => (
+
+ ))}
diff --git a/web/src/routes/Event.jsx b/web/src/routes/Event.jsx
index 6640f0dbd..d1b2d2bfa 100644
--- a/web/src/routes/Event.jsx
+++ b/web/src/routes/Event.jsx
@@ -14,25 +14,46 @@ export default function Event({ eventId }) {
const apiHost = useApiHost();
const { data, status } = useEvent(eventId);
const [showDialog, setShowDialog] = useState(false);
+ const [deleteStatus, setDeleteStatus] = useState(FetchStatus.NONE);
+ const [deleteMessage, setDeleteMessage] = useState();
const handleClickDelete = () => {
setShowDialog(true);
- }
+ };
const handleDismissDeleteDialog = () => {
setShowDialog(false);
};
- const handleClickDeleteDialog = useCallback(
- async () => {
- await fetch(`${apiHost}/api/events/${eventId}`, {method: 'DELETE'});
+
+ const handleClickDeleteDialog = useCallback(async () => {
+
+ setDeleteStatus(FetchStatus.LOADING);
+ let success;
+ try {
+ debugger;
+ const response = await fetch(`${apiHost}/api/events/${eventId}`, { method: 'DELETE' });
+ debugger;
+ const deleteEvent = await response.json();
+
+ success = deleteEvent.success;
+ debugger;
+ setDeleteStatus(success ? FetchStatus.LOADED : FetchStatus.ERROR);
+ setDeleteMessage(deleteEvent.message);
+ } catch (e) {
+ setDeleteStatus(FetchStatus.ERROR);
+ }
+
+ if (success) {
+ setDeleteStatus(FetchStatus.LOADED);
setShowDialog(false);
route('/events', true);
- }, [apiHost, eventId, setShowDialog]
- );
+
+ }
+ }, [apiHost, eventId, setShowDialog]);
if (status !== FetchStatus.LOADED) {
- return ;
+ return
}
const startime = new Date(data.start_time * 1000);
@@ -44,8 +65,8 @@ export default function Event({ eventId }) {
{data.camera} {data.label} {startime.toLocaleString()}
-