diff --git a/package.json b/package.json index 89ce41f1..37f23b63 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,6 @@ "@welshman/signer": "^0.0.2", "@welshman/store": "^0.0.2", "@welshman/util": "^0.0.25", - "@welshman/domain": "^0.0.1", "daisyui": "^4.12.10", "nostr-tools": "^2.7.2", "prettier-plugin-tailwindcss": "^0.6.5", diff --git a/src/app/base.ts b/src/app/base.ts index 5b4c9c8d..e93c4b1b 100644 --- a/src/app/base.ts +++ b/src/app/base.ts @@ -9,7 +9,7 @@ import {Nip46Broker, Nip46Signer, Nip07Signer, Nip01Signer} from '@welshman/sign import {synced} from '@lib/util' import type {Session} from "@app/types" -export const INDEXER_RELAYS = ["wss://purplepag.es", "wss://relay.damus.io"] +export const INDEXER_RELAYS = ["wss://purplepag.es", "wss://relay.damus.io", 'wss://nos.lol'] export const DUFFLEPUD_URL = "https://dufflepud.onrender.com" @@ -21,6 +21,8 @@ export const tracker = new Tracker() export const pk = synced('pk', null) +export const getPk = getter(pk) + export const sessions = synced>('sessions', {}) export const getSessions = getter(sessions) diff --git a/src/app/components/LogIn.svelte b/src/app/components/LogIn.svelte index 9419ba5f..bbd4a42d 100644 --- a/src/app/components/LogIn.svelte +++ b/src/app/components/LogIn.svelte @@ -4,12 +4,13 @@ import Icon from '@lib/components/Icon.svelte' import Field from '@lib/components/Field.svelte' import Button from '@lib/components/Button.svelte' + import Spinner from '@lib/components/Spinner.svelte' import CardButton from '@lib/components/CardButton.svelte' import InfoNostr from '@app/components/LogIn.svelte' import {pushModal, clearModal} from '@app/modal' import {pushToast} from '@app/toast' import {addSession} from '@app/base' - import {loadProfile, loadFollows, loadMutes, loadHandle} from '@app/state' + import {loadUserData, loadHandle} from '@app/state' const back = () => history.back() @@ -27,9 +28,7 @@ const {pubkey, relays = []} = handle const broker = Nip46Broker.get(pubkey, secret, handler) const [profile, success] = await Promise.all([ - loadProfile(pubkey, relays), - loadFollows(pubkey, relays), - loadMutes(pubkey, relays), + loadUserData(pubkey, relays), broker.connect(), ]) @@ -86,8 +85,7 @@
diff --git a/src/app/components/PrimaryNav.svelte b/src/app/components/PrimaryNav.svelte index 9c5e1ac7..095d9ed8 100644 --- a/src/app/components/PrimaryNav.svelte +++ b/src/app/components/PrimaryNav.svelte @@ -7,19 +7,39 @@
@@ -35,16 +55,13 @@ {/if}
- {#each Array.from($membership?.ids || []) as groupId (groupId)} - {#await getGroup(groupId)} - - {:then group} - -
- {group?.name} -
-
- {/await} + {#each $userGroupsByNom.entries() as [nom, qualifiedGroups] (nom)} + {@const qualifiedGroup = qualifiedGroups[0]} + +
+ {qualifiedGroup?.group.name} +
+
{/each}
diff --git a/src/app/components/SpaceJoin.svelte b/src/app/components/SpaceJoin.svelte index f10925d5..da02e8f9 100644 --- a/src/app/components/SpaceJoin.svelte +++ b/src/app/components/SpaceJoin.svelte @@ -1,13 +1,16 @@ + + + {#if loading} + + + + {/if} + + diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 6b785030..1e09926f 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -9,9 +9,11 @@ import PrimaryNav from "@app/components/PrimaryNav.svelte" import SecondaryNav from "@app/components/SecondaryNav.svelte" import {modals, clearModal} from "@app/modal" - import {session} from "@app/base" + import {pk, session} from "@app/base" + import {loadUserData} from "@app/state" let dialog: HTMLDialogElement + let prev: any $: modalId = $page.url.hash.slice(1) $: modal = modals.get(modalId) @@ -23,12 +25,17 @@ if (modal) { dialog?.showModal() + prev = modal } else { dialog?.close() } } onMount(() => { + if ($pk) { + loadUserData($pk) + } + dialog.addEventListener('close', () => { if (modal) { clearModal() @@ -46,9 +53,9 @@
- {#if modal} - {#key modal} - + {#if prev} + {#key prev} + {/key} {/if} diff --git a/src/routes/home/+page.svelte b/src/routes/home/+page.svelte index 9a87ceb2..9bf8c00e 100644 --- a/src/routes/home/+page.svelte +++ b/src/routes/home/+page.svelte @@ -1,5 +1,9 @@
@@ -8,7 +12,7 @@

Welcome to

Flotilla

- + Invite all your friends, do life together. diff --git a/src/routes/browse/+page.svelte b/src/routes/spaces/+page.svelte similarity index 100% rename from src/routes/browse/+page.svelte rename to src/routes/spaces/+page.svelte diff --git a/src/routes/spaces/[nom]/+page.svelte b/src/routes/spaces/[nom]/+page.svelte new file mode 100644 index 00000000..17e8769a --- /dev/null +++ b/src/routes/spaces/[nom]/+page.svelte @@ -0,0 +1,5 @@ + + +{nom}