diff options
| author | Adam Soltys <[email protected]> | 2023-12-01 20:04:13 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2023-12-01 20:04:13 -0800 |
| commit | 216a600224fde22ce76b367557a02094ec693886 (patch) | |
| tree | d1189bbaa39db204633523132a7d4767b952717d /src/components/Feed.svelte | |
| parent | 7d9bc1f54dfd04172e8d6d43ebc2efd6f407e833 (diff) | |
| download | coinos-ui-216a600224fde22ce76b367557a02094ec693886.tar.gz coinos-ui-216a600224fde22ce76b367557a02094ec693886.zip | |
prettier
Diffstat (limited to 'src/components/Feed.svelte')
| -rw-r--r-- | src/components/Feed.svelte | 124 |
1 files changed, 68 insertions, 56 deletions
diff --git a/src/components/Feed.svelte b/src/components/Feed.svelte index 7de087a7..0c9c96d1 100644 --- a/src/components/Feed.svelte +++ b/src/components/Feed.svelte @@ -1,72 +1,84 @@ <script> - import { t } from '$lib/translations'; - import { onMount } from 'svelte'; - import { Event } from '$comp'; - import { browser } from '$app/environment'; - import VirtualScroll from 'svelte-virtual-scroll-list'; - import { fail } from '$lib/utils'; - import { sign, send } from '$lib/nostr'; + import { t } from "$lib/translations"; + import { onMount } from "svelte"; + import { Event } from "$comp"; + import { browser } from "$app/environment"; + import VirtualScroll from "svelte-virtual-scroll-list"; + import { fail } from "$lib/utils"; + import { sign, send } from "$lib/nostr"; - export let events; - export let user = undefined; + export let events; + export let user = undefined; - let message; + let message; - let submit = async () => { - try { - let mnemonic, key, seed, entropy, child, privkey; + let submit = async () => { + try { + let mnemonic, key, seed, entropy, child, privkey; - let event = { - pubkey: user.pubkey, - created_at: Math.floor(Date.now() / 1000), - kind: 1, - content: message, - tags: [] - }; + let event = { + pubkey: user.pubkey, + created_at: Math.floor(Date.now() / 1000), + kind: 1, + content: message, + tags: [], + }; - await sign({ event, user }); - await send(event); + await sign({ event, user }); + await send(event); - event.user = user; - event.seen = event.created_at; + event.user = user; + event.seen = event.created_at; - events[event.id] = event; - events = events; - } catch (e) { - console.log(e, e.stack); - fail('Problem posting event'); - } - }; + events[event.id] = event; + events = events; + } catch (e) { + console.log(e, e.stack); + fail("Problem posting event"); + } + }; - $: sorted = Object.values(events) - .filter((ev) => ev?.pubkey && ev?.kind === 1) - .sort((a, b) => b.seen - a.seen); + $: sorted = Object.values(events) + .filter((ev) => ev?.pubkey && ev?.kind === 1) + .sort((a, b) => b.seen - a.seen); </script> {#if user} - <form on:submit|preventDefault={submit} class="flex justify-center gap-4 max-w-2xl mx-auto"> - <div class="grow"> - <input - name="message" - bind:value={message} - placeholder="What's happening?" - class="my-5 mx-auto" - /> - </div> - <button class="rounded-full border py-4 px-5 font-bold hover:opacity-80 w-40 my-5">Post</button> - </form> + <form + on:submit|preventDefault={submit} + class="flex justify-center gap-4 max-w-2xl mx-auto" + > + <div class="grow"> + <input + name="message" + bind:value={message} + placeholder="What's happening?" + class="my-5 mx-auto" + /> + </div> + <button + class="rounded-full border py-4 px-5 font-bold hover:opacity-80 w-40 my-5" + >Post</button + > + </form> {/if} {#if browser} - {#if sorted.length} - <VirtualScroll data={sorted} key="id" let:data pageMode={true} estimateSize={200}> - <a href={`/${data.user.pubkey}/event/${data.id}`}> - <Event event={data} /> - </a> - </VirtualScroll> - {:else} - <div class="flex w-full"> - <div class="mx-auto text-secondary">{$t('user.noNotes')}</div> - </div> - {/if} + {#if sorted.length} + <VirtualScroll + data={sorted} + key="id" + let:data + pageMode={true} + estimateSize={200} + > + <a href={`/${data.user.pubkey}/event/${data.id}`}> + <Event event={data} /> + </a> + </VirtualScroll> + {:else} + <div class="flex w-full"> + <div class="mx-auto text-secondary">{$t("user.noNotes")}</div> + </div> + {/if} {/if} |
