From a07ea35d32d21a5f1044ebdc17d53a79fc7c184a Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 4 Aug 2026 06:54:00 -0700 Subject: Seeing the message list clears the badge; rows keep their own dots The header dot cleared only per-conversation, so a channel or thread you never clicked into kept it lit forever. Now the list screen has its own watermark: visiting it answers the header dot, while each DM and community row shows an unread dot of its own until actually opened. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_015QwAtBSpKvECqp1rHLHjJk --- src/style.css | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/style.css') diff --git a/src/style.css b/src/style.css index ff652a5..759b15d 100644 --- a/src/style.css +++ b/src/style.css @@ -412,6 +412,10 @@ hr.divider { margin: 16px 0; } .chat-back { font-size: 22px; line-height: 1; padding: 2px 10px 4px; flex-shrink: 0; } .chat-thread-row { display: flex; gap: 10px; align-items: center; cursor: pointer; } .chat-preview { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } +.thread-when { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; } +.thread-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--red); flex-shrink: 0; } +.chat-thread-row.unread .chat-name { font-weight: 700; } +.chat-thread-row.unread .chat-preview { color: var(--ink); } .chat-invite { padding: 10px 12px; border-bottom: 1px solid var(--line); background: var(--surface2); flex: 0 0 auto; max-height: 40vh; overflow-y: auto; } .chat-invite input { font: inherit; color: var(--ink); background: var(--paper); border: 1px solid var(--line-strong); border-radius: 9px; padding: 7px 10px; min-width: 0; } .chat-row.dm { justify-content: flex-start; } -- cgit v1.2.3