diff --git a/apps/edr-freight-web/backoffice/src/shared/context/AuthContext.tsx b/apps/edr-freight-web/backoffice/src/shared/context/AuthContext.tsx index d65d19ecd..bc422613c 100644 --- a/apps/edr-freight-web/backoffice/src/shared/context/AuthContext.tsx +++ b/apps/edr-freight-web/backoffice/src/shared/context/AuthContext.tsx @@ -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"); diff --git a/apps/edr-freight-web/backoffice/src/user-management/Applayout.tsx b/apps/edr-freight-web/backoffice/src/user-management/Applayout.tsx index 0362232e2..73daf3f22 100644 --- a/apps/edr-freight-web/backoffice/src/user-management/Applayout.tsx +++ b/apps/edr-freight-web/backoffice/src/user-management/Applayout.tsx @@ -24,7 +24,7 @@ export const AppLayout = () => { return (