DeleteEventTrigger.tsx43 lines · main
| 1 | import { TextConfirmModal } from '@/components/ui/TextConfirmModalWrapper' |
| 2 | import type { DatabaseEventTrigger } from '@/data/database-event-triggers/database-event-triggers-query' |
| 3 | |
| 4 | interface DeleteEventTriggerProps { |
| 5 | trigger?: DatabaseEventTrigger |
| 6 | visible: boolean |
| 7 | onCancel: () => void |
| 8 | onDelete: () => void |
| 9 | isLoading: boolean |
| 10 | } |
| 11 | |
| 12 | export const DeleteEventTrigger = ({ |
| 13 | trigger, |
| 14 | visible, |
| 15 | onCancel, |
| 16 | onDelete, |
| 17 | isLoading, |
| 18 | }: DeleteEventTriggerProps) => { |
| 19 | const name = trigger?.name ?? '' |
| 20 | |
| 21 | return ( |
| 22 | <TextConfirmModal |
| 23 | variant="warning" |
| 24 | visible={visible} |
| 25 | onCancel={onCancel} |
| 26 | onConfirm={onDelete} |
| 27 | title="Delete this event trigger" |
| 28 | loading={isLoading} |
| 29 | confirmLabel={`Delete trigger ${name}`} |
| 30 | confirmPlaceholder="Type in name of trigger" |
| 31 | confirmString={name} |
| 32 | text={ |
| 33 | <> |
| 34 | This will delete your event trigger called{' '} |
| 35 | <span className="text-bold text-foreground">{name}</span>. |
| 36 | </> |
| 37 | } |
| 38 | alert={{ |
| 39 | title: 'You cannot recover this event trigger once deleted.', |
| 40 | }} |
| 41 | /> |
| 42 | ) |
| 43 | } |