<script lang="ts"> import { addCircle, type CircleInput } from '$gql/Mutations'; import Dialog from '$lib/components/Dialog.svelte'; import SubmitButton from '$lib/components/SubmitButton.svelte'; import CircleForm from '$lib/forms/CircleForm.svelte'; import { toastFinally } from '$lib/Toasts'; import { getContextClient } from '@urql/svelte'; import { closeModal } from 'svelte-modals'; const client = getContextClient(); export let isOpen: boolean; let circle = { name: '' }; function add(event: CustomEvent<CircleInput>) { addCircle(client, { input: event.detail }).then(closeModal).catch(toastFinally); } </script> <Dialog {isOpen}> <svelte:fragment slot="header"> <h2>Add Circle</h2> </svelte:fragment> <CircleForm bind:circle on:submit={add}> <div class="flex justify-end gap-4"> <SubmitButton active={circle.name.length > 0} /> </div> </CircleForm> </Dialog>