diff --git a/src/lib/components/ChatSidebar.svelte b/src/lib/components/ChatSidebar.svelte index 698c33f..8a93841 100644 --- a/src/lib/components/ChatSidebar.svelte +++ b/src/lib/components/ChatSidebar.svelte @@ -90,6 +90,24 @@ }); } + function formatDay(ts: number) { + const d = new Date(ts * 1000); + const month = d.toLocaleDateString([], { month: "short" }); + return `${d.getDate()} ${month}`; + } + + // True when this message starts a new calendar day vs the previous one. + function isNewDay(ts: number, prevTs?: number) { + if (prevTs === undefined) return true; + const d = new Date(ts * 1000); + const p = new Date(prevTs * 1000); + return ( + d.getFullYear() !== p.getFullYear() || + d.getMonth() !== p.getMonth() || + d.getDate() !== p.getDate() + ); + } + const ENTITY_PATTERN = "nostr:(note1[a-z0-9]+|nevent1[a-z0-9]+)"; // Resolved thread titles, keyed by the bech32 entity (note1…/nevent1…). @@ -272,10 +290,21 @@ {:else}