aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/Feed.svelte
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2023-12-01 20:04:13 -0800
committerAdam Soltys <[email protected]>2023-12-01 20:04:13 -0800
commit216a600224fde22ce76b367557a02094ec693886 (patch)
treed1189bbaa39db204633523132a7d4767b952717d /src/components/Feed.svelte
parent7d9bc1f54dfd04172e8d6d43ebc2efd6f407e833 (diff)
downloadcoinos-ui-216a600224fde22ce76b367557a02094ec693886.tar.gz
coinos-ui-216a600224fde22ce76b367557a02094ec693886.zip
prettier
Diffstat (limited to 'src/components/Feed.svelte')
-rw-r--r--src/components/Feed.svelte124
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}