Portal/rsconcept/frontend/src/backend/auth/useAuth.tsx
2025-01-30 00:26:41 +03:00

27 lines
660 B
TypeScript

import { useQuery, useSuspenseQuery } from '@tanstack/react-query';
import { queryClient } from '../queryClient';
import { authApi } from './api';
export function useAuth() {
const {
data: user,
isLoading,
error
} = useQuery({
...authApi.getAuthQueryOptions()
});
return { user, isLoading, isAnonymous: user?.id === null || user === undefined, error };
}
export function useAuthSuspense() {
const { data: user } = useSuspenseQuery({
...authApi.getAuthQueryOptions()
});
return { user, isAnonymous: user.id === null };
}
export function prefetchAuth() {
return queryClient.prefetchQuery(authApi.getAuthQueryOptions());
}