From 7453da0ad5ac520357d63b4c755b7f044d2233a7 Mon Sep 17 00:00:00 2001 From: Akshata Katwal Date: Thu, 14 Nov 2024 17:23:17 +0530 Subject: [PATCH] Issue feat PS-2478: clear cache after logout and academic year changed --- src/components/MenuDrawer.tsx | 5 ++++- src/pages/logout.tsx | 5 +++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/components/MenuDrawer.tsx b/src/components/MenuDrawer.tsx index 32318955..65c4bb1a 100644 --- a/src/components/MenuDrawer.tsx +++ b/src/components/MenuDrawer.tsx @@ -28,6 +28,7 @@ import { getAcademicYear } from '../services/AcademicYearService'; import { AcademicYear } from '@/utils/Interfaces'; import { telemetryFactory } from '@/utils/telemetry'; import { Telemetry } from '@/utils/app.constant'; +import { useQueryClient } from '@tanstack/react-query'; interface DrawerProps { toggleDrawer?: (open: boolean) => () => void; @@ -50,7 +51,7 @@ const MenuDrawer: React.FC = ({ const [academicYearList, setAcademicYearList] = useState([]); const [modifiedAcademicYearList, setModifiedAcademicYearList] = useState([]); const [selectedSessionId, setSelectedSessionId] = useState(''); - + const queryClient = useQueryClient(); const { i18n, t } = useTranslation(); const router = useRouter(); const store = useStore(); @@ -111,6 +112,8 @@ const MenuDrawer: React.FC = ({ const isActive = selectedYear ? selectedYear.isActive : false; // localStorage.setItem('isActiveYearSelected', JSON.stringify(isActive)); setIsActiveYearSelected(isActive); + queryClient.clear(); + if (isActive) { window.location.reload(); } else { diff --git a/src/pages/logout.tsx b/src/pages/logout.tsx index fb25c6f1..67cdb9b4 100644 --- a/src/pages/logout.tsx +++ b/src/pages/logout.tsx @@ -4,8 +4,9 @@ import { logout } from '../services/LoginService'; import { telemetryFactory } from '@/utils/telemetry'; import ReactGA from 'react-ga4'; import { Telemetry } from '@/utils/app.constant'; - +import { useQueryClient } from '@tanstack/react-query'; function Logout() { + const queryClient = useQueryClient(); const router = useRouter(); const clearLocalStorage = () => { if (typeof window !== 'undefined' && window.localStorage) { @@ -26,7 +27,7 @@ function Logout() { // Clear all local storage localStorage.clear(); - + queryClient.clear(); // Re-add the keys to keep with their values keysToKeep.forEach((key: string) => { if (valuesToKeep[key] !== null) {