fix: move session check after all hooks to fix blank page on login

Early conditional return before useEffect/useMemo violated React Rules
of Hooks, causing error #300 (rendered more hooks than previous render)
after login.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Christian Vidal WolfandClaude Sonnet 4.6 committed 2026-04-10 08:32:03 +02:00
1 parent 1339a34bb0
commit 64a9c40ec3
1 file changed
+10 -10
+10 -10
View File
@@ -45,14 +45,6 @@ export default function App() {
setSession(null);
};
if (!session) {
return <LoginPage onLogin={() => {
const stored = getStoredSession();
console.log('[App] onLogin, stored session:', stored ? 'found' : 'null');
setSession(stored);
}} />;
}
useEffect(() => {
const loadDefaultData = async () => {
// In dev: Vite proxy handles /dropbox-file (see vite.config.ts)
@@ -157,8 +149,8 @@ export default function App() {
}
};
loadDefaultData();
}, []);
if (session) loadDefaultData();
}, [session]);
const handleFileUpload = (e: React.ChangeEvent<HTMLInputElement>) => {
const file = e.target.files?.[0];
@@ -374,6 +366,14 @@ export default function App() {
};
}, [appState.data]);
if (!session) {
return <LoginPage onLogin={() => {
const stored = getStoredSession();
console.log('[App] onLogin, stored session:', stored ? 'found' : 'null');
setSession(stored);
}} />;
}
return (
<div className="h-screen bg-[#040d1a] text-slate-200 flex flex-col font-sans overflow-hidden">
<TopBar