From 663a04dd5369caded1379e91f4bf3f89111d91d3 Mon Sep 17 00:00:00 2001
From: Alberto Defendi <1369-ahl-berto@users.noreply.gitlab.inf.unibz.it>
Date: Tue, 22 Jun 2021 07:29:17 +0200
Subject: [PATCH] Switch page view based on role.

---
 .../ReservationListSwitcher.tsx               | 19 +++++++++++++++++++
 .../ReservationPage/ReservationPage.tsx       | 12 ++++++++----
 2 files changed, 27 insertions(+), 4 deletions(-)
 create mode 100644 src/components/Dashboard/ReservationPage/ReservationList/ReservationListSwitcher.tsx

diff --git a/src/components/Dashboard/ReservationPage/ReservationList/ReservationListSwitcher.tsx b/src/components/Dashboard/ReservationPage/ReservationList/ReservationListSwitcher.tsx
new file mode 100644
index 0000000..0d2057b
--- /dev/null
+++ b/src/components/Dashboard/ReservationPage/ReservationList/ReservationListSwitcher.tsx
@@ -0,0 +1,19 @@
+import React, { FC } from 'react';
+import { useRole } from 'hooks/useRole';
+import { Roles } from 'roles/userRoles';
+import { ReservationsListByWeek } from 'components/Dashboard/ReservationPage/ReservationList/ReservationsListByWeek';
+import { ReservationList } from 'components/Dashboard/ReservationPage/ReservationList/ReservationList';
+
+export const ReservationListSwitcher: FC = () => {
+  const [role] = useRole();
+
+  return (
+    <>
+      {role === Roles.operator ? (
+        <ReservationsListByWeek />
+      ) : (
+        <ReservationList />
+      )}
+    </>
+  );
+};
diff --git a/src/components/Dashboard/ReservationPage/ReservationPage.tsx b/src/components/Dashboard/ReservationPage/ReservationPage.tsx
index 1553761..3b1eba2 100644
--- a/src/components/Dashboard/ReservationPage/ReservationPage.tsx
+++ b/src/components/Dashboard/ReservationPage/ReservationPage.tsx
@@ -1,16 +1,20 @@
 import React, { FC } from 'react';
+import { useRole } from 'hooks/useRole';
+import { Roles } from 'roles/userRoles';
 import { Grid, Typography } from '@material-ui/core';
 import AddIcon from '@material-ui/icons/Add';
 import Fab from '@material-ui/core/Fab';
 import { NavBar } from 'components/Dashboard/HomePage/NavBar';
-import { reservationPageStyle } from './ReservationPage.style';
-import { ReservationDialog } from './ReservationDialog';
 import { ReservationList } from './ReservationList/ReservationList';
-import { ReservationsListByWeek } from './ReservationList/ReservationsListByWeek';
 import { ReservationPageHeader } from './ReservationPageHeader';
+import { ReservationDialog } from './ReservationDialog';
+import { ReservationsListByWeek } from './ReservationList/ReservationsListByWeek';
+import { reservationPageStyle } from './ReservationPage.style';
+import { ReservationListSwitcher } from './ReservationList/ReservationListSwitcher';
 
 export const ReservationPage: FC = () => {
   const classes = reservationPageStyle();
+  const [role] = useRole();
 
   const [isOpen, setIsOpen] = React.useState<boolean>(false);
 
@@ -47,7 +51,7 @@ export const ReservationPage: FC = () => {
 
           <Grid item xs={1} lg={2} />
           <Grid item xs={10} lg={8}>
-            <ReservationsListByWeek />
+            <ReservationListSwitcher />
           </Grid>
           <Grid item xs={1} lg={2} />
         </Grid>
-- 
GitLab