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