Fix post-login: re-read user role on every route change
All checks were successful
Build frontend / build (push) Successful in 55s
All checks were successful
Build frontend / build (push) Successful in 55s
- ClientLayout: separated user loading into useEffect with pathname dependency - Homepage: same fix - re-read user from JWT on route change - Fixes issue where navbar/dashboard links didn't appear until page reload
This commit is contained in:
@ -57,7 +57,17 @@ export default function ClientLayout({ children }) {
|
||||
setCurrentLanguage(savedLanguage);
|
||||
i18n.changeLanguage(savedLanguage);
|
||||
|
||||
// Load user from JWT via AuthService
|
||||
if (savedLanguage === "ar") {
|
||||
document.documentElement.dir = "rtl";
|
||||
document.documentElement.lang = "ar";
|
||||
} else {
|
||||
document.documentElement.dir = "ltr";
|
||||
document.documentElement.lang = "en";
|
||||
}
|
||||
}, [i18n]);
|
||||
|
||||
// Re-read user from JWT on every route change (handles post-login)
|
||||
useEffect(() => {
|
||||
const authUser = AuthService.getUser();
|
||||
if (authUser) {
|
||||
setUser({
|
||||
@ -71,15 +81,7 @@ export default function ClientLayout({ children }) {
|
||||
} else {
|
||||
setUser(null);
|
||||
}
|
||||
|
||||
if (savedLanguage === "ar") {
|
||||
document.documentElement.dir = "rtl";
|
||||
document.documentElement.lang = "ar";
|
||||
} else {
|
||||
document.documentElement.dir = "ltr";
|
||||
document.documentElement.lang = "en";
|
||||
}
|
||||
}, [i18n]);
|
||||
}, [pathname]);
|
||||
|
||||
useEffect(() => {
|
||||
const handleClickOutside = (event) => {
|
||||
|
||||
Reference in New Issue
Block a user