<script lang="ts"> import { UpdateMode } from '$gql/graphql'; import { updateComics } from '$gql/Mutations'; import { getSelectionContext } from '$lib/selection/Selection.svelte'; import { toastFinally } from '$lib/Toasts'; import { fadeDefault } from '$lib/Transitions'; import { getContextClient } from '@urql/svelte'; import { fade } from 'svelte/transition'; const client = getContextClient(); const selection = getSelectionContext(); let { id }: { id: number } = $props(); function onclick(event: MouseEvent) { event.preventDefault(); updateComics(client, { ids: id, input: { pages: { ids: selection.ids, options: { mode: UpdateMode.Add } } } }) .then(() => selection.none()) .catch(toastFinally); } </script> {#if selection.size > 0} <div class="absolute left-1 top-1" transition:fade={fadeDefault}> <button type="button" class="btn-blue rounded-full shadow-xs shadow-black" title="Add to this comic" aria-label="Add to this comic" {onclick} > <span class="icon-base icon-[material-symbols--note-add]"></span> </button> </div> {/if}