summaryrefslogtreecommitdiffstatshomepage
path: root/frontend/src/lib/toolbar/FilterBookmarked.svelte
blob: bcbe2956fb86d178115e257e371beb875e705529 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<script lang="ts">
	import { page } from '$app/stores';
	import { ComicFilterContext, cycleBooleanFilter, getFilterContext } from '$lib/Filter';
	import { accelerator } from '$lib/Shortcuts';
	import Bookmark from '$lib/icons/Bookmark.svelte';

	const filter = getFilterContext<ComicFilterContext>();
	$: bookmarked = $filter.include.controls.bookmarked.value;

	const toggle = () => {
		$filter.include.controls.bookmarked.value = cycleBooleanFilter(bookmarked, false);
		$filter.apply($page.url.searchParams);
	};
</script>

<button
	class:toggled={bookmarked}
	class="btn-slate"
	title="Filter bookmarked"
	on:click={toggle}
	use:accelerator={'b'}
>
	<Bookmark {bookmarked} />
</button>