mirror of
https://github.com/christianvidalwolf-prog/Craze-Data-check.git
synced 2026-08-03 22:15:23 +02:00
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:
co-authored by
Claude Sonnet 4.6
parent
1339a34bb0
commit
64a9c40ec3
+10
-10
@@ -45,14 +45,6 @@ export default function App() {
|
|||||||
setSession(null);
|
setSession(null);
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!session) {
|
|
||||||
return <LoginPage onLogin={() => {
|
|
||||||
const stored = getStoredSession();
|
|
||||||
console.log('[App] onLogin, stored session:', stored ? 'found' : 'null');
|
|
||||||
setSession(stored);
|
|
||||||
}} />;
|
|
||||||
}
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const loadDefaultData = async () => {
|
const loadDefaultData = async () => {
|
||||||
// In dev: Vite proxy handles /dropbox-file (see vite.config.ts)
|
// 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 handleFileUpload = (e: React.ChangeEvent<HTMLInputElement>) => {
|
||||||
const file = e.target.files?.[0];
|
const file = e.target.files?.[0];
|
||||||
@@ -374,6 +366,14 @@ export default function App() {
|
|||||||
};
|
};
|
||||||
}, [appState.data]);
|
}, [appState.data]);
|
||||||
|
|
||||||
|
if (!session) {
|
||||||
|
return <LoginPage onLogin={() => {
|
||||||
|
const stored = getStoredSession();
|
||||||
|
console.log('[App] onLogin, stored session:', stored ? 'found' : 'null');
|
||||||
|
setSession(stored);
|
||||||
|
}} />;
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="h-screen bg-[#040d1a] text-slate-200 flex flex-col font-sans overflow-hidden">
|
<div className="h-screen bg-[#040d1a] text-slate-200 flex flex-col font-sans overflow-hidden">
|
||||||
<TopBar
|
<TopBar
|
||||||
|
|||||||
Reference in New Issue
Block a user