summaryrefslogtreecommitdiffstatshomepage
path: root/frontend/src/lib/pagination/Target.svelte
diff options
context:
space:
mode:
authorWolfgang Müller2025-02-13 17:52:16 +0100
committerWolfgang Müller2025-02-13 17:52:16 +0100
commitdc4db405d2991d3ec6a114f3b08d3fccd057d3ee (patch)
tree2c620c9af2062ba09fa591f8b3ed961664adab58 /frontend/src/lib/pagination/Target.svelte
parent4df870d793123be95c8af031a340a39b5b8402ac (diff)
downloadhircine-dc4db405d2991d3ec6a114f3b08d3fccd057d3ee.tar.gz
frontend: Migrate to Svelte 5
Diffstat (limited to 'frontend/src/lib/pagination/Target.svelte')
-rw-r--r--frontend/src/lib/pagination/Target.svelte23
1 files changed, 15 insertions, 8 deletions
diff --git a/frontend/src/lib/pagination/Target.svelte b/frontend/src/lib/pagination/Target.svelte
index 9044bb9..6cbacbb 100644
--- a/frontend/src/lib/pagination/Target.svelte
+++ b/frontend/src/lib/pagination/Target.svelte
@@ -1,21 +1,28 @@
<script lang="ts">
- import { page as pageStore } from '$app/stores';
+ import { page } from '$app/state';
import { navigate } from '$lib/Navigation';
+ import type { Snippet } from 'svelte';
- export let active = false;
+ interface Props {
+ active?: boolean;
+ disabled?: boolean;
+ target: number;
+ children?: Snippet;
+ }
- export let disabled = false;
- export let page: number;
+ let { active = false, disabled = false, target, children }: Props = $props();
+
+ function onclick() {
+ navigate({ pagination: { page: target } }, page.url.searchParams);
+ }
</script>
<button
- on:click={() => {
- navigate({ pagination: { page: page } }, $pageStore.url.searchParams);
- }}
+ {onclick}
class:bg-slate-700={active}
class:bg-slate-800={!active}
class="flex h-8 w-8 items-center justify-center rounded-sm p-0 text-base hover:text-white disabled:text-slate-600"
{disabled}
>
- <slot />
+ {@render children?.()}
</button>