WIP for not found error pages BOD-119

This commit is contained in:
Patrick Fic
2020-08-25 11:17:01 -07:00
parent 5e4a825bcf
commit b78b6ef876
11 changed files with 121 additions and 31 deletions

View File

@@ -3,24 +3,19 @@ import React, { useEffect } from "react";
import { useTranslation } from "react-i18next";
import { connect } from "react-redux";
import { useParams } from "react-router-dom";
import { createStructuredSelector } from "reselect";
import AlertComponent from "../../components/alert/alert.component";
import LoadingSpinner from "../../components/loading-spinner/loading-spinner.component";
import NotFound from "../../components/not-found/not-found.component";
import RbacWrapper from "../../components/rbac-wrapper/rbac-wrapper.component";
import { QUERY_JOB_CLOSE_DETAILS } from "../../graphql/jobs.queries";
import { setBreadcrumbs } from "../../redux/application/application.actions";
import { selectBodyshop } from "../../redux/user/user.selectors";
import JobsCloseComponent from "./jobs-close.component";
const mapStateToProps = createStructuredSelector({
bodyshop: selectBodyshop,
});
const mapDispatchToProps = (dispatch) => ({
setBreadcrumbs: (breadcrumbs) => dispatch(setBreadcrumbs(breadcrumbs)),
});
export function JobsCloseContainer({ setBreadcrumbs, bodyshop }) {
export function JobsCloseContainer({ setBreadcrumbs }) {
const { jobId } = useParams();
const { loading, error, data } = useQuery(QUERY_JOB_CLOSE_DETAILS, {
variables: { id: jobId },
@@ -28,7 +23,7 @@ export function JobsCloseContainer({ setBreadcrumbs, bodyshop }) {
const { t } = useTranslation();
useEffect(() => {
document.title = t("titles.jobs-close", {
number: data ? data.jobs_by_pk.ro_number : null,
number: data ? data.jobs_by_pk && data.jobs_by_pk.ro_number : null,
});
setBreadcrumbs([
@@ -39,7 +34,7 @@ export function JobsCloseContainer({ setBreadcrumbs, bodyshop }) {
{
link: `/manage/jobs/${jobId}/`,
label: t("titles.bc.jobs-detail", {
number: data ? data.jobs_by_pk.ro_number : null,
number: data ? data.jobs_by_pk && data.jobs_by_pk.ro_number : null,
}),
},
{
@@ -51,6 +46,7 @@ export function JobsCloseContainer({ setBreadcrumbs, bodyshop }) {
if (loading) return <LoadingSpinner />;
if (error) return <AlertComponent message={error.message} type="error" />;
if (!!!data.jobs_by_pk) return <NotFound />;
return (
<RbacWrapper action="jobs:close">
@@ -63,4 +59,4 @@ export function JobsCloseContainer({ setBreadcrumbs, bodyshop }) {
</RbacWrapper>
);
}
export default connect(mapStateToProps, mapDispatchToProps)(JobsCloseContainer);
export default connect(null, mapDispatchToProps)(JobsCloseContainer);