diff options
| author | Adam Soltys <[email protected]> | 2022-12-22 12:18:05 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2022-12-22 12:18:05 -0800 |
| commit | 17c9b99208b3881e62275ef3e552a3c30e55939d (patch) | |
| tree | 58036f893ceb0047477d7a1f6d9b5b8f2d160a09 /src/components | |
| parent | 6ae27be919808df935fb140fd56bb6ae010a219b (diff) | |
| download | coinos-ui-17c9b99208b3881e62275ef3e552a3c30e55939d.tar.gz coinos-ui-17c9b99208b3881e62275ef3e552a3c30e55939d.zip | |
add message field to user profile pages
Diffstat (limited to 'src/components')
| -rw-r--r-- | src/components/Avatar.svelte | 24 | ||||
| -rw-r--r-- | src/components/Feed.svelte | 26 |
2 files changed, 28 insertions, 22 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> diff --git a/src/components/Feed.svelte b/src/components/Feed.svelte index 973afa19..9f09630a 100644 --- a/src/components/Feed.svelte +++ b/src/components/Feed.svelte @@ -5,12 +5,18 @@ import { runner } from '$lib/utils'; export let events; - let distance = (d) => { - let diff = Math.round(Date.now() / 1000) - d; - return diff > 3600 - ? Math.round(diff / 3600) + 'd' - : diff > 60 - ? Math.round(diff / 60) + 'm' + let distance = (date) => { + let m = 60; + let h = 60 * m; + let d = 24 * h; + + let diff = Math.round(Date.now() / 1000) - date; + return diff > d + ? Math.round(diff / d) + 'd' + : diff > h + ? Math.round(diff / h) + 'h' + : diff > m + ? Math.round(diff / m) + 'm' : diff > 2 ? diff + 's' : 'now'; @@ -24,20 +30,20 @@ {#if browser} <VirtualScroll data={events} key="id" let:data pageMode={true} estimateSize={200}> <div class="flex border-b py-4 text-sm lg:text-lg text-secondary" :key={data.id}> - <a href={`/${data.pubkey}`}> + <a href={`/${data.user.anon ? data.user.pubkey : data.user.username}`}> <div class="mb-auto mr-2"> <div class="md:hidden"> - <Avatar size={12} src={`/api/public/runners/${runner(data.pubkey)}`} disabled={true} /> + <Avatar size={12} user={data.user} disabled={true} /> </div> <div class="hidden md:block"> - <Avatar size={20} src={`/api/public/runners/${runner(data.pubkey)}`} disabled={true} /> + <Avatar size={20} user={data.user} disabled={true} /> </div> </div> </a> <div class="grow" style={`max-width: ${w - 100}px`}> <div class="w-full flex pb-1 text-black"> - <div>{data.pubkey.substr(0, 6)}</div> + <div>{data.user.username}</div> <div class="text-secondary"> {distance(data.seen)}</div> </div> <div class="break-words"> |
