diff --git a/src/routes/profile/[id]/+page.svelte b/src/routes/profile/[id]/+page.svelte index 1a1b4fb..cb0a0bd 100644 --- a/src/routes/profile/[id]/+page.svelte +++ b/src/routes/profile/[id]/+page.svelte @@ -2,6 +2,7 @@ import { page } from "$app/state"; import { MODE } from "$lib/config"; import { getGroupName } from "$lib/group.svelte"; + import { groupsStore } from "$lib/groups.svelte"; import { profileStore, ensureProfile, @@ -44,6 +45,15 @@ : (page.data.posts ?? null), ); + // Rooms the loaded posts come from, in the rooms list order (full mode). + const seenOn = $derived.by(() => { + if (MODE !== "full" || !posts) return []; + const ids = new Set( + [...posts.roots.items, ...posts.replies.items].map((p) => p.groupId), + ); + return groupsStore.list.filter((g) => ids.has(g.id)); + }); + const npub = $derived(entry?.npub ?? page.params.id ?? ""); const name = $derived( entry?.displayName || entry?.name || `${npub.slice(0, 12)}…`, @@ -202,6 +212,16 @@ View on njump ↗ + + {#if seenOn.length > 0} +

+ Seen on: + {#each seenOn as r, i (r.id)}{r.name}{i < seenOn.length - 1 ? ", " : ""}{/each} +

+ {/if} {#if entry?.picture}