Merged in fix/mypages-menu-loggedin-out (pull request #3316)

feat(menu): fix race condition on auth token/logged in/out

* feat(menu): fix race condition on auth token/logged in/out


Approved-by: Anton Gunnarsson
This commit is contained in:
Linus Flood
2025-12-08 14:56:52 +00:00
parent 200cf3f617
commit 276027045e

View File

@@ -25,7 +25,8 @@ export default function MyPagesMenuWrapper() {
const lang = useLang()
const loginPathname = useLazyPathname({ includeSearchParams: true })
const { data: session } = useSession()
const { data: session, status } = useSession()
const isSessionLoading = status === "loading"
const isUserLoggedIn = isValidSession(session)
const { data: user, isLoading: isLoadingUser } = trpc.user.name.useQuery(
@@ -34,6 +35,7 @@ export default function MyPagesMenuWrapper() {
refetchOnWindowFocus: true,
refetchInterval: 300_000,
refetchOnReconnect: "always",
enabled: isUserLoggedIn,
}
)
const { data: membership, isLoading: isLoadingMembership } =
@@ -46,11 +48,16 @@ export default function MyPagesMenuWrapper() {
level: MembershipLevelEnum[membership?.membershipLevel ?? "L1"],
},
{
enabled: !!membership?.membershipLevel,
enabled: isUserLoggedIn && !!membership?.membershipLevel,
}
)
if (isLoadingUser || isLoadingMembership || isLoadingMembershipLevel) {
if (
isLoadingUser ||
isLoadingMembership ||
isLoadingMembershipLevel ||
isSessionLoading
) {
return <MyPagesMenuWrapperSkeleton />
}