+ {/* Heading */}
+
+ {/* Plain text — XSS guard */}
+ Delete event?
+
+
+ {/* Body */}
+
+ {/* Plain text — XSS guard */}
+ This will be removed from your Fastmail calendar.
+
+
+ {/* Actions — flex row, right-aligned */}
+
+ {/* Cancel — ghost style */}
+
+
+ {/* Delete — filled destructive style, 48px height (UI-SPEC) */}
+
+
+
+ >
+ )
+}
diff --git a/apps/pwa/src/components/EventDetailPopover.tsx b/apps/pwa/src/components/EventDetailPopover.tsx
index 8b64fb6..a57e7b7 100644
--- a/apps/pwa/src/components/EventDetailPopover.tsx
+++ b/apps/pwa/src/components/EventDetailPopover.tsx
@@ -24,7 +24,7 @@
import { useEffect, useRef } from 'react'
import { useQueryClient } from '@tanstack/react-query'
-import { MapPin } from 'lucide-react'
+import { MapPin, Edit2, Trash2 } from 'lucide-react'
import { useCalendarStore } from '../store/calendarStore.js'
import type { CalendarOccurrence } from '../api/client.js'
@@ -107,6 +107,8 @@ function formatDateTime(start: string, end: string, allDay: boolean): string {
*/
export function EventDetailPopover(props: ScheduleXEventModalProps = {}) {
const { openEventId, setOpenEventId } = useCalendarStore()
+ const setEventForm = useCalendarStore((s) => s.setEventForm)
+ const setDeleteDialog = useCalendarStore((s) => s.setDeleteDialog)
const queryClient = useQueryClient()
const dialogRef = useRef