This commit is contained in:
natib21
2026-07-10 12:50:19 +00:00
parent 72f0e114b1
commit a440ae6978
3 changed files with 45 additions and 13 deletions

View File

@@ -7,6 +7,7 @@ import React, {
} from "react";
import Cookies from "js-cookie";
import { MeDto } from "@/shared/dto/user/meDto";
import { useAuth as useFreightAuth } from "@/auth/useAuth";
// ----- TYPES -----
export interface Role {
@@ -49,21 +50,32 @@ export const AuthProvider = ({ children }: { children: ReactNode }) => {
const [showOtpModal, setShowOtpModal] = useState(false);
const [rememberMePreference, setRememberMePreference] = useState(false);
useEffect(() => {
const cookieUser = Cookies.get("auth-user");
const positionId = Cookies.get("selected-position-id");
// Bridge to the freight session: this provider renders inside the freight
// AuthProvider, so the real signed-in user is available here. The vendored IAM
// code (AppMenuTabs, pages) reads `user` from this context — feed it the
// freight user so it isn't null. Falls back to the legacy auth-user cookie.
const { user: freightUser } = useFreightAuth();
useEffect(() => {
const positionId = Cookies.get("selected-position-id");
if (positionId) setSelectedPositionId(positionId);
if (freightUser) {
setUser(freightUser as unknown as MeDto);
setLoading(false);
return;
}
const cookieUser = Cookies.get("auth-user");
if (cookieUser) {
try {
const parsed = JSON.parse(cookieUser);
setUser(parsed);
if (positionId) setSelectedPositionId(positionId);
setUser(JSON.parse(cookieUser));
} catch (e) {
console.error("Invalid user cookie");
}
}
setLoading(false);
}, []);
}, [freightUser]);
// useEffect(() => {
// sessionStorage.setItem("tabActive", "true");