aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/AppHeader.svelte
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2024-11-07 21:16:25 -0800
committerAdam Soltys <[email protected]>2024-11-08 09:27:40 -0800
commit32fcc461cd43c8907df5e306d520bb671307eab1 (patch)
tree0253780c569998b6c1a5f43026586e94916c3fee /src/components/AppHeader.svelte
parentbe5aa52cea1d57c875cfb22d25c6a866b8de2239 (diff)
downloadcoinos-ui-32fcc461cd43c8907df5e306d520bb671307eab1.tar.gz
coinos-ui-32fcc461cd43c8907df5e306d520bb671307eab1.zip
svelte 5
Diffstat (limited to 'src/components/AppHeader.svelte')
-rw-r--r--src/components/AppHeader.svelte22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/components/AppHeader.svelte b/src/components/AppHeader.svelte
index 5a922792..fef2f0f4 100644
--- a/src/components/AppHeader.svelte
+++ b/src/components/AppHeader.svelte
@@ -1,4 +1,6 @@
<script>
+ import { run } from 'svelte/legacy';
+
import { banner, theme, newPayment } from "$lib/store";
import { goto } from "$app/navigation";
import Avatar from "$comp/Avatar.svelte";
@@ -6,19 +8,21 @@
import { loading, t } from "$lib/translations";
import { page } from "$app/stores";
- export let user, subject;
+ let { user, subject = $bindable() } = $props();
- let w;
- $: if (!subject) subject = user;
+ let w = $state();
+ run(() => {
+ if (!subject) subject = user;
+ });
- $: bg =
- $banner?.id && $banner.id === subject.id
+ let bg =
+ $derived($banner?.id && $banner.id === subject.id
? `url(${$banner.src})`
: subject?.banner
? subject.banner.includes(":")
? `url(${subject.banner})`
: `url(/api/public/${subject.banner}.webp)`
- : undefined;
+ : undefined);
const links = [
{
@@ -40,10 +44,10 @@
},
];
- $: opacity = (href) =>
+ let opacity = $derived((href) =>
$page.url.pathname === href
? "opacity-100"
- : "opacity-90 hover:opacity-none";
+ : "opacity-90 hover:opacity-none");
</script>
<svelte:window bind:innerWidth={w} />
@@ -58,7 +62,7 @@
{#each links as { href, icon, flip }}
<a {href} data-sveltekit-preload-code="eager">
<button class="btn-menu {opacity(href)}">
- <iconify-icon {icon} width={w > 640 ? 32 : 24} {flip} />
+ <iconify-icon {icon} width={w > 640 ? 32 : 24} {flip}></iconify-icon>
</button>
</a>
{/each}