From 80653dbe68da683ccde4bae1cf6d940a472292db Mon Sep 17 00:00:00 2001 From: tiffanyvu Date: Wed, 15 Jan 2025 11:50:24 -0800 Subject: [PATCH 1/3] check in dashboard loader func --- react-app/src/features/dashboard/index.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/react-app/src/features/dashboard/index.tsx b/react-app/src/features/dashboard/index.tsx index 14bdd64e42..9778ca2bbd 100644 --- a/react-app/src/features/dashboard/index.tsx +++ b/react-app/src/features/dashboard/index.tsx @@ -3,6 +3,8 @@ import { Plus as PlusIcon } from "lucide-react"; import { getUser, useGetUser } from "@/api"; import { WaiversList } from "./Lists/waivers"; import { SpasList } from "./Lists/spas"; +import { UserRoles } from "shared-types"; + import { OsProvider, type OsTab, @@ -40,7 +42,11 @@ export const Dashboard = () => { const { data: userObj } = useGetUser(); const osData = useOsData(); - if (userObj === undefined) { + if ( + userObj === undefined || + (userObj.user["custom:cms-roles"] && + !Object.values(UserRoles).some((role) => userObj.user["custom:cms-roles"].includes(role))) + ) { return ; } From 2f6e6b67f290d3ea27c393266ed4210be72f8ac9 Mon Sep 17 00:00:00 2001 From: tiffanyvu Date: Wed, 15 Jan 2025 12:02:38 -0800 Subject: [PATCH 2/3] rm space --- react-app/src/features/dashboard/index.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/react-app/src/features/dashboard/index.tsx b/react-app/src/features/dashboard/index.tsx index 9778ca2bbd..f537281681 100644 --- a/react-app/src/features/dashboard/index.tsx +++ b/react-app/src/features/dashboard/index.tsx @@ -4,7 +4,6 @@ import { getUser, useGetUser } from "@/api"; import { WaiversList } from "./Lists/waivers"; import { SpasList } from "./Lists/spas"; import { UserRoles } from "shared-types"; - import { OsProvider, type OsTab, From 1fd70094a116b671e50a5dfe864aea6bd9372dbd Mon Sep 17 00:00:00 2001 From: tiffanyvu Date: Wed, 15 Jan 2025 13:02:19 -0800 Subject: [PATCH 3/3] extract --- react-app/src/features/dashboard/index.tsx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/react-app/src/features/dashboard/index.tsx b/react-app/src/features/dashboard/index.tsx index f537281681..e7bc5c73cf 100644 --- a/react-app/src/features/dashboard/index.tsx +++ b/react-app/src/features/dashboard/index.tsx @@ -41,11 +41,14 @@ export const Dashboard = () => { const { data: userObj } = useGetUser(); const osData = useOsData(); - if ( - userObj === undefined || - (userObj.user["custom:cms-roles"] && - !Object.values(UserRoles).some((role) => userObj.user["custom:cms-roles"].includes(role))) - ) { + const isAbleToAccessDashboard = () => { + return ( + userObj.user["custom:cms-roles"] && + Object.values(UserRoles).some((role) => userObj.user["custom:cms-roles"].includes(role)) + ); + }; + + if (userObj === undefined || !isAbleToAccessDashboard()) { return ; }