feature/IO-3497-Ant-Design-v5-to-v6 - Signed off Files (Checkpoint)
This commit is contained in:
@@ -52,7 +52,7 @@ export function AccountingPayablesContainer({ bodyshop, setBreadcrumbs, setSelec
|
||||
nextFetchPolicy: "network-only"
|
||||
});
|
||||
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
|
||||
const noPath =
|
||||
!partnerVersion?.qbpath && !(bodyshop && (bodyshopHasDmsKey(bodyshop) || bodyshop?.accountingconfig?.qbo));
|
||||
@@ -68,7 +68,7 @@ export function AccountingPayablesContainer({ bodyshop, setBreadcrumbs, setSelec
|
||||
}
|
||||
>
|
||||
<RbacWrapper action="accounting:payables">
|
||||
{noPath && <AlertComponent type="error" message={t("general.messages.noacctfilepath")} />}
|
||||
{noPath && <AlertComponent type="error" title={t("general.messages.noacctfilepath")} />}
|
||||
<AccountingPayablesTable loadaing={loading} bills={data ? data.bills : []} refetch={refetch} />
|
||||
</RbacWrapper>
|
||||
</FeatureWrapperComponent>
|
||||
|
||||
@@ -52,7 +52,7 @@ export function AccountingPaymentsContainer({ bodyshop, setBreadcrumbs, setSelec
|
||||
nextFetchPolicy: "network-only"
|
||||
});
|
||||
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
|
||||
const noPath =
|
||||
!partnerVersion?.qbpath && !(bodyshop && (bodyshopHasDmsKey(bodyshop) || bodyshop?.accountingconfig?.qbo));
|
||||
@@ -68,7 +68,7 @@ export function AccountingPaymentsContainer({ bodyshop, setBreadcrumbs, setSelec
|
||||
}
|
||||
>
|
||||
<RbacWrapper action="accounting:payments">
|
||||
{noPath && <AlertComponent type="error" message={t("general.messages.noacctfilepath")} />}
|
||||
{noPath && <AlertComponent type="error" title={t("general.messages.noacctfilepath")} />}
|
||||
<AccountingPaymentsTable loadaing={loading} payments={data ? data.payments : []} refetch={refetch} />
|
||||
</RbacWrapper>
|
||||
</FeatureWrapperComponent>
|
||||
|
||||
@@ -55,7 +55,7 @@ export function AccountingReceivablesContainer({ bodyshop, setBreadcrumbs, setSe
|
||||
nextFetchPolicy: "network-only"
|
||||
});
|
||||
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
|
||||
const noPath =
|
||||
!partnerVersion?.qbpath && !(bodyshop && (bodyshopHasDmsKey(bodyshop) || bodyshop?.accountingconfig?.qbo));
|
||||
@@ -71,7 +71,7 @@ export function AccountingReceivablesContainer({ bodyshop, setBreadcrumbs, setSe
|
||||
}
|
||||
>
|
||||
<RbacWrapper action="accounting:receivables">
|
||||
{noPath && <AlertComponent type="error" message={t("general.messages.noacctfilepath")} />}
|
||||
{noPath && <AlertComponent type="error" title={t("general.messages.noacctfilepath")} />}
|
||||
<AccountingReceivablesTable loadaing={loading} jobs={data ? data.jobs : []} refetch={refetch} />
|
||||
</RbacWrapper>
|
||||
</FeatureWrapperComponent>
|
||||
|
||||
@@ -147,7 +147,7 @@ export function BillsPageContainer({ setBreadcrumbs, setSelectedHeader }) {
|
||||
}
|
||||
}, [location.search]);
|
||||
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
return (
|
||||
<FeatureWrapperComponent
|
||||
featureName="bills"
|
||||
|
||||
@@ -105,7 +105,7 @@ export function ContractDetailPageContainer({ setBreadcrumbs, addRecentItem, set
|
||||
if (data?.cccontracts_by_pk) form.resetFields();
|
||||
}, [data, form]);
|
||||
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
if (loading) return <LoadingSpinner />;
|
||||
|
||||
if (!data.cccontracts_by_pk) return <NotFound />;
|
||||
|
||||
@@ -56,7 +56,7 @@ export function ContractsPageContainer({ setBreadcrumbs, setSelectedHeader }) {
|
||||
]);
|
||||
}, [setBreadcrumbs, t, setSelectedHeader]);
|
||||
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
return (
|
||||
<FeatureWrapperComponent
|
||||
featureName="courtesycars"
|
||||
|
||||
@@ -124,7 +124,7 @@ export function CourtesyCarDetailPageContainer({ setBreadcrumbs, addRecentItem,
|
||||
}, [data, form]);
|
||||
|
||||
if (loading) return <LoadingSpinner />;
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
|
||||
if (!data.courtesycars_by_pk) return <NotFound />;
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ export function CourtesyCarsPageContainer({ setBreadcrumbs, setSelectedHeader })
|
||||
setBreadcrumbs([{ link: "/manage/courtesycars", label: t("titles.bc.courtesycars") }]);
|
||||
}, [setBreadcrumbs, t, setSelectedHeader]);
|
||||
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
return (
|
||||
<FeatureWrapperComponent
|
||||
featureName="courtesycars"
|
||||
|
||||
@@ -182,7 +182,7 @@ export function CsiContainerPage({ currentUser }) {
|
||||
})}
|
||||
</Typography.Paragraph>
|
||||
</div>
|
||||
{submitting.error ? <AlertComponent message={submitting.error} type="error" /> : null}
|
||||
{submitting.error ? <AlertComponent title={submitting.error} type="error" /> : null}
|
||||
{submitting.submitted ? (
|
||||
<Layout.Content
|
||||
style={{
|
||||
|
||||
@@ -419,7 +419,7 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, inse
|
||||
};
|
||||
|
||||
if (loading) return <LoadingSpinner />;
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
|
||||
if (!jobId || !bodyshopHasDmsKey(bodyshop) || !data?.jobs_by_pk)
|
||||
return <Result status="404" title={t("general.errors.notfound")} />;
|
||||
@@ -428,7 +428,7 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, inse
|
||||
|
||||
return (
|
||||
<div>
|
||||
<AlertComponent style={{ marginBottom: 10 }} message={bannerMessage} type="warning" showIcon closable />
|
||||
<AlertComponent style={{ marginBottom: 10 }} title={bannerMessage} type="warning" showIcon closable />
|
||||
|
||||
<Row gutter={[16, 16]}>
|
||||
<Col md={24} lg={10} className="dms-equal-height-col">
|
||||
|
||||
@@ -57,7 +57,7 @@ export function ExportLogsPageComponent() {
|
||||
|
||||
const { t } = useTranslation();
|
||||
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
|
||||
const handleTableChange = (pagination, filters, sorter) => {
|
||||
searchParams.page = pagination.current;
|
||||
|
||||
@@ -76,7 +76,7 @@ export function JobsCloseContainer({ setBreadcrumbs, setSelectedHeader }) {
|
||||
}, [setBreadcrumbs, t, jobId, data, setSelectedHeader]);
|
||||
|
||||
if (loading) return <LoadingSpinner />;
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
if (!data.jobs_by_pk) return <NotFound />;
|
||||
if (!data.jobs_by_pk.job_totals)
|
||||
return <Result title={t("jobs.errors.nofinancial")} extra={<JobCalculateTotals job={data.jobs_by_pk} />} />;
|
||||
|
||||
@@ -54,7 +54,7 @@ export function AllJobs({ setBreadcrumbs, setSelectedHeader }) {
|
||||
setBreadcrumbs([{ link: "/manage/jobs/all", label: t("titles.bc.jobs-all") }]);
|
||||
}, [t, setBreadcrumbs, setSelectedHeader]);
|
||||
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
return (
|
||||
<RbacWrapper action="jobs:list-all">
|
||||
<JobsListPaginated
|
||||
|
||||
@@ -60,7 +60,7 @@ export function JobsAvailablePageContainer({ partnerVersion, setBreadcrumbs, set
|
||||
<Button size="small">{t("general.actions.download")}</Button>
|
||||
</a>
|
||||
}
|
||||
message={t("general.messages.partnernotrunning", {
|
||||
title={t("general.messages.partnernotrunning", {
|
||||
app: InstanceRenderManager({
|
||||
imex: "$t(titles.imexonline)",
|
||||
rome: "$t(titles.romeonline)"
|
||||
|
||||
@@ -55,7 +55,7 @@ export function JobsChecklistViewContainer({ setBreadcrumbs, setSelectedHeader }
|
||||
}, [t, setBreadcrumbs, jobId, data, setSelectedHeader]);
|
||||
|
||||
if (loading) return <LoadingSpinner />;
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
|
||||
//The Form is the actual config to use.
|
||||
|
||||
|
||||
@@ -221,12 +221,12 @@ export function JobsCloseComponent({ job, bodyshop, jobRO, insertAuditTrail, set
|
||||
<JobCloseRoGuardContainer form={form} job={job} />
|
||||
<Space wrap orientation="vertical" style={{ width: "100%" }}>
|
||||
<FormsFieldChanged form={form} />
|
||||
{!job.actual_in && job.scheduled_in && <Alert type="warning" message={t("jobs.labels.actual_in_inferred")} />}
|
||||
{!job.actual_in && job.scheduled_in && <Alert type="warning" title={t("jobs.labels.actual_in_inferred")} />}
|
||||
{!job.actual_completion && job.scheduled_completion && (
|
||||
<Alert type="warning" message={t("jobs.labels.actual_completion_inferred")} />
|
||||
<Alert type="warning" title={t("jobs.labels.actual_completion_inferred")} />
|
||||
)}
|
||||
{!job.actual_delivery && job.scheduled_delivery && (
|
||||
<Alert type="warning" message={t("jobs.labels.actual_delivery_inferred")} />
|
||||
<Alert type="warning" title={t("jobs.labels.actual_delivery_inferred")} />
|
||||
)}
|
||||
</Space>
|
||||
<LayoutFormRow>
|
||||
@@ -486,7 +486,7 @@ export function JobsCloseComponent({ job, bodyshop, jobRO, insertAuditTrail, set
|
||||
title={t("jobs.labels.total_cust_payable")}
|
||||
value={(job.job_totals ? Dinero(job.job_totals.totals.custPayable) : Dinero()).toFormat()}
|
||||
/>
|
||||
<Divider type="vertical" />
|
||||
<Divider orientation="vertical" />
|
||||
<Statistic
|
||||
title={t("jobs.labels.total_repairs")}
|
||||
value={(job.job_totals ? Dinero(job.job_totals.totals.total_repairs) : Dinero()).toFormat()}
|
||||
|
||||
@@ -63,7 +63,7 @@ export function JobsCloseContainer({ setBreadcrumbs, setSelectedHeader, setJobRe
|
||||
}, [setBreadcrumbs, t, jobId, data, setSelectedHeader]);
|
||||
|
||||
if (loading) return <LoadingSpinner />;
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
if (!data.jobs_by_pk) return <NotFound />;
|
||||
|
||||
if (!data.jobs_by_pk.job_totals)
|
||||
|
||||
@@ -48,7 +48,6 @@ export default function JobsCreateComponent({ form }) {
|
||||
setPageIndex(pageIndex - 1);
|
||||
console.log("Previous");
|
||||
};
|
||||
const { Step } = Steps;
|
||||
|
||||
const ProgressButtons = ({ top }) => {
|
||||
return (
|
||||
@@ -97,32 +96,31 @@ export default function JobsCreateComponent({ form }) {
|
||||
}
|
||||
>
|
||||
{top && (
|
||||
<Steps current={pageIndex}>
|
||||
{steps.map((item, idx) => (
|
||||
<Step
|
||||
key={item.title}
|
||||
title={item.title}
|
||||
style={{
|
||||
cursor: "pointer",
|
||||
fontWeight: idx === pageIndex && "bolder"
|
||||
}}
|
||||
onClick={() => {
|
||||
setPageIndex(idx);
|
||||
form
|
||||
.validateFields()
|
||||
.then(() => {
|
||||
if (steps[pageIndex].validation) {
|
||||
setErrorMessage(null);
|
||||
setPageIndex(idx);
|
||||
} else {
|
||||
setErrorMessage(steps[pageIndex].error);
|
||||
}
|
||||
})
|
||||
.catch((error) => console.log("error", error));
|
||||
}}
|
||||
/>
|
||||
))}
|
||||
</Steps>
|
||||
<Steps
|
||||
current={pageIndex}
|
||||
items={steps.map((item, idx) => ({
|
||||
key: item.title,
|
||||
title: item.title,
|
||||
style: {
|
||||
cursor: "pointer",
|
||||
fontWeight: idx === pageIndex && "bolder"
|
||||
},
|
||||
onClick: () => {
|
||||
setPageIndex(idx);
|
||||
form
|
||||
.validateFields()
|
||||
.then(() => {
|
||||
if (steps[pageIndex].validation) {
|
||||
setErrorMessage(null);
|
||||
setPageIndex(idx);
|
||||
} else {
|
||||
setErrorMessage(steps[pageIndex].error);
|
||||
}
|
||||
})
|
||||
.catch((error) => console.log("error", error));
|
||||
}
|
||||
}))}
|
||||
/>
|
||||
)}
|
||||
</PageHeader>
|
||||
);
|
||||
@@ -151,7 +149,7 @@ export default function JobsCreateComponent({ form }) {
|
||||
|
||||
{errorMessage ? (
|
||||
<div>
|
||||
<AlertComponent message={errorMessage} type="error" />
|
||||
<AlertComponent title={errorMessage} type="error" />
|
||||
</div>
|
||||
) : null}
|
||||
|
||||
|
||||
@@ -58,9 +58,9 @@ export function JobsDeliverContainer({ bodyshop, setBreadcrumbs, setSelectedHead
|
||||
}, [t, setBreadcrumbs, jobId, data, setSelectedHeader]);
|
||||
|
||||
if (loading) return <LoadingSpinner />;
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
if (data && !data.bodyshops_by_pk.deliverchecklist)
|
||||
return <AlertComponent message={t("deliver.errors.nochecklist")} type="error" />;
|
||||
return <AlertComponent title={t("deliver.errors.nochecklist")} type="error" />;
|
||||
return (
|
||||
<FeatureWrapperComponent
|
||||
featureName="checklist"
|
||||
|
||||
@@ -89,7 +89,7 @@ function JobsDetailPageContainer({ setBreadcrumbs, addRecentItem, setSelectedHea
|
||||
}, [loading, data, t, error, setBreadcrumbs, jobId, addRecentItem, setSelectedHeader, setJobReadOnly]);
|
||||
|
||||
if (loading) return <SpinComponent />;
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
if (!data.jobs_by_pk) return <NotFound />;
|
||||
|
||||
return data.jobs_by_pk ? (
|
||||
@@ -97,7 +97,7 @@ function JobsDetailPageContainer({ setBreadcrumbs, addRecentItem, setSelectedHea
|
||||
<JobsDetailPage job={data.jobs_by_pk} mutationUpdateJob={mutationUpdateJob} refetch={refetch} />
|
||||
</RbacWrapper>
|
||||
) : (
|
||||
<AlertComponent message={t("jobs.errors.noaccess")} type="error" />
|
||||
<AlertComponent title={t("jobs.errors.noaccess")} type="error" />
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -59,10 +59,10 @@ export function JobsIntakeContainer({ bodyshop, setBreadcrumbs, setSelectedHeade
|
||||
}, [t, setBreadcrumbs, jobId, data, setSelectedHeader]);
|
||||
|
||||
if (loading) return <LoadingSpinner />;
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
|
||||
if (data && !data.bodyshops_by_pk.intakechecklist)
|
||||
return <AlertComponent message={t("intake.errors.nochecklist")} type="error" />;
|
||||
return <AlertComponent title={t("intake.errors.nochecklist")} type="error" />;
|
||||
|
||||
return (
|
||||
<FeatureWrapperComponent
|
||||
|
||||
@@ -27,7 +27,7 @@ function ManagePageContainer({ setBodyshop }) {
|
||||
}, [data, setBodyshop]);
|
||||
|
||||
if (loading) return <LoadingSpinner message={t("general.labels.loadingshop")} />;
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
|
||||
return <ManagePage />;
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ export function OwnersDetailContainer({ setBreadcrumbs, addRecentItem, setSelect
|
||||
}, [setBreadcrumbs, t, data, ownerId, addRecentItem, setSelectedHeader]);
|
||||
|
||||
if (loading) return <LoadingSpinner />;
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
if (!data.owners_by_pk) return <NotFound />;
|
||||
|
||||
return (
|
||||
|
||||
@@ -52,7 +52,7 @@ export function AllJobs({ setBreadcrumbs, setSelectedHeader }) {
|
||||
setBreadcrumbs([{ link: "/manage/payments", label: t("titles.bc.payments-all") }]);
|
||||
}, [t, setBreadcrumbs, setSelectedHeader]);
|
||||
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
return (
|
||||
<RbacWrapper action="payments:list">
|
||||
<PaymentsListPaginated
|
||||
|
||||
@@ -42,7 +42,7 @@ export function PhonebookPageComponent({ bodyshop, authLevel }) {
|
||||
|
||||
const { t } = useTranslation();
|
||||
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
|
||||
const handleTableChange = (pagination, filters, sorter) => {
|
||||
searchParams.page = pagination.current;
|
||||
|
||||
@@ -49,7 +49,7 @@ export function ShopCsiContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }
|
||||
]);
|
||||
}, [t, setBreadcrumbs, bodyshop.shopname, setSelectedHeader]);
|
||||
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
|
||||
return (
|
||||
<FeatureWrapperComponent
|
||||
|
||||
@@ -88,7 +88,7 @@ function SimplifiedPartsJobsDetailContainer({ setBreadcrumbs, addRecentItem, set
|
||||
}, [loading, data, t, error, setBreadcrumbs, jobId, addRecentItem, setSelectedHeader, setJobReadOnly]);
|
||||
|
||||
if (loading) return <SpinComponent />;
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
if (!data.jobs_by_pk) return <NotFound />;
|
||||
|
||||
return data.jobs_by_pk ? (
|
||||
@@ -96,7 +96,7 @@ function SimplifiedPartsJobsDetailContainer({ setBreadcrumbs, addRecentItem, set
|
||||
<SimplifiedPartsJobsDetailComponent job={data.jobs_by_pk} refetch={refetch} />
|
||||
</RbacWrapper>
|
||||
) : (
|
||||
<AlertComponent message={t("jobs.errors.noaccess")} type="error" />
|
||||
<AlertComponent title={t("jobs.errors.noaccess")} type="error" />
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ function SimplifiedPartsPageContainer({ setBodyshop }) {
|
||||
}, [data, setBodyshop]);
|
||||
|
||||
if (loading) return <LoadingSpinner message={t("general.labels.loadingshop")} />;
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
|
||||
return <SimplifiedPartsPage />;
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ export function TechAssignedProdJobs({ setTimeTicketTaskContext, technician, bod
|
||||
const { t } = useTranslation();
|
||||
const history = useNavigate();
|
||||
const [searchText, setSearchText] = useState("");
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
|
||||
const jobs = data
|
||||
? searchText === ""
|
||||
|
||||
@@ -44,7 +44,7 @@ export function TechDispatchedParts({ technician, bodyshop }) {
|
||||
const { t } = useTranslation();
|
||||
const history = useNavigate();
|
||||
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
|
||||
const parts_dispatch = data?.parts_dispatch;
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ export function TechPageContainer({ bodyshop, setBodyshop }) {
|
||||
}, [data, setBodyshop]);
|
||||
|
||||
if (loading || !bodyshop) return <LoadingSpinner message={t("general.labels.loadingshop")} />;
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
return <TechPage />;
|
||||
}
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ export function TemporaryDocsComponent({ bodyshop }) {
|
||||
});
|
||||
|
||||
if (loading) return <LoadingSpinner />;
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
|
||||
if (bodyshop.uselocalmediaserver) {
|
||||
return <JobsDocumentsLocalGallery job={{ id: "temporary" }} />;
|
||||
|
||||
@@ -71,7 +71,7 @@ export function TimeTicketsContainer({ bodyshop, setBreadcrumbs, setSelectedHead
|
||||
]);
|
||||
}, [t, setBreadcrumbs, setSelectedHeader]);
|
||||
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
|
||||
return (
|
||||
<FeatureWrapperComponent
|
||||
|
||||
@@ -80,7 +80,7 @@ export function VehicleDetailContainer({ setBreadcrumbs, addRecentItem, setSelec
|
||||
}, [t, data, setBreadcrumbs, vehId, addRecentItem, setSelectedHeader, basePath, isPartsEntry]);
|
||||
|
||||
if (loading) return <LoadingSpinner />;
|
||||
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
if (!data.vehicles_by_pk) return <NotFound />;
|
||||
return <VehicleDetailComponent vehicle={data.vehicles_by_pk} refetch={refetch} />;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user