aboutsummaryrefslogtreecommitdiffstats
path: root/src/components
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2024-10-09 12:52:05 -0700
committerAdam Soltys <[email protected]>2024-10-10 12:18:06 -0700
commit4605d7fbd8b94db013b0e5058116e421150f2a47 (patch)
treea93d5cd90ec2b2a22917b4a829fd39b4727667b1 /src/components
parentc2716632244bfc13cafe5cd373d8822ad9436664 (diff)
downloadcoinos-ui-4605d7fbd8b94db013b0e5058116e421150f2a47.tar.gz
coinos-ui-4605d7fbd8b94db013b0e5058116e421150f2a47.zip
follows
Diffstat (limited to 'src/components')
-rw-r--r--src/components/AppHeader.svelte9
-rw-r--r--src/components/Avatar.svelte14
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>