diff --git a/frontend/src/components/AnchoredPopover.tsx b/frontend/src/components/AnchoredPopover.tsx index f4c173fe..bdce815e 100644 --- a/frontend/src/components/AnchoredPopover.tsx +++ b/frontend/src/components/AnchoredPopover.tsx @@ -327,7 +327,7 @@ export function PopoverItem({ tabIndex={focusActive ? 0 : -1} data-active={visualActive ? "true" : undefined} disabled={disabled} - className={`${checked || selected ? HIGHLIGHT_SELECTED : HIGHLIGHT_UNSELECTED}${className ? ` ${className}` : ""}`} + className={`outline-hidden ${checked || selected ? HIGHLIGHT_SELECTED : HIGHLIGHT_UNSELECTED}${className ? ` ${className}` : ""}`} > {children} diff --git a/frontend/src/components/NavSidebar.tsx b/frontend/src/components/NavSidebar.tsx index 15c7d638..1f496586 100644 --- a/frontend/src/components/NavSidebar.tsx +++ b/frontend/src/components/NavSidebar.tsx @@ -168,7 +168,8 @@ export default function NavSidebar({ .filter((p) => sys.has(p)) .map((p) => ({ page: p, ...META(p) })); - const rowBase = "w-full flex items-center gap-3 rounded-lg px-2.5 py-2 text-sm transition"; + const rowBase = + "selectable w-full flex items-center gap-3 rounded-lg px-2.5 py-2 text-sm transition"; const name = me.display_name ?? me.email.split("@")[0]; // Role is surfaced as a plain title tooltip on the account row (no visual badge). Demo isn't a // real role (it's a flag on a `user` row), so surface it first. @@ -240,7 +241,7 @@ export default function NavSidebar({ {!slim && ( @@ -289,7 +290,7 @@ export default function NavSidebar({ onClick={onOpenAbout} title={t("header.account.about")} aria-label={t("header.account.about")} - className="p-2 rounded-lg text-muted hover:text-fg hover:bg-card transition" + className="p-2 rounded-lg text-muted hover:text-fg hover:bg-card transition outline-hidden focus-visible:outline-2 focus-visible:outline-accent/60" > @@ -297,7 +298,7 @@ export default function NavSidebar({ onClick={logout} title={t("header.account.signOut")} aria-label={t("header.account.signOut")} - className="p-2 rounded-lg text-muted hover:text-fg hover:bg-card transition" + className="p-2 rounded-lg text-muted hover:text-fg hover:bg-card transition outline-hidden focus-visible:outline-2 focus-visible:outline-accent/60" > @@ -322,7 +323,7 @@ export default function NavSidebar({ ref={acctPop.refs.setReference} {...acctPop.getReferenceProps()} title={slim ? `${name} ยท ${roleLabel}` : undefined} - className={`${rowBase} selectable ${slim ? "justify-center px-0" : ""} text-muted hover:text-fg hover:bg-card`} + className={`${rowBase} ${slim ? "justify-center px-0" : ""} text-muted hover:text-fg hover:bg-card`} >