From 14fc5cbc54753d3eb370ef20fb5e72d39861ea32 Mon Sep 17 00:00:00 2001 From: Marcel Date: Sun, 12 Apr 2026 14:06:54 +0200 Subject: [PATCH] refactor(admin): replace window.confirm with ConfirmService in admin group delete Co-Authored-By: Claude Sonnet 4.6 --- .../src/routes/admin/groups/[id]/+page.svelte | 26 ++++--- .../admin/groups/[id]/page.svelte.spec.ts | 77 +++++++++++++++---- 2 files changed, 79 insertions(+), 24 deletions(-) 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(); - }; - }} - > +