mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-20 20:29:06 +00:00
Previously, API calls were being made before the auth token was configured, causing initial 401 errors that would retry with 200 after token setup. Changes: - Add global auth readiness tracking in apiClient - Create useAuthReady hook that checks both session and token state - Update all API hooks to use isAuthReady instead of just session status - Add AuthWrapper component at layout level for consistent loading UX - Show spinner while authentication initializes across all pages This ensures API calls only fire after authentication is fully configured, eliminating the 401/retry pattern and improving user experience.
29 lines
627 B
TypeScript
29 lines
627 B
TypeScript
"use client";
|
|
|
|
import { Flex, Spinner } from "@chakra-ui/react";
|
|
import useAuthReady from "../lib/useAuthReady";
|
|
|
|
export default function AuthWrapper({
|
|
children,
|
|
}: {
|
|
children: React.ReactNode;
|
|
}) {
|
|
const { isAuthReady, isLoading } = useAuthReady();
|
|
|
|
// Show spinner while auth is loading
|
|
if (isLoading || !isAuthReady) {
|
|
return (
|
|
<Flex
|
|
flexDir="column"
|
|
alignItems="center"
|
|
justifyContent="center"
|
|
h="calc(100vh - 80px)" // Account for header height
|
|
>
|
|
<Spinner size="xl" color="blue.500" thickness="4px" />
|
|
</Flex>
|
|
);
|
|
}
|
|
|
|
return <>{children}</>;
|
|
}
|