aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-03-01 21:46:47 -0800
committerAdam Soltys <[email protected]>2026-03-01 21:46:47 -0800
commitbd3cc211d446c9bd7deb1e783010fc210a5a7b22 (patch)
tree014fe1326a2f123f291c70c0a42bc37834f4d9fc /src
parentdb98193fc45b4029f700f8478b6fceb805235505 (diff)
downloadcoinos-ui-bd3cc211d446c9bd7deb1e783010fc210a5a7b22.tar.gz
coinos-ui-bd3cc211d446c9bd7deb1e783010fc210a5a7b22.zip
fix day messages
Diffstat (limited to 'src')
-rw-r--r--src/routes/(app)/messages/[pubkey]/+page.svelte20
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