From d3c9d4a7dbc23fedd77551f065d46ab6cfaeb26d Mon Sep 17 00:00:00 2001 From: syam babu Date: Fri, 24 May 2024 15:36:20 +0530 Subject: [PATCH] fix: fixed no calendar id causing looping in the login page. Fixed reload of CMS not updating user data. closes #1122 --- src/pages/Dashboard/Dashboard.jsx | 36 +++++++++++++++++++------------ 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/src/pages/Dashboard/Dashboard.jsx b/src/pages/Dashboard/Dashboard.jsx index 1d36cfc9e..839863391 100644 --- a/src/pages/Dashboard/Dashboard.jsx +++ b/src/pages/Dashboard/Dashboard.jsx @@ -60,30 +60,38 @@ function Dashboard() { const [isModalVisible, setIsModalVisible] = useState(false); useEffect(() => { - if (!accessToken && accessToken === '') { - const accessToken = Cookies.get('accessToken'); - const refreshToken = Cookies.get('refreshToken'); + const accessTokenFromCookie = Cookies.get('accessToken'); + const refreshTokenFromCookie = Cookies.get('refreshToken'); + const calendarIdFromCookie = Cookies.get('calendarId'); + const calId = calendarId || calendarIdFromCookie; - if (!calendarId) { - calendarId = Cookies.get('calendarId'); - } - if (accessToken && calendarId) { - getCurrentUserDetails({ accessToken: accessToken, calendarId: calendarId }) + if (!calId) { + return; + } + + if (!accessToken && !accessTokenFromCookie) { + navigate(PathName.Login); + } else if (location?.state?.previousPath?.toLowerCase() !== 'login') { + const token = accessToken || accessTokenFromCookie; + if (token && calId) { + getCurrentUserDetails({ accessToken: token, calendarId: calId }) .unwrap() .then((response) => { dispatch( - setUser({ user: { ...response }, refreshToken: { token: refreshToken }, accessToken: accessToken }), + setUser({ user: { ...response }, refreshToken: { token: refreshTokenFromCookie }, accessToken: token }), ); + }) + .catch(() => { + navigate(PathName.Login); }); + } else if (location?.state?.previousPath?.toLowerCase() === 'login' || !calendarId) { + dispatch(setInterfaceLanguage(user?.interfaceLanguage?.toLowerCase())); + i18n.changeLanguage(user?.interfaceLanguage?.toLowerCase()); } else { navigate(PathName.Login); } - } else { - if (location?.state?.previousPath?.toLowerCase() === 'login' || !calendarId) - dispatch(setInterfaceLanguage(user?.interfaceLanguage?.toLowerCase())); - i18n.changeLanguage(user?.interfaceLanguage?.toLowerCase()); } - }, [accessToken]); + }, [accessToken, isSuccess]); useEffect(() => { if (isSuccess) {