diff --git a/components/ProfileDropdown.tsx b/components/ProfileDropdown.tsx
index 8bd92e9..3a83af8 100644
--- a/components/ProfileDropdown.tsx
+++ b/components/ProfileDropdown.tsx
@@ -53,10 +53,10 @@ export default function ProfileDropdown() {
onClick={async () => {
const res = await ImaluumLogout();
if (res.success) {
- sessionStorage.clear();
+ localStorage.clear();
queryCache.clear();
toast.success("Logged out successfully.");
- router.replace("/");
+ router.push("/");
}
}}
>
diff --git a/context/ImaluumProvider.tsx b/context/ImaluumProvider.tsx
index 8cc1c6d..9073f0d 100644
--- a/context/ImaluumProvider.tsx
+++ b/context/ImaluumProvider.tsx
@@ -12,19 +12,21 @@ import Image from "next/image";
const ImaluumProvider = ({ children }: { children: React.ReactNode }) => {
const { profile, setProfile } = useProfile();
- const { setResult } = useResult();
- const { setSchedule } = useSchedule();
+ const { result, setResult } = useResult();
+ const { schedule, setSchedule } = useSchedule();
const profileData = useQuery({
queryKey: ["profile"],
queryFn: async () => {
const data = await GetUserProfile(profile.matricNo as string);
if (data.success) {
- setProfile(data.data);
+ const password = profile.password;
+ setProfile({ ...data.data, password });
return data.data;
}
},
retry: 3,
+ enabled: !profile.imageURL,
});
const resultData = useQuery({
@@ -37,6 +39,7 @@ const ImaluumProvider = ({ children }: { children: React.ReactNode }) => {
}
},
retry: 3,
+ enabled: !result,
});
const scheduleData = useQuery({
@@ -49,11 +52,10 @@ const ImaluumProvider = ({ children }: { children: React.ReactNode }) => {
}
},
retry: 3,
+ enabled: !schedule,
});
- return profileData.isSuccess &&
- resultData.isSuccess &&
- scheduleData.isSuccess ? (
+ return profile && result && schedule ? (
<>{children}>
) : (
diff --git a/middleware.ts b/middleware.ts
deleted file mode 100644
index dce5c18..0000000
--- a/middleware.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import { NextResponse } from "next/server";
-import type { NextRequest } from "next/server";
-
-export async function middleware(req: NextRequest) {
- const cookie = req.cookies.get("MOD_AUTH_CAS");
-
- if (!cookie && req.nextUrl.pathname !== "/") {
- return NextResponse.redirect(new URL("/", req.url));
- }
-
- if (cookie && req.nextUrl.pathname === "/") {
- return NextResponse.redirect(new URL("/dashboard", req.url));
- }
-}
-
-export const config = {
- matcher: ["/((?!api|_next/static|_next/image|favicon.ico).*)"],
-};