Commit 12339311 by Arjun Jhukal

updated the minor chagnes

parent b061cae3
......@@ -3,6 +3,8 @@
"use client"
import GlassWrapper from '@/components/molecules/GlassWrapper'
import { useAppDispatch } from '@/hooks/hook'
import { setTokens } from '@/slice/authSlice'
import { restoreAuthFromCookies } from '@/utils/authSession'
import Image from 'next/image'
import Link from 'next/link'
......@@ -13,17 +15,32 @@ export default function PaymentSuccess() {
const params = useParams();
const slug = params?.slug as string;
const [isReady, setIsReady] = useState(false);
const dispatch = useAppDispatch();
useEffect(() => {
// Restore auth from cookies to localStorage
const wasRestored = restoreAuthFromCookies();
if (wasRestored) {
window.location.reload();
return;
// Manually hydrate Redux from localStorage (no reload needed)
const userStr = localStorage.getItem('user');
const token = localStorage.getItem('access_token');
if (userStr && token) {
try {
const user = JSON.parse(userStr);
dispatch(setTokens({
access_token: token,
user: user
}));
} catch (e) {
console.error('Failed to parse user data:', e);
}
}
}
setIsReady(true);
}, []);
}, [dispatch]);
if (!isReady) {
return (
......
......@@ -35,11 +35,27 @@ export default function Private({ children }: { children: React.ReactNode }) {
const wasRestored = restoreAuthFromCookies();
if (wasRestored) {
window.location.reload();
// Manually hydrate Redux from localStorage
const userStr = localStorage.getItem('user');
const accessToken = localStorage.getItem('access_token');
if (userStr && accessToken) {
try {
const userData = JSON.parse(userStr);
dispatch(setTokens({
access_token: accessToken,
user: userData
}));
setIsHydrating(false);
return;
} catch (e) {
console.error('Failed to parse user data:', e);
}
}
}
const accessToken = token || Cookies.get("access_token");
// Normal flow - check existing auth
const accessToken = token || Cookies.get("access_token") || localStorage.getItem('access_token');
if (!accessToken || isTokenExpired(accessToken)) {
dispatch(clearTokens());
......@@ -47,8 +63,20 @@ export default function Private({ children }: { children: React.ReactNode }) {
return;
}
// If Redux was empty, rehydrate it
if (!token && accessToken) {
dispatch(setTokens({ access_token: accessToken, user: user || null }));
const userStr = localStorage.getItem('user');
let userData = user;
if (!userData && userStr) {
try {
userData = JSON.parse(userStr);
} catch (e) {
console.error('Failed to parse user:', e);
}
}
dispatch(setTokens({ access_token: accessToken, user: userData || null }));
}
setIsHydrating(false);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment