From 3fbe5ea039af3dd5bf8c7166f6d2bbe6d5fd306e Mon Sep 17 00:00:00 2001 From: rocord01 Date: Mon, 14 Jul 2025 05:27:10 -0400 Subject: [PATCH] build fix --- src/contexts/AuthContext.jsx | 68 +++++++++++++++++++++--------------- 1 file changed, 39 insertions(+), 29 deletions(-) diff --git a/src/contexts/AuthContext.jsx b/src/contexts/AuthContext.jsx index e4b7140..00d6faf 100644 --- a/src/contexts/AuthContext.jsx +++ b/src/contexts/AuthContext.jsx @@ -1,16 +1,48 @@ "use client"; -import React, { createContext, useContext, useState, useEffect, useCallback } from 'react'; +import React, { createContext, useContext, useState, useEffect, useCallback, Suspense } from 'react'; import { useRouter, useSearchParams } from 'next/navigation'; const AuthContext = createContext(null); +function AuthHandler({ setToken, setNoExtension, setLoading, children }) { + const router = useRouter(); + const searchParams = useSearchParams(); + + useEffect(() => { + const tokenFromParams = searchParams.get('token'); + if (tokenFromParams) { + if (tokenFromParams === 'noext.0') { + setNoExtension(true); + setToken(null); + localStorage.removeItem('session_token'); + } else { + setToken(tokenFromParams); + localStorage.setItem('session_token', tokenFromParams); + setNoExtension(false); + } + // Clean URL + router.replace('/dashboard', undefined, { shallow: true }); + } + }, [searchParams, router, setToken, setNoExtension]); + + useEffect(() => { + const storedToken = localStorage.getItem('session_token'); + if (storedToken) { + setToken(storedToken); + setNoExtension(false); + } + setLoading(false); + }, [setLoading, setToken, setNoExtension]); + + return <>{children}; +} + export function AuthProvider({ children }) { const [token, setToken] = useState(null); const [noExtension, setNoExtension] = useState(false); const [loading, setLoading] = useState(true); const router = useRouter(); - const searchParams = useSearchParams(); const logout = useCallback(async () => { if (token) { @@ -29,32 +61,6 @@ export function AuthProvider({ children }) { router.push('/dashboard'); }, [token, router]); - useEffect(() => { - const tokenFromParams = searchParams.get('token'); - const storedToken = localStorage.getItem('session_token'); - - if (tokenFromParams) { - if (tokenFromParams === 'noext.0') { - setNoExtension(true); - setToken(null); - localStorage.removeItem('session_token'); - } else { - setToken(tokenFromParams); - localStorage.setItem('session_token', tokenFromParams); - setNoExtension(false); - } - setLoading(false); - // Clean URL - router.replace('/dashboard', undefined, { shallow: true }); - } else if (storedToken) { - setToken(storedToken); - setNoExtension(false); - setLoading(false); - } else { - setLoading(false); - } - }, [searchParams, router]); - const value = { token, isLoggedIn: !!token, @@ -65,7 +71,11 @@ export function AuthProvider({ children }) { return ( - {children} + + + {children} + + ); }