From 4acf0f03b6b3c6613a16554c26f05b3dad669d1d Mon Sep 17 00:00:00 2001 From: seaHi Date: Sat, 15 Aug 2026 11:46:10 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=9C=A8=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=90=8E=E5=8F=B0=E5=90=84=E9=A1=B9=E5=88=A0=E9=99=A4=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E4=B8=AD=E4=BD=BF=E7=94=A8=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E7=A1=AE=E8=AE=A4=E5=AF=B9=E8=AF=9D=E6=A1=86=E6=9B=BF=E6=8D=A2?= =?UTF-8?q?=E5=8E=9F=E7=94=9F=20confirm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/routes/admin/categories/+page.svelte | 23 ++++++++++++++++------- src/routes/admin/files/+page.svelte | 16 ++++++++++++++-- src/routes/admin/pages/+page.svelte | 22 +++++++++++++++------- src/routes/admin/posts/+page.svelte | 22 +++++++++++++++------- src/routes/admin/series/+page.svelte | 19 ++++++++++++++++--- src/routes/admin/tags/+page.svelte | 21 ++++++++++++++++----- 6 files changed, 92 insertions(+), 31 deletions(-) diff --git a/src/routes/admin/categories/+page.svelte b/src/routes/admin/categories/+page.svelte index 0ea5ffd..8375d46 100644 --- a/src/routes/admin/categories/+page.svelte +++ b/src/routes/admin/categories/+page.svelte @@ -2,6 +2,7 @@ import { page } from '$app/stores'; import type { PageData, ActionData } from './$types'; import { createSlugAutoHandler } from '$lib/utils/slugify'; + import { confirmState } from '$lib/stores/confirm.svelte'; let { data, form }: { data: PageData; form: ActionData } = $props(); @@ -111,13 +112,21 @@ action="?/delete" method="POST" class="inline-form" - onsubmit={(e) => { - if ( - !confirm( - `确定要删除${$page.data.aliases?.category || '分类'} "${category.name}" 吗?删除后相关文章将归为未${$page.data.aliases?.category || '分类'}。` - ) - ) - e.preventDefault(); + onsubmit={async (e) => { + if ((e.target as HTMLFormElement).dataset.confirmed === 'true') { + (e.target as HTMLFormElement).removeAttribute('data-confirmed'); + return; + } + e.preventDefault(); + const form = e.target as HTMLFormElement; + const submitter = e.submitter; + const confirmed = await confirmState.show( + `确定要删除${$page.data.aliases?.category || '分类'} "${category.name}" 吗?删除后相关文章将归为未${$page.data.aliases?.category || '分类'}。` + ); + if (confirmed) { + form.dataset.confirmed = 'true'; + form.requestSubmit(submitter); + } }} > diff --git a/src/routes/admin/files/+page.svelte b/src/routes/admin/files/+page.svelte index be8c754..1b78a39 100644 --- a/src/routes/admin/files/+page.svelte +++ b/src/routes/admin/files/+page.svelte @@ -4,6 +4,7 @@ import { enhance } from '$app/forms'; import type { ActionData, PageData } from './$types'; import { addToast } from '$lib/stores/toast.svelte'; + import { confirmState } from '$lib/stores/confirm.svelte'; let { data, form } = $props<{ data: PageData; form: ActionData }>(); @@ -156,8 +157,19 @@