From d1d654ebac2d51e3841675faeb56480e440f622f Mon Sep 17 00:00:00 2001
From: Wolfgang Müller
Date: Tue, 5 Mar 2024 18:08:09 +0100
Subject: Initial commit

---
 frontend/src/lib/forms/NamespaceForm.svelte | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)
 create mode 100644 frontend/src/lib/forms/NamespaceForm.svelte

(limited to 'frontend/src/lib/forms/NamespaceForm.svelte')

diff --git a/frontend/src/lib/forms/NamespaceForm.svelte b/frontend/src/lib/forms/NamespaceForm.svelte
new file mode 100644
index 0000000..c05b6d8
--- /dev/null
+++ b/frontend/src/lib/forms/NamespaceForm.svelte
@@ -0,0 +1,28 @@
+<script lang="ts">
+	import { type NamespaceInput } from '$gql/Mutations';
+	import { type OmitIdentifiers } from '$gql/Utils';
+	import { type Namespace } from '$gql/graphql';
+	import Labelled from '$lib/components/Labelled.svelte';
+	import { createEventDispatcher } from 'svelte';
+
+	const dispatch = createEventDispatcher<{ submit: NamespaceInput }>();
+
+	export let namespace: OmitIdentifiers<Namespace>;
+
+	function submit() {
+		dispatch('submit', { name: namespace.name, sortName: namespace.sortName });
+	}
+</script>
+
+<form on:submit|preventDefault={submit}>
+	<div class="grid-labels">
+		<Labelled label="Name" let:id>
+			<!-- svelte-ignore a11y-autofocus -->
+			<input required autofocus {id} bind:value={namespace.name} />
+		</Labelled>
+		<Labelled label="Sort name" let:id>
+			<input {id} bind:value={namespace.sortName} />
+		</Labelled>
+	</div>
+	<slot />
+</form>
-- 
cgit v1.2.3-2-gb3c3

