diff --git a/.changeset/wicked-humans-taste.md b/.changeset/wicked-humans-taste.md
new file mode 100644
index 000000000000..6600e5791db5
--- /dev/null
+++ b/.changeset/wicked-humans-taste.md
@@ -0,0 +1,5 @@
+---
+'create-svelte': patch
+---
+
+Disable delete button while waiting for API response
diff --git a/packages/create-svelte/templates/default/src/routes/todos/index.svelte b/packages/create-svelte/templates/default/src/routes/todos/index.svelte
index 224e1ef79533..f4db69b1c1e8 100644
--- a/packages/create-svelte/templates/default/src/routes/todos/index.svelte
+++ b/packages/create-svelte/templates/default/src/routes/todos/index.svelte
@@ -31,6 +31,7 @@
created_at: Date;
text: string;
done: boolean;
+ pending_delete: boolean;
};
export let todos: Todo[];
@@ -105,12 +106,13 @@
action="/todos/{todo.uid}.json?_method=delete"
method="post"
use:enhance={{
+ pending: () => (todo.pending_delete = true),
result: () => {
todos = todos.filter((t) => t.uid !== todo.uid);
}
}}
>
-
+
{/each}