From cc8c731f3f10db403f69a2b6fffc4cad37292b53 Mon Sep 17 00:00:00 2001 From: Wes Date: Thu, 28 May 2026 13:44:50 -0700 Subject: [PATCH 1/2] desktop: float unread indicator with accent background - Remove bordered pill styling from MoreUnreadButton - Use bg-primary (accent color) to match the unread dot - Position absolutely over channel list so it floats - Add position prop (top/bottom) for directional placement Signed-off-by: Wes --- desktop/src/features/sidebar/ui/AppSidebar.tsx | 4 +++- desktop/src/features/sidebar/ui/MoreUnreadButton.tsx | 12 ++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/desktop/src/features/sidebar/ui/AppSidebar.tsx b/desktop/src/features/sidebar/ui/AppSidebar.tsx index 7d5b60f48..d256ba5d7 100644 --- a/desktop/src/features/sidebar/ui/AppSidebar.tsx +++ b/desktop/src/features/sidebar/ui/AppSidebar.tsx @@ -625,12 +625,13 @@ export function AppSidebar({ -
+
{unreadAboveCount > 0 ? ( } onClick={scrollToNextAbove} + position="top" testId="sidebar-more-unread-above" /> ) : null} @@ -740,6 +741,7 @@ export function AppSidebar({ count={unreadBelowCount} icon={} onClick={scrollToNextBelow} + position="bottom" testId="sidebar-more-unread-below" /> ) : null} diff --git a/desktop/src/features/sidebar/ui/MoreUnreadButton.tsx b/desktop/src/features/sidebar/ui/MoreUnreadButton.tsx index b73fac32f..0e3a8e2d2 100644 --- a/desktop/src/features/sidebar/ui/MoreUnreadButton.tsx +++ b/desktop/src/features/sidebar/ui/MoreUnreadButton.tsx @@ -3,28 +3,32 @@ import type * as React from "react"; import { Button } from "@/shared/ui/button"; const MORE_UNREAD_BUTTON_CLASS = - "h-7 min-h-7 gap-1.5 rounded-full border-border/50 bg-background/85 px-2.5 text-[11px] font-medium text-muted-foreground shadow-xs backdrop-blur-sm hover:bg-muted/70 hover:text-foreground [&_svg]:size-3.5"; + "h-7 min-h-7 gap-1.5 rounded-full border-0 bg-primary px-2.5 text-[11px] font-medium text-primary-foreground shadow-md hover:bg-primary/90 [&_svg]:size-3.5"; export function MoreUnreadButton({ count, icon, onClick, + position, testId, }: { count: number; icon: React.ReactNode; onClick: () => void; + position: "top" | "bottom"; testId: string; }) { return ( -
+