diff options
| author | Adam Soltys <[email protected]> | 2024-10-09 12:52:05 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2024-10-10 12:18:06 -0700 |
| commit | 4605d7fbd8b94db013b0e5058116e421150f2a47 (patch) | |
| tree | a93d5cd90ec2b2a22917b4a829fd39b4727667b1 /src/components | |
| parent | c2716632244bfc13cafe5cd373d8822ad9436664 (diff) | |
| download | coinos-ui-4605d7fbd8b94db013b0e5058116e421150f2a47.tar.gz coinos-ui-4605d7fbd8b94db013b0e5058116e421150f2a47.zip | |
follows
Diffstat (limited to 'src/components')
| -rw-r--r-- | src/components/AppHeader.svelte | 9 | ||||
| -rw-r--r-- | src/components/Avatar.svelte | 14 |
2 files changed, 15 insertions, 8 deletions
diff --git a/src/components/AppHeader.svelte b/src/components/AppHeader.svelte index 389e036b..3a14374f 100644 --- a/src/components/AppHeader.svelte +++ b/src/components/AppHeader.svelte @@ -36,7 +36,8 @@ $banner?.id && $banner.id === subject.id ? `url(${$banner.src})` : subject?.banner - ? `url(/api/public/${subject.banner}.webp)` + ? subject.banner.includes(":") ? `url(${subject.banner})` + : `url(/api/public/${subject.banner}.webp)` : undefined; $: $page && (showMenu = false); @@ -58,7 +59,11 @@ ><Icon icon="home" style="mx-auto w-6 sm:w-8" /> </button> </a> - <a href={`/invoice`} data-sveltekit-preload-data="tap" data-sveltekit-preload-code="eager"> + <a + href={`/invoice`} + data-sveltekit-preload-data="tap" + data-sveltekit-preload-code="eager" + > <button class="bg-white p-2 rounded-full w-12 h-12 sm:w-16 sm:h-16 drop-shadow-xl border border-black/10 {$page.url.pathname.includes( 'invoice' diff --git a/src/components/Avatar.svelte b/src/components/Avatar.svelte index 4922c065..e91285da 100644 --- a/src/components/Avatar.svelte +++ b/src/components/Avatar.svelte @@ -10,12 +10,13 @@ $: s = size.toString(); $: link = user?.anon ? `/${user.pubkey}` : `/${user.username}`; - $: src = - ($avatar?.id && $avatar.id === user.id && $avatar.src) || - "/api/public/" + - (user.profile - ? user.profile + ".webp" - : "punks/" + punk(user.pubkey || user.id || "aa")); + let base = "/api/public"; + $: profile = user?.profile ? `${base}/${user.profile}.webp` : user?.picture; + $: fallback = `${base}/punks/` + punk(user.pubkey || user.id || "aa"); + $: tmp = $avatar?.id && $avatar.id === user.id && $avatar.src; + $: src = tmp || profile || fallback; + + let handle = () => (src = fallback); </script> <a href={link} class:pointer-events-none={disabled}> @@ -26,6 +27,7 @@ {src} class="w-full h-full object-cover object-center overflow-hidden" alt={user.username} + on:error={handle} /> </div> </a> |
