diff --git a/frontend/src/routes/admin/groups/[id]/+page.svelte b/frontend/src/routes/admin/groups/[id]/+page.svelte index abe20d6b..898a8214 100644 --- a/frontend/src/routes/admin/groups/[id]/+page.svelte +++ b/frontend/src/routes/admin/groups/[id]/+page.svelte @@ -2,12 +2,24 @@ import { enhance } from '$app/forms'; import { beforeNavigate, goto } from '$app/navigation'; import { m } from '$lib/paraglide/messages.js'; +import { getConfirmService } from '$lib/services/confirm.svelte.js'; let { data, form } = $props(); +const { confirm } = getConfirmService(); + let isDirty = $state(false); let showUnsavedWarning = $state(false); let discardTarget: string | null = $state(null); +let deleteFormEl = $state(null); + +async function handleDelete() { + const confirmed = await confirm({ + title: m.admin_group_delete_confirm(), + destructive: true + }); + if (confirmed) deleteFormEl!.requestSubmit(); +} beforeNavigate(({ cancel, to }) => { if (isDirty) { @@ -59,18 +71,10 @@ const ADMIN_PERMISSIONS = $derived([

{m.admin_group_edit_heading({ name: data.group.name })}

-
{ - if (!confirm(m.admin_group_delete_confirm())) cancel(); - return async ({ update }) => { - await update(); - }; - }} - > +