diff --git a/src/entries/popup/ProtectedRoute.tsx b/src/entries/popup/ProtectedRoute.tsx index d3f117051b..0e0998c1e7 100644 --- a/src/entries/popup/ProtectedRoute.tsx +++ b/src/entries/popup/ProtectedRoute.tsx @@ -22,10 +22,23 @@ export const ProtectedRoute = ({ children: React.ReactNode; allowedStates: UserStatusResult[] | true; }): JSX.Element => { - const { status } = useAuth(); + const { status, updateStatus } = useAuth(); const isFullScreen = useIsFullScreen(); const { pendingRequests } = usePendingRequestStore(); + const [isStatusInitialized, setStatusInitialized] = React.useState(false); + React.useEffect(() => { + const initializeStatus = async () => { + await updateStatus(); + setStatusInitialized(true); + }; + initializeStatus(); + }, [updateStatus]); + + if (!isStatusInitialized) { + return <>; + } + // we don't want to move from ready screen when we reach it if (isReadyScreen()) { return children as JSX.Element;