aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/handler.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/handler.ts')
-rw-r--r--src/lib/handler.ts14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/lib/handler.ts b/src/lib/handler.ts
new file mode 100644
index 00000000..05e484ec
--- /dev/null
+++ b/src/lib/handler.ts
@@ -0,0 +1,14 @@
+import { goto } from "$app/navigation";
+import { applyAction } from "$app/forms";
+
+export default (submitting) =>
+ ({ formElement, formData, action, cancel }) => {
+ submitting = true;
+ return async ({ result }) => {
+ if (result.type === "redirect") {
+ goto(result.location);
+ } else {
+ await applyAction(result);
+ }
+ };
+ };