Added breadcrumb object + breadcrumbs for major pages.

This commit is contained in:
Patrick Fic
2020-04-13 14:02:07 -07:00
parent 502debae2e
commit e66bd0ae56
29 changed files with 939 additions and 133 deletions

View File

@@ -8,33 +8,43 @@ import { INSERT_NEW_COURTESY_CAR } from "../../graphql/courtesy-car.queries";
import { selectBodyshop } from "../../redux/user/user.selectors";
import CourtesyCarCreateComponent from "./courtesy-car-create.page.component";
import { useHistory } from "react-router-dom";
import { setBreadcrumbs } from "../../redux/application/application.actions";
const mapStateToProps = createStructuredSelector({
bodyshop: selectBodyshop
bodyshop: selectBodyshop,
});
export function CourtesyCarCreateContainer({ bodyshop }) {
const mapDispatchToProps = (dispatch) => ({
setBreadcrumbs: (breadcrumbs) => dispatch(setBreadcrumbs(breadcrumbs)),
});
export function CourtesyCarCreateContainer({ bodyshop, setBreadcrumbs }) {
const [form] = Form.useForm();
const [insertCourtesyCar] = useMutation(INSERT_NEW_COURTESY_CAR);
const { t } = useTranslation();
const history = useHistory();
const handleFinish = values => {
const handleFinish = (values) => {
insertCourtesyCar({
variables: { courtesycar: { ...values, bodyshopid: bodyshop.id } }
variables: { courtesycar: { ...values, bodyshopid: bodyshop.id } },
})
.then(response => {
.then((response) => {
notification["success"]({ message: t("courtesycars.successes.saved") });
history.push(
`/manage/courtesycars/${response.data.insert_courtesycars.returning[0].id}`
);
})
.catch(error => console.log("error", error));
.catch((error) => console.log("error", error));
};
useEffect(() => {
document.title = t("titles.courtesycars-create");
}, [t]);
setBreadcrumbs([
{ link: "/manage/courtesycars", label: t("titles.bc.courtesycars") },
{
link: "/manage/courtesycars/new",
label: t("titles.bc.courtesycars-new"),
},
]);
}, [t, setBreadcrumbs]);
return (
<Form form={form} autoComplete="no" onFinish={handleFinish}>
@@ -42,4 +52,7 @@ export function CourtesyCarCreateContainer({ bodyshop }) {
</Form>
);
}
export default connect(mapStateToProps, null)(CourtesyCarCreateContainer);
export default connect(
mapStateToProps,
mapDispatchToProps
)(CourtesyCarCreateContainer);