23 lines
553 B
TypeScript
23 lines
553 B
TypeScript
import { useEffect } from 'react';
|
|
import { useQuery } from '@tanstack/react-query';
|
|
import { apiClient } from '@/lib/api-client';
|
|
import { useAuthStore } from '@/store/auth-store';
|
|
|
|
export function AuthInitializer() {
|
|
const setUser = useAuthStore((state) => state.setUser);
|
|
const query = useQuery({
|
|
queryKey: ['auth', 'me'],
|
|
queryFn: () => apiClient.getMe(),
|
|
retry: false,
|
|
staleTime: 30_000,
|
|
});
|
|
|
|
useEffect(() => {
|
|
if (query.data?.user) {
|
|
setUser(query.data.user);
|
|
}
|
|
}, [query.data, setUser]);
|
|
|
|
return null;
|
|
}
|