From 005fe54d026a9844d22a26f0d482de6de5580b29 Mon Sep 17 00:00:00 2001 From: Taylor Ho Date: Wed, 5 Aug 2026 15:44:07 -0700 Subject: [PATCH] fix(desktop): outline the selected community (#4969) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Category:** improvement **User Impact:** Selected communities now use a clear offset outline without tinting or covering their icon. **Problem:** The selected community state replaced the icon surface with an accent fill, obscuring image icons and changing the tile's content treatment. Hover also changed the fill, text color, shape, and opacity, making navigation states visually jumpy. **Solution:** Preserve each community tile's neutral surface and content while using a primary CSS outline for selection and a lighter outline for hover. The transparent outline offset leaves the space around image edges unpainted, and adjusted spacing prevents neighboring outlines from colliding. Screen Recording 2026-08-05 at 3 23
32 PM
File changes **desktop/src/features/sidebar/ui/CommunityRail.tsx** Replaces selected and hover fills with offset outlines, keeps icon presentation stable across states, and adjusts rail and tooltip spacing for the new outline geometry. **desktop/tests/e2e/community-rail.spec.ts** Covers the shared active/inactive surface, radius, text color, opacity, and outline behavior, including hover invariants.
## Reproduction steps 1. Run the desktop app with two or more communities. 2. Give the active community an image icon. 3. Confirm the active icon keeps its original image and receives a 2px primary outline with a transparent 2px gap. 4. Hover another community and confirm only a lighter outline appears; its fill, text color, opacity, and corner radius remain unchanged. 5. Switch communities and confirm the outline follows the active community. ## Screenshots **Full desktop context** ![Selected community outline in the desktop app](https://d24qwcpro867f5.cloudfront.net/repos/buzz/prs/4969/selected-community-full.png) --------- Signed-off-by: Taylor Ho --- .../src/features/sidebar/ui/CommunityRail.tsx | 19 ++++---- desktop/tests/e2e/community-rail.spec.ts | 46 +++++++++++++++++++ 2 files changed, 56 insertions(+), 9 deletions(-) diff --git a/desktop/src/features/sidebar/ui/CommunityRail.tsx b/desktop/src/features/sidebar/ui/CommunityRail.tsx index 26a0b324e..a572bb8eb 100644 --- a/desktop/src/features/sidebar/ui/CommunityRail.tsx +++ b/desktop/src/features/sidebar/ui/CommunityRail.tsx @@ -106,7 +106,7 @@ function CommunityButton({ dragAttributes?: React.HTMLAttributes; isDragging?: boolean; }) { - const { mentionCount, showBadge, showDot, pending, badgeLabel } = + const { mentionCount, showBadge, showDot, badgeLabel } = communityRailIndicators(unread); const tooltipLabel = showBadge @@ -135,11 +135,8 @@ function CommunityButton({ > {iconUrl ? ( @@ -172,7 +169,9 @@ function CommunityButton({ - {tooltipLabel} + + {tooltipLabel} + {menu} @@ -368,7 +367,7 @@ export function CommunityRail({ return (