fix: add auth guard redirect and wire logout into NavAccountCard

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-16 16:11:59 +05:30
parent 3b68605561
commit 8b796bf916
4 changed files with 46 additions and 21 deletions

View File

@@ -44,8 +44,9 @@ const placeholderAccounts: NavAccountType[] = [
export const NavAccountMenu = ({
className,
selectedAccountId = "olivia",
onSignOut,
...dialogProps
}: AriaDialogProps & { className?: string; accounts?: NavAccountType[]; selectedAccountId?: string }) => {
}: AriaDialogProps & { className?: string; accounts?: NavAccountType[]; selectedAccountId?: string; onSignOut?: () => void }) => {
const focusManager = useFocusManager();
const dialogRef = useRef<HTMLDivElement>(null);
@@ -115,7 +116,7 @@ export const NavAccountMenu = ({
</div>
<div className="pt-1 pb-1.5">
<NavAccountCardMenuItem label="Sign out" icon={LogOut01} shortcut="⌥⇧Q" />
<NavAccountCardMenuItem label="Sign out" icon={LogOut01} shortcut="⌥⇧Q" onClick={onSignOut} />
</div>
</AriaDialog>
);
@@ -156,10 +157,12 @@ export const NavAccountCard = ({
popoverPlacement,
selectedAccountId = "olivia",
items = placeholderAccounts,
onSignOut,
}: {
popoverPlacement?: Placement;
selectedAccountId?: string;
items?: NavAccountType[];
onSignOut?: () => void;
}) => {
const triggerRef = useRef<HTMLDivElement>(null);
const isDesktop = useBreakpoint("lg");
@@ -200,7 +203,7 @@ export const NavAccountCard = ({
)
}
>
<NavAccountMenu selectedAccountId={selectedAccountId} accounts={items} />
<NavAccountMenu selectedAccountId={selectedAccountId} accounts={items} onSignOut={onSignOut} />
</AriaPopover>
</AriaDialogTrigger>
</div>