feature/IO-3497-Ant-Design-v5-to-v6 - Signed off Files (Checkpoint)

This commit is contained in:
Dave
2026-01-12 12:06:47 -05:00
parent c119a66f27
commit dd3eda12ce
153 changed files with 4819 additions and 4524 deletions

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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"

View File

@@ -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 />;

View File

@@ -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"

View File

@@ -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 />;

View File

@@ -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"

View File

@@ -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={{

View File

@@ -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">

View File

@@ -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;

View File

@@ -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} />} />;

View File

@@ -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

View File

@@ -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)"

View File

@@ -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.

View File

@@ -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()}

View File

@@ -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)

View File

@@ -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}

View File

@@ -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"

View File

@@ -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" />
);
}

View File

@@ -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

View File

@@ -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 />;
}

View File

@@ -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 (

View File

@@ -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

View File

@@ -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;

View File

@@ -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

View File

@@ -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" />
);
}

View File

@@ -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 />;
}

View File

@@ -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 === ""

View File

@@ -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;

View File

@@ -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 />;
}

View File

@@ -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" }} />;

View File

@@ -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

View File

@@ -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} />;
}