feature/IO-3255-simplified-parts-management - Checkpoint

This commit is contained in:
Dave
2025-08-13 15:48:09 -04:00
parent 898b97151f
commit 0d570d0323
8 changed files with 246 additions and 180 deletions

View File

@@ -1,18 +1,25 @@
import React, { useEffect } from "react";
import { useEffect } from "react";
import VehiclesPageComponent from "./vehicles.page.component";
import { useTranslation } from "react-i18next";
import { connect } from "react-redux";
import InstanceRenderManager from "../../utils/instanceRenderMgr";
import { setBreadcrumbs, setSelectedHeader } from "../../redux/application/application.actions";
import { createStructuredSelector } from "reselect";
import { selectIsPartsEntry } from "../../redux/application/application.selectors.js";
const mapStateToProps = createStructuredSelector({
isPartsEntry: selectIsPartsEntry
});
const mapDispatchToProps = (dispatch) => ({
setBreadcrumbs: (breadcrumbs) => dispatch(setBreadcrumbs(breadcrumbs)),
setSelectedHeader: (key) => dispatch(setSelectedHeader(key))
});
export function VehiclesPageContainer({ setBreadcrumbs, setSelectedHeader }) {
export function VehiclesPageContainer({ setBreadcrumbs, setSelectedHeader, isPartsEntry }) {
const { t } = useTranslation();
const basePath = isPartsEntry ? "/parts" : "/manage";
useEffect(() => {
document.title = t("titles.vehicles", {
@@ -22,10 +29,18 @@ export function VehiclesPageContainer({ setBreadcrumbs, setSelectedHeader }) {
})
});
setSelectedHeader("vehicles");
setBreadcrumbs([{ link: "/manage/vehicles", label: t("titles.bc.vehicles") }]);
}, [t, setBreadcrumbs, setSelectedHeader]);
if (isPartsEntry) {
setBreadcrumbs([
{ link: "/parts/", label: t("titles.bc.jobs") },
{ link: `${basePath}/vehicles`, label: t("titles.bc.vehicles") }
]);
} else {
setBreadcrumbs([{ link: `${basePath}/vehicles`, label: t("titles.bc.vehicles") }]);
}
}, [t, setBreadcrumbs, setSelectedHeader, basePath, isPartsEntry]);
return <VehiclesPageComponent />;
}
export default connect(null, mapDispatchToProps)(VehiclesPageContainer);
export default connect(mapStateToProps, mapDispatchToProps)(VehiclesPageContainer);