From c120db9e38f3340125265d514c3d79e079978527 Mon Sep 17 00:00:00 2001 From: Roshan Piyush Date: Wed, 28 Aug 2024 23:52:01 +0530 Subject: [PATCH] Implement report view --- services/web/src/actions/userActions.ts | 7 ++ services/web/src/components/layout/layout.tsx | 24 +++- .../mechanicDashboard/mechanicDashboard.tsx | 6 +- services/web/src/components/order/order.tsx | 2 +- .../src/components/pastOrders/pastOrders.tsx | 6 +- .../serviceReport/serviceReport.tsx | 115 ++++++++++++++++++ services/web/src/components/shop/shop.tsx | 2 +- .../vehicleServiceDashboard.tsx | 8 +- services/web/src/constants/APIConstant.ts | 1 + services/web/src/constants/actionTypes.ts | 1 + .../mechanicDashboard/mechanicDashboard.tsx | 1 - .../serviceReport/serviceReport.tsx | 92 ++++++++++++++ .../vehicleServiceDashboard.tsx | 1 - services/web/src/sagas/userSaga.ts | 4 - services/web/src/sagas/vehicleSaga.ts | 41 +++++++ 15 files changed, 291 insertions(+), 20 deletions(-) create mode 100644 services/web/src/components/serviceReport/serviceReport.tsx create mode 100644 services/web/src/containers/serviceReport/serviceReport.tsx diff --git a/services/web/src/actions/userActions.ts b/services/web/src/actions/userActions.ts index 7403dc77..94c413fb 100644 --- a/services/web/src/actions/userActions.ts +++ b/services/web/src/actions/userActions.ts @@ -156,6 +156,13 @@ export const getVehicleServicesAction = ({ accessToken, VIN, callback, ...data } }; }; +export const getServiceReportAction = ({ accessToken, reportId, callback, ...data }: ActionPayload & AccessTokenPayload) => { + return { + type: actionTypes.GET_SERVICE_REPORT, + payload: { accessToken, reportId, callback, ...data }, + }; +}; + export const changeEmailAction = ({ accessToken, callback, ...data }: ActionPayload & AccessTokenPayload) => { return { type: actionTypes.CHANGE_EMAIL, diff --git a/services/web/src/components/layout/layout.tsx b/services/web/src/components/layout/layout.tsx index 2df885a2..afc7c62f 100644 --- a/services/web/src/components/layout/layout.tsx +++ b/services/web/src/components/layout/layout.tsx @@ -40,11 +40,11 @@ import UnlockContainer from "../../containers/unlock/unlock"; import NewPostContainer from "../../containers/newPost/newPost"; import PostContainer from "../../containers/post/post"; import VehicleServiceDashboardContainer from "../../containers/vehicleServiceDashboard/vehicleServiceDashboard"; +import ServiceReportContiner from "../../containers/serviceReport/serviceReport"; import { logOutUserAction, validateAccessTokenAction, } from "../../actions/userActions"; -import { validateAccessToken } from "../../sagas/userSaga"; import { isAccessTokenValid } from "../../utils"; const { Content } = Layout; @@ -158,12 +158,19 @@ const StyledComp: React.FC = (props) => { setWindowHeight(window.innerHeight); } + const isLoggedIn = props.isLoggedIn; + const accessToken = props.accessToken; + const validateAccessToken = props.validateAccessToken; + useEffect(() => { window.addEventListener("resize", handleResize); return () => { window.removeEventListener("resize", handleResize); + if (isLoggedIn) { + validateAccessToken({ accessToken: accessToken }); + } }; - }, []); + }, [isLoggedIn, validateAccessToken, accessToken]); return ( @@ -295,6 +302,19 @@ const StyledComp: React.FC = (props) => { /> } /> + + } + /> = ({ services }) => { return ( - <> + {services.map((service) => ( @@ -63,7 +63,7 @@ const MechanicDashboard: React.FC = ({ services }) => { ))} - + ); }; diff --git a/services/web/src/components/order/order.tsx b/services/web/src/components/order/order.tsx index b2e27ae2..161faa8f 100644 --- a/services/web/src/components/order/order.tsx +++ b/services/web/src/components/order/order.tsx @@ -65,7 +65,7 @@ const Order: React.FC = ({ order }) => { ); return ( - + = (props) => {