- Fix auth system: remove redirect bugs in login/register pages, register routes, wrap protected routes with AuthGuard, add AuthInitializer - Add missing navbar links (Diagnosa, Pustaka, expert Review) - Fix DiagnosesPage status filter to match DB DiagnosisStatus enum, support URL params (?status=, ?risk=) from dashboard links - Replace hardcoded disease data on Dashboard with API-driven data, fix layout bugs (invalid gap-57 class, empty Button) - Rewrite LibraryPage to use API instead of mock-diseases.ts - Indonesian-ize Expert Reviews page labels and text - Wrap DiagnosisDetailPage with MainLayout for consistent layout - Improve ScanPage UX: image preview before upload, lucide icons, proper disease names in result modal, file size validation - Delete dead code: mock-diseases.ts, unused form components, tailwind.config.ts (Tailwind v4 does not read v3 config) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
22 lines
524 B
TypeScript
22 lines
524 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,
|
|
});
|
|
|
|
useEffect(() => {
|
|
if (query.data) {
|
|
setUser(query.data.user);
|
|
}
|
|
}, [query.data, setUser]);
|
|
|
|
return null;
|
|
}
|