summaryrefslogblamecommitdiffstatshomepage
path: root/frontend/src/lib/forms/WorldForm.svelte
blob: 103dd5b0c3cc50fdc3dd86e3f08c2285c8aac405 (plain) (tree)
























                                                                                 
<script lang="ts">
	import { type WorldInput } from '$gql/Mutations';
	import { type OmitIdentifiers } from '$gql/Utils';
	import { type World } from '$gql/graphql';
	import Labelled from '$lib/components/Labelled.svelte';
	import { createEventDispatcher } from 'svelte';

	const dispatch = createEventDispatcher<{ submit: WorldInput }>();

	export let world: OmitIdentifiers<World>;

	function submit() {
		dispatch('submit', { name: world.name });
	}
</script>

<form on:submit|preventDefault={submit}>
	<div class="grid-labels">
		<Labelled label="Name" let:id>
			<!-- svelte-ignore a11y-autofocus -->
			<input autofocus required {id} bind:value={world.name} />
		</Labelled>
	</div>
	<slot />
</form>