diff options
| author | Adam Soltys <[email protected]> | 2026-03-01 21:46:47 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-03-01 21:46:47 -0800 |
| commit | bd3cc211d446c9bd7deb1e783010fc210a5a7b22 (patch) | |
| tree | 014fe1326a2f123f291c70c0a42bc37834f4d9fc /src | |
| parent | db98193fc45b4029f700f8478b6fceb805235505 (diff) | |
| download | coinos-ui-bd3cc211d446c9bd7deb1e783010fc210a5a7b22.tar.gz coinos-ui-bd3cc211d446c9bd7deb1e783010fc210a5a7b22.zip | |
fix day messages
Diffstat (limited to 'src')
| -rw-r--r-- | src/routes/(app)/messages/[pubkey]/+page.svelte | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/routes/(app)/messages/[pubkey]/+page.svelte b/src/routes/(app)/messages/[pubkey]/+page.svelte index 67df1e00..e52c398a 100644 --- a/src/routes/(app)/messages/[pubkey]/+page.svelte +++ b/src/routes/(app)/messages/[pubkey]/+page.svelte @@ -200,17 +200,16 @@ (rumour.pubkey === pubkey && pTagKeys(rumour).includes(user.pubkey)) ) { const dayKey = Math.floor(rumour.created_at / 86400); - if (messageRumours.has(dayKey)) { - const dayMsgs = messageRumours.get(dayKey)!; - if (!dayMsgs.find((r: any) => r.id === rumour.id)) { - dayMsgs.push(rumour); - dayMsgs.sort((a: any, b: any) => a.created_at - b.created_at); + const existing = messageRumours.get(dayKey); + if (existing) { + if (!existing.find((r: any) => r.id === rumour.id)) { + const updated = [...existing, rumour].sort((a: any, b: any) => a.created_at - b.created_at); + messageRumours = new Map(messageRumours).set(dayKey, updated); } } else { - messageRumours.set(dayKey, [rumour]); + messageRumours = new Map(messageRumours).set(dayKey, [rumour]); } dates = Array.from(messageRumours.keys()).sort((a: number, b: number) => a - b); - messageRumours = new Map(messageRumours); await tick(); scrollChat(); @@ -234,11 +233,10 @@ <div id="messages"> {#each dates as day} <p class="date-header secondary">{formatDate(new Date(day * 86400 * 1000))}</p> + {@const dayMessages = messageRumours.get(day) ?? []} <ul> - {#each messageRumours.get(day) ?? [] as rumour, i} - {@const dayMessages = messageRumours.get(day) ?? []} - {@const next = dayMessages[i + 1]} - {@const isLastInRun = !next || next.pubkey !== rumour.pubkey} + {#each dayMessages as rumour, i (rumour.id)} + {@const isLastInRun = i === dayMessages.length - 1 || dayMessages[i + 1]?.pubkey !== rumour.pubkey} {#if rumour.pubkey === user.pubkey && pTagKeys(rumour).includes(selectedChat.pubkey)} <li class="message-row by-user"> <div |
