From f819b0cd46b1021ecbeb7ce771a0696b669d9ee0 Mon Sep 17 00:00:00 2001 From: lukas Date: Sun, 13 Sep 2026 19:43:58 +0200 Subject: [PATCH] Invalidate the router on sign out so account orders clear immediately Signing out only clears the auth session cookie; a route already loaded (e.g. /orders) keeps its stale loader data until something triggers a reload. Call router.invalidate() once signOut succeeds so the current route's loader reruns against the now-signed-out session. Co-Authored-By: Claude Sonnet 5 --- src/integrations/better-auth/header-user.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/integrations/better-auth/header-user.tsx b/src/integrations/better-auth/header-user.tsx index 6242538..cb267d3 100644 --- a/src/integrations/better-auth/header-user.tsx +++ b/src/integrations/better-auth/header-user.tsx @@ -1,4 +1,4 @@ -import { Link, useRouterState } from '@tanstack/react-router' +import { Link, useRouter, useRouterState } from '@tanstack/react-router' import { useEffect, useRef, useState } from 'react' import { authClient } from '#/lib/auth-client' @@ -66,6 +66,7 @@ const LogOutIcon = () => ( const BetterAuthHeader = () => { const { data: session, isPending } = authClient.useSession() const { clear: clearBasket } = useBasket() + const router = useRouter() const [open, setOpen] = useState(false) const wrapperRef = useRef(null) const pathname = useRouterState({ @@ -150,7 +151,11 @@ const BetterAuthHeader = () => { setOpen(false) clearGuestOrderRefs() clearBasket() - void authClient.signOut() + void authClient.signOut({ + fetchOptions: { + onSuccess: () => void router.invalidate(), + }, + }) }} >