<script lang="ts"> import { getSelectionContext } from '$lib/Selection'; import { toastFinally } from '$lib/Toasts'; import Organized from '$lib/icons/Organized.svelte'; import { Client, getContextClient } from '@urql/svelte'; const client = getContextClient(); const selection = getSelectionContext(); export let mutation: ( client: Client, args: { ids: number[]; input: { organized: boolean } } ) => Promise<unknown>; function mutate(organized: boolean) { mutation(client, { ids: $selection.ids, input: { organized } }).catch(toastFinally); } </script> <button type="button" class="btn-slate flex justify-start gap-1" on:click={() => mutate(true)}> <Organized tristate organized={true} /> <span>Organized</span> </button> <button type="button" class="btn-slate flex justify-start gap-1" on:click={() => mutate(false)}> <Organized dim tristate organized={false} /> <span>Unorganized</span> </button>