diff --git a/src/lib/layout/wizard.svelte b/src/lib/layout/wizard.svelte
index bf559b61e..1b5621da0 100644
--- a/src/lib/layout/wizard.svelte
+++ b/src/lib/layout/wizard.svelte
@@ -12,22 +12,33 @@
import { Steps } from '$lib/components';
import { Button, Form } from '$lib/elements/forms';
import { wizard } from '$lib/stores/wizard';
- import type { SvelteComponent } from 'svelte';
+ import { createEventDispatcher, type SvelteComponent } from 'svelte';
export let title: string;
export let steps: WizardStepsType;
export let finalAction = 'Create';
+ const dispatch = createEventDispatcher();
+
let currentStep = 1;
- const handleKeydown = (event: KeyboardEvent) => {
+ function handleKeydown(event: KeyboardEvent) {
if (event.key === 'Escape') {
event.preventDefault();
wizard.hide();
}
- };
+ }
+
+ function submit() {
+ if (isLastStep) {
+ dispatch('finish');
+ } else {
+ currentStep++;
+ }
+ }
$: prepared = [...steps].sort(([a], [b]) => (a > b ? 1 : -1));
+ $: isLastStep = currentStep === steps.size;