diff options
Diffstat (limited to 'src/components/Avatar.svelte')
| -rw-r--r-- | src/components/Avatar.svelte | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/components/Avatar.svelte b/src/components/Avatar.svelte index 7ee774bf..f0b9768f 100644 --- a/src/components/Avatar.svelte +++ b/src/components/Avatar.svelte @@ -1,30 +1,30 @@ <script> import { colorTheme } from '$lib/store'; import { Icon } from '$comp'; + import { runner } from '$lib/utils'; export let user; export let size = 32; export let disabled = false; - export let src = undefined; $: s = size.toString(); $: link = user ? `/${user.username}` : '/'; + + let src = + '/api/public/' + + (user?.profile + ? user.username + '-profile.webp' + : 'runners/' + runner(user?.pubkey || parseInt(Math.random() * 255).toString(16))); </script> <a href={link} class:pointer-events-none={disabled}> <div class="w-{s} h-{s} rounded-full border-4 border-white overflow-hidden bg-gradient-to-r {$colorTheme} flex justify-center items-center" > - {#if user?.profile} - <img - src={`/api/public/${user.username}-profile.webp`} - class="w-full h-full object-cover object-center overflow-hidden" - alt={user.username} - /> - {:else if src} - <img {src} class="w-full h-full object-cover object-center overflow-hidden" alt="Avatar" /> - {:else} - <Icon icon="logo-symbol-white" style="w-4/5" /> - {/if} + <img + {src} + class="w-full h-full object-cover object-center overflow-hidden" + alt={user.username} + /> </div> </a> |
