summaryrefslogtreecommitdiffstatshomepage
path: root/frontend/src/lib/dialogs/AddArtist.svelte
diff options
context:
space:
mode:
authorWolfgang Müller2025-02-13 17:52:16 +0100
committerWolfgang Müller2025-02-13 17:52:16 +0100
commitdc4db405d2991d3ec6a114f3b08d3fccd057d3ee (patch)
tree2c620c9af2062ba09fa591f8b3ed961664adab58 /frontend/src/lib/dialogs/AddArtist.svelte
parent4df870d793123be95c8af031a340a39b5b8402ac (diff)
downloadhircine-dc4db405d2991d3ec6a114f3b08d3fccd057d3ee.tar.gz
frontend: Migrate to Svelte 5
Diffstat (limited to '')
-rw-r--r--frontend/src/lib/dialogs/AddArtist.svelte26
1 files changed, 9 insertions, 17 deletions
diff --git a/frontend/src/lib/dialogs/AddArtist.svelte b/frontend/src/lib/dialogs/AddArtist.svelte
index 6ec93c5..9fc2ca1 100644
--- a/frontend/src/lib/dialogs/AddArtist.svelte
+++ b/frontend/src/lib/dialogs/AddArtist.svelte
@@ -1,30 +1,22 @@
<script lang="ts">
- import { addArtist, type ArtistInput } from '$gql/Mutations';
+ import type { AddArtistInput } from '$gql/graphql';
+ import { addArtist } from '$gql/Mutations';
import Dialog from '$lib/components/Dialog.svelte';
- import SubmitButton from '$lib/components/SubmitButton.svelte';
import ArtistForm from '$lib/forms/ArtistForm.svelte';
import { toastFinally } from '$lib/Toasts';
import { getContextClient } from '@urql/svelte';
- import { closeModal } from 'svelte-modals';
+ import type { ModalProps } from 'svelte-modals';
const client = getContextClient();
- export let isOpen: boolean;
+ let modal: ModalProps = $props();
+ const initial = { name: '' };
- let artist = { name: '' };
-
- function add(event: CustomEvent<ArtistInput>) {
- addArtist(client, { input: event.detail }).then(closeModal).catch(toastFinally);
+ function submit(input: AddArtistInput) {
+ addArtist(client, { input }).then(modal.close).catch(toastFinally);
}
</script>
-<Dialog {isOpen}>
- <svelte:fragment slot="header">
- <h2>Add Artist</h2>
- </svelte:fragment>
- <ArtistForm bind:artist on:submit={add}>
- <div class="flex justify-end gap-4">
- <SubmitButton active={artist.name.length > 0} />
- </div>
- </ArtistForm>
+<Dialog title="Add Artist" {...modal}>
+ <ArtistForm {initial} {submit} />
</Dialog>