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 @@