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) => {