diff --git a/apps/web/src/hooks/useAuthGate.ts b/apps/web/src/hooks/useAuthGate.ts index 0defc58..de8d947 100644 --- a/apps/web/src/hooks/useAuthGate.ts +++ b/apps/web/src/hooks/useAuthGate.ts @@ -111,13 +111,35 @@ export function useAuthGate(): AuthGateState { } }, []); - const handleSetRegistered = useCallback((value: boolean) => { + const handleSetRegistered = useCallback(async (value: boolean) => { setRegistered(value); const payload = getTokenPayload(); if (payload) { setAdmin(payload.role === 'admin'); setPasswordReset(payload.mustResetPassword); } + if (value) { + setLoading(true); + try { + const { save } = await api.saves.latest(); + if (save && save.tickCount > 0) { + setCloudSave({ + id: save.id, + companyName: save.companyName, + era: save.era, + tickCount: save.tickCount, + updatedAt: save.updatedAt, + }); + if (save.gameData) { + useGameStore.setState(save.gameData as Record); + } + } + } catch { + // No cloud save — user sees new game screen + } finally { + setLoading(false); + } + } }, []); const handleSetPasswordReset = useCallback((value: boolean) => {