feat: unread markers for channels and DMs

- Read states store: smarter hasUnread compares against latest message
- ConversationList: orange dot + bold name for unread DMs
- DMChat: auto-mark-read when viewing conversation
- WS handler: mark DM read on new message while active+focused
This commit is contained in:
2026-07-06 17:56:19 +00:00
parent c9a213ab8a
commit 4e429ca920
6 changed files with 76 additions and 11 deletions
+3
View File
@@ -96,6 +96,9 @@ function renderContent(content: string, memberUsernames: Set<string>) {
table: ({ ...props }) => <table {...props} className="border-collapse border border-gb-bg-t my-1" />,
th: ({ ...props }) => <th {...props} className="border border-gb-bg-t px-2 py-1 bg-gb-bg-s" />,
td: ({ ...props }) => <td {...props} className="border border-gb-bg-t px-2 py-1" />,
h1: ({ ...props }) => <h1 {...props} className="text-lg font-bold my-1" />,
h2: ({ ...props }) => <h2 {...props} className="text-base font-bold my-1" />,
h3: ({ ...props }) => <h3 {...props} className="text-sm font-bold my-0.5" />,
p: ({ ...props }) => <span {...props} className="inline" />,
img: ({ src, alt, ...props }) => (
<ExpandableImage