diff --git a/client/src/App/App.jsx b/client/src/App/App.jsx index 42754b31e..80a5facfe 100644 --- a/client/src/App/App.jsx +++ b/client/src/App/App.jsx @@ -30,9 +30,6 @@ const CsiPage = lazy(() => import("../pages/csi/csi.container.page")); const MobilePaymentContainer = lazy(() => import("../pages/mobile-payment/mobile-payment.container") ); -const ManageRootPage = lazy(() => - import("../pages/manage-root/manage-root.page.container") -); const mapStateToProps = createStructuredSelector({ currentUser: selectCurrentUser, online: selectOnline, @@ -117,15 +114,14 @@ export function App({ }/> }/> }/> - }> - }/> - }/> + }> + }/> - }> - }/> + }> + }/> - }> - }/> + }> + }/> diff --git a/client/src/pages/landing/landing.page.jsx b/client/src/pages/landing/landing.page.jsx index c3b54f1cd..570fd9870 100644 --- a/client/src/pages/landing/landing.page.jsx +++ b/client/src/pages/landing/landing.page.jsx @@ -15,8 +15,8 @@ export function LandingPage({ currentUser }) { const navigate = useNavigate(); useEffect(() => { - if (!currentUser.authorized) { - navigate('/manage/'); + if (currentUser.authorized) { + navigate('/manage/jobs'); } }, [currentUser, navigate]); diff --git a/client/src/pages/manage/manage.page.component.jsx b/client/src/pages/manage/manage.page.component.jsx index 96fd60831..4fc840fbb 100644 --- a/client/src/pages/manage/manage.page.component.jsx +++ b/client/src/pages/manage/manage.page.component.jsx @@ -164,6 +164,9 @@ const Dms = lazy(() => import("../dms/dms.container")); const DmsPayables = lazy(() => import("../dms-payables/dms-payables.container") ); +const ManageRootPage = lazy(() => + import("../manage-root/manage-root.page.container") +); const {Content, Footer} = Layout; @@ -203,6 +206,7 @@ export function Manage({conflict, bodyshop}) { }/> + }/> }/> ({ export function ScoreboardContainer({ setBreadcrumbs, setSelectedHeader }) { const { t } = useTranslation(); - const searchParams = queryString.parse(useLocation().search); - const { tab } = searchParams; - const navigate = useNavigate(); + const searchParams = queryString.parse(useLocation().search); + const { tab } = searchParams; + const history = useNavigate(); useEffect(() => { document.title = t("titles.scoreboard"); setSelectedHeader("scoreboard"); @@ -44,58 +44,60 @@ export function ScoreboardContainer({ setBreadcrumbs, setSelectedHeader }) { }, [t, setBreadcrumbs, setSelectedHeader]); return ( - - - { - searchParams.set("tab", key); - navigate({ search: searchParams.toString() }); - }} - > - + + + { + searchParams.tab = key; + history({ + search: queryString.stringify(searchParams), + }); + }} + > + - {t("scoreboard.labels.jobs")} + {t("scoreboard.labels.jobs")} - } - destroyInactiveTabPane - key="sb" - > - - - + } + destroyInactiveTabPane + key="sb" + > + + + - {t("scoreboard.labels.timeticketsemployee")} + {t("scoreboard.labels.timeticketsemployee")} - } - destroyInactiveTabPane - key="tickets" - > - - - + } + destroyInactiveTabPane + key="tickets" + > + + + - {t("scoreboard.labels.allemployeetimetickets")} + {t("scoreboard.labels.allemployeetimetickets")} - } - destroyInactiveTabPane - key="ticketsstats" - > - - - - - + } + destroyInactiveTabPane + key="ticketsstats" + > + + + + + ); } export default connect( - mapStateToProps, - mapDispatchToProps -)(ScoreboardContainer); \ No newline at end of file + mapStateToProps, + mapDispatchToProps +)(ScoreboardContainer); diff --git a/client/src/pages/shop/shop.page.component.jsx b/client/src/pages/shop/shop.page.component.jsx index 9568d5d38..91546cc5b 100644 --- a/client/src/pages/shop/shop.page.component.jsx +++ b/client/src/pages/shop/shop.page.component.jsx @@ -1,6 +1,7 @@ import { Tabs } from "antd"; import React, { useEffect } from "react"; import { useNavigate, useLocation } from "react-router-dom"; +import queryString from "query-string"; import { useTranslation } from "react-i18next"; import ShopEmployeesContainer from "../../components/shop-employees/shop-employees.container"; import ShopInfoContainer from "../../components/shop-info/shop-info.container"; @@ -15,7 +16,6 @@ import { } from "../../redux/application/application.actions"; import { selectBodyshop } from "../../redux/user/user.selectors"; import ShopInfoUsersComponent from "../../components/shop-users/shop-users.component"; -import queryString from "query-string"; const mapStateToProps = createStructuredSelector({ bodyshop: selectBodyshop, }); @@ -26,9 +26,9 @@ const mapDispatchToProps = (dispatch) => ({ export function ShopPage({ bodyshop, setSelectedHeader, setBreadcrumbs }) { const { t } = useTranslation(); - const navigate = useNavigate(); - const searchParams = queryString.parse(useLocation().search); - const { tab } = searchParams; + const history = useNavigate(); + const search = queryString.parse(useLocation().search); + useEffect(() => { document.title = t("titles.shop"); setSelectedHeader("shop"); @@ -41,32 +41,29 @@ export function ShopPage({ bodyshop, setSelectedHeader, setBreadcrumbs }) { }, [t, setSelectedHeader, setBreadcrumbs, bodyshop.shopname]); useEffect(() => { - if (!tab) navigate({ search: "?tab=info" }); - }, [navigate, tab]); + if (!search.tab) history({ search: "?tab=info" }); + }, [history, search]); return ( - - { - searchParams.set("tab", key); - navigate({ search: searchParams.toString() }); - }} - > - - - - - - - - - - - - - - + + history({ search: `?tab=${key}` })} + > + + + + + + + + + + + + + + ); } -export default connect(mapStateToProps, mapDispatchToProps)(ShopPage); \ No newline at end of file +export default connect(mapStateToProps, mapDispatchToProps)(ShopPage); diff --git a/client/src/pages/tech/tech.page.component.jsx b/client/src/pages/tech/tech.page.component.jsx index 613cb43ca..3bd137f82 100644 --- a/client/src/pages/tech/tech.page.component.jsx +++ b/client/src/pages/tech/tech.page.component.jsx @@ -68,7 +68,6 @@ export function TechPage({ technician }) { - } /> - } /> + } /> } /> } /> } /> @@ -91,7 +90,6 @@ export function TechPage({ technician }) { - diff --git a/client/src/pages/tech/tech.page.container.jsx b/client/src/pages/tech/tech.page.container.jsx index c7b8eae3c..d63e5eb85 100644 --- a/client/src/pages/tech/tech.page.container.jsx +++ b/client/src/pages/tech/tech.page.container.jsx @@ -25,10 +25,12 @@ export function TechPageContainer({ bodyshop, setBodyshop }) { nextFetchPolicy: "network-only", }); const { t } = useTranslation(); + useEffect(() => { if (data) setBodyshop(data.bodyshops[0]); }, [data, setBodyshop]); + if (loading || !bodyshop) return ; if (error) return ; diff --git a/client/src/utils/prompt.js b/client/src/utils/prompt.js index 0d60f0911..0ed5fc761 100644 --- a/client/src/utils/prompt.js +++ b/client/src/utils/prompt.js @@ -15,7 +15,7 @@ function Prompt(props) { ) } -export default Prompt +export default Prompt; // Potential new solution: