<script lang="ts"> import { updateComics } from '$gql/Mutations'; import { UpdateMode } from '$gql/graphql'; import { getSelectionContext } from '$lib/Selection'; 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(); export let id: number; function addPages() { updateComics(client, { ids: id, input: { pages: { ids: $selection.ids, options: { mode: UpdateMode.Add } } } }) .then(() => ($selection = $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-sm shadow-black" title="Add to this comic" on:click|preventDefault={addPages} > <span class="icon-base icon-[material-symbols--note-add]" /> </button> </div> {/if}