aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Layout/NumberTicker.svelte
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-10-28 15:32:46 -0700
committerFuwn <[email protected]>2024-10-28 15:32:46 -0700
commit39b677404558ae3b7eb34e818d7ca308f62f9cb0 (patch)
tree7f19fca39ecd4237e3c0d1aef2d8e9fa3cec7845 /src/lib/Layout/NumberTicker.svelte
parentfeat(graphql): paged badges query (diff)
downloaddue.moe-svelte-5.tar.xz
due.moe-svelte-5.zip
feat: update to svelte 5svelte-5
Diffstat (limited to 'src/lib/Layout/NumberTicker.svelte')
-rw-r--r--src/lib/Layout/NumberTicker.svelte25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/lib/Layout/NumberTicker.svelte b/src/lib/Layout/NumberTicker.svelte
index b5e2f49c..3bd7e6c8 100644
--- a/src/lib/Layout/NumberTicker.svelte
+++ b/src/lib/Layout/NumberTicker.svelte
@@ -1,11 +1,24 @@
<script>
+ import { run } from 'svelte/legacy';
+
import { tweened } from 'svelte/motion';
import { cubicOut } from 'svelte/easing';
- export let start = 0;
- export let end = 100;
- export let duration = 2000;
- export let delay = 0;
+ /**
+ * @typedef {Object} Props
+ * @property {number} [start]
+ * @property {number} [end]
+ * @property {number} [duration]
+ * @property {number} [delay]
+ */
+
+ /** @type {Props} */
+ let {
+ start = 0,
+ end = 100,
+ duration = 2000,
+ delay = 0
+ } = $props();
const count = tweened(start, {
duration: duration,
@@ -13,9 +26,9 @@
delay: delay
});
- $: {
+ run(() => {
count.set(end);
- }
+ });
</script>
<span class="counter" class:visible={$count !== start}>