authorgravatar for ryanilano@users.noreply.github.comRyan Ilano <ryanilano@users.noreply.github.com> 2026-09-26 03:20:58-04:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-09-26 02:20:58-05:00
log92f0af24a359f64df8f480049913cbdbd9ea6d29
tree993edcbedd7758dc5e0fd8dbacb031e50ddd3c3c
parent4923ff417f15fe1930fbb679e548706b55f7cde8
signature Signed by PGP key B5690EEEBB952194

Show a focus ring on sidebar thread and draft rows (#13344)


1 files changed, 2 insertions(+), 2 deletions(-)

apps/web/src/components/Sidebar.tsx+2-2
......@@ -755,7 +755,7 @@ const SidebarDraftRow = memo(function SidebarDraftRow(props: {
755755 tabIndex={0}
756756 data-testid="sidebar-draft-row"
757757 className={cn(
758 "group/sidebar-row relative w-full cursor-pointer overflow-hidden rounded-md text-left text-sidebar-foreground outline-none select-none",
758 "group/sidebar-row relative w-full cursor-pointer overflow-hidden rounded-md text-left text-sidebar-foreground outline-none select-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",
759759 props.isActive ? "bg-sidebar-row-active" : draftSurfaceClassName,
760760 )}
761761 onClick={handleActivate}
......@@ -1390,7 +1390,7 @@ const SidebarThreadRow = memo(function SidebarThreadRow(props: {
13901390 // a useful hierarchy nor a reliable hover cue. Status now lives in the row
13911391 // content; surface is reserved for interaction (hover, multi-select, route).
13921392 const rowSurfaceClassName = cn(
1393 "group/sidebar-row relative w-full cursor-pointer overflow-hidden rounded-md text-left outline-none select-none",
1393 "group/sidebar-row relative w-full cursor-pointer overflow-hidden rounded-md text-left outline-none select-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",
13941394 variantAction === "unsettle" && "[&:not(:hover):not(:focus-within)_*]:text-secondary-label/70",
13951395 props.isActive
13961396 ? "bg-sidebar-row-active text-sidebar-foreground"