From 9a93a4364247e8df490a12585d574de59d4fc4de Mon Sep 17 00:00:00 2001 From: Dave Date: Fri, 23 Jan 2026 20:37:16 -0500 Subject: [PATCH] feature/IO-3499-React-19 - The great button refactor of 2026 --- .../bill-delete-button.component.jsx | 8 +----- ...form-lines.extended.formitem.component.jsx | 10 +++----- .../bill-form/bill-form.lines.component.jsx | 5 ++-- .../billline-add-inventory.component.jsx | 2 +- .../bills-list-table.component.jsx | 11 +++----- .../ca-bc-pvrt-calculator.component.jsx | 4 +-- .../contracts-list.component.jsx | 5 ++-- .../courtesy-cars-list.component.jsx | 5 ++-- .../csi-response-list-paginated.component.jsx | 8 +----- .../dashboard-grid.component.jsx | 4 +-- .../dms-allocations-summary-ap.component.jsx | 7 +++--- .../dms-allocations-summary.component.jsx | 8 ++---- .../rr-dms-allocations-summary.component.jsx | 8 ++---- .../inventory-line-delete.component.jsx | 4 +-- .../inventory-list.component.jsx | 17 ++++++------- .../schedule-event.note.component.jsx | 4 +-- .../job-audit-trail.component.jsx | 5 ++-- .../job-checklist-template-list.component.jsx | 9 ++++--- .../job-detail-lines/job-lines.component.jsx | 25 ++++++++----------- .../job-line-convert-to-labor.component.jsx | 5 ++-- .../job-payments/job-payments.component.jsx | 5 ++-- .../job-sync-button.component.jsx | 3 +-- .../jobs-admin-change.status.component.jsx | 4 +-- .../jobs-available-scan.component.jsx | 11 +++----- .../jobs-available-table.component.jsx | 22 ++++++++-------- .../jobs-change-status.component.jsx | 4 +-- ...eate-vehicle-info.predefined.component.jsx | 5 ++-- .../jobs-detail-header-actions.component.jsx | 3 +-- .../jobs-documents-gallery.component.jsx | 4 +-- ...s-documents-imgproxy-gallery.component.jsx | 5 ++-- ...jobs-documents-local-gallery.container.jsx | 5 ++-- .../jobs-find-modal.component.jsx | 5 ++-- .../jobs-list-paginated.component.jsx | 4 +-- .../jobs-list/jobs-list.component.jsx | 4 +-- .../jobs-notes/jobs.notes.component.jsx | 14 ++++++----- .../jobs-ready-list.component.jsx | 4 +-- ...or-allocations-table.payroll.component.jsx | 5 ++-- .../owners-list/owners-list.component.jsx | 4 +-- .../parts-dispatch-table.component.jsx | 5 +--- .../parts-order-delete-line.component.jsx | 4 +-- ...arts-order-list-table-drawer.component.jsx | 9 +++---- .../payment-list-paginated.component.jsx | 9 +++---- .../print-wrapper/print-wrapper.component.jsx | 12 +++++---- .../production-board-kanban.component.jsx | 4 +-- .../production-list-table.component.jsx | 5 ++-- .../production-sublets-manage.component.jsx | 10 +++----- .../schedule-production-list.component.jsx | 3 +-- .../scoreboard-jobs-list.component.jsx | 5 ++-- .../scorebard-remove-button.component.jsx | 6 +---- .../shop-employees-form.component.jsx | 5 ++-- .../simplified-parts-jobs-list.component.jsx | 5 ++-- .../task-list/task-list.component.jsx | 8 +++--- .../tech-lookup-jobs-drawer.component.jsx | 2 +- .../tech-lookup-jobs-list.component.jsx | 4 +-- .../time-ticket-calculator.component.jsx | 20 ++++++++++----- .../time-ticket-list.component.jsx | 5 ++-- .../tt-approvals-list.component.jsx | 4 +-- .../vehicles-list/vehicles-list.component.jsx | 4 +-- .../vendors-list/vendors-list.component.jsx | 4 +-- .../src/pages/bills/bills.page.component.jsx | 8 ++---- .../export-logs.page.component.jsx | 4 +-- .../jobs-detail.page.component.jsx | 4 +-- .../phonebook/phonebook.page.component.jsx | 4 +-- ...simplified-parts-jobs-detail.component.jsx | 4 +-- .../tech-assigned-prod-jobs.component.jsx | 4 +-- .../tech-dispatched-parts.page.jsx | 4 +-- 66 files changed, 163 insertions(+), 267 deletions(-) diff --git a/client/src/components/bill-delete-button/bill-delete-button.component.jsx b/client/src/components/bill-delete-button/bill-delete-button.component.jsx index 9c591fd5a..a9741d088 100644 --- a/client/src/components/bill-delete-button/bill-delete-button.component.jsx +++ b/client/src/components/bill-delete-button/bill-delete-button.component.jsx @@ -77,13 +77,7 @@ export function BillDeleteButton({ bill, jobid, callback, insertAuditTrail }) { return ( }> - + + /> ); return ( @@ -196,6 +195,7 @@ export function BillFormItemsExtendedFormItem({ + /> ); } diff --git a/client/src/components/bill-form/bill-form.lines.component.jsx b/client/src/components/bill-form/bill-form.lines.component.jsx index 5b4a5ca8c..ad81b683e 100644 --- a/client/src/components/bill-form/bill-form.lines.component.jsx +++ b/client/src/components/bill-form/bill-form.lines.component.jsx @@ -564,11 +564,10 @@ export function BillEnterModalLinesComponent({ {() => ( + /> {Simple_Inventory.treatment === "on" && ( diff --git a/client/src/components/bills-list-table/bills-list-table.component.jsx b/client/src/components/bills-list-table/bills-list-table.component.jsx index 166cd0b5b..9de0b7b1c 100644 --- a/client/src/components/bills-list-table/bills-list-table.component.jsx +++ b/client/src/components/bills-list-table/bills-list-table.component.jsx @@ -84,15 +84,14 @@ export function BillsListTableComponent({ } }); }} - > - - + icon={} + /> + - {record.isinhouse && ( - + + - + + diff --git a/client/src/components/csi-response-list-paginated/csi-response-list-paginated.component.jsx b/client/src/components/csi-response-list-paginated/csi-response-list-paginated.component.jsx index fc47e3df6..5638b7a84 100644 --- a/client/src/components/csi-response-list-paginated/csi-response-list-paginated.component.jsx +++ b/client/src/components/csi-response-list-paginated/csi-response-list-paginated.component.jsx @@ -85,13 +85,7 @@ export default function CsiResponseListPaginated({ refetch, loading, responses, }; return ( - refetch()}> - - - } - > + refetch()} icon={} />}> - + diff --git a/client/src/components/dms-allocations-summary-ap/dms-allocations-summary-ap.component.jsx b/client/src/components/dms-allocations-summary-ap/dms-allocations-summary-ap.component.jsx index 2ca64d997..77e887d07 100644 --- a/client/src/components/dms-allocations-summary-ap/dms-allocations-summary-ap.component.jsx +++ b/client/src/components/dms-allocations-summary-ap/dms-allocations-summary-ap.component.jsx @@ -1,6 +1,6 @@ import { SyncOutlined } from "@ant-design/icons"; import { Button, Card, Form, Input, Table } from "antd"; -import { useEffect, useState, useRef } from "react"; +import { useEffect, useRef, useState } from "react"; import { useTranslation } from "react-i18next"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; @@ -111,9 +111,8 @@ export function DmsAllocationsSummaryAp({ socket, bodyshop, billids, title }) { onClick={() => { socket.emit("pbs-calculate-allocations-ap", billids, (ack) => setAllocationsSummary(ack)); }} - > - - + icon={} + /> } >
- - - } + extra={ - } + extra={ + + icon={} + /> + ) @@ -155,9 +155,9 @@ export function JobsList({ refetch, loading, jobs, total, setInventoryUpsertCont context: {} }); }} - > - - + icon={} + /> + - + + + icon={} + /> } >
diff --git a/client/src/components/job-checklist/components/job-checklist-template-list/job-checklist-template-list.component.jsx b/client/src/components/job-checklist/components/job-checklist-template-list/job-checklist-template-list.component.jsx index d84b8f526..907fe17d2 100644 --- a/client/src/components/job-checklist/components/job-checklist-template-list/job-checklist-template-list.component.jsx +++ b/client/src/components/job-checklist/components/job-checklist-template-list/job-checklist-template-list.component.jsx @@ -61,9 +61,12 @@ export default function JobIntakeTemplateList({ templates }) { renderItem={(template) => ( renderTemplate(template)}> - - + + icon={} + /> )} + icon={} + /> + {(record.manual_line || jobIsPrivate) && !technician && ( + icon={} + /> )} ) @@ -542,9 +540,7 @@ export function JobLinesComponent({ title={t("jobs.labels.estimatelines")} extra={ - + @@ -641,6 +637,7 @@ export function JobLinesComponent({ {!isPartsEntry && ( )} diff --git a/client/src/components/job-line-convert-to-labor/job-line-convert-to-labor.component.jsx b/client/src/components/job-line-convert-to-labor/job-line-convert-to-labor.component.jsx index d3807b615..4f088697d 100644 --- a/client/src/components/job-line-convert-to-labor/job-line-convert-to-labor.component.jsx +++ b/client/src/components/job-line-convert-to-labor/job-line-convert-to-labor.component.jsx @@ -187,9 +187,8 @@ export function JobLineConvertToLabor({ loading={loading} onClick={handleClick} {...otherBtnProps} - > - - + icon={} + /> )} diff --git a/client/src/components/job-payments/job-payments.component.jsx b/client/src/components/job-payments/job-payments.component.jsx index 6afcb9ea7..37342aa83 100644 --- a/client/src/components/job-payments/job-payments.component.jsx +++ b/client/src/components/job-payments/job-payments.component.jsx @@ -107,9 +107,8 @@ export function JobPayments({ job, bodyshop, setPaymentContext, setCardPaymentCo context: record }); }} - > - - + icon={} + /> 0) return ( - ); diff --git a/client/src/components/jobs-admin-change-status/jobs-admin-change.status.component.jsx b/client/src/components/jobs-admin-change-status/jobs-admin-change.status.component.jsx index ce5c45ece..aa4c74d79 100644 --- a/client/src/components/jobs-admin-change-status/jobs-admin-change.status.component.jsx +++ b/client/src/components/jobs-admin-change-status/jobs-admin-change.status.component.jsx @@ -53,10 +53,8 @@ export function JobsAdminStatus({ insertAuditTrail, bodyshop, job }) { return ( - ); diff --git a/client/src/components/jobs-available-scan/jobs-available-scan.component.jsx b/client/src/components/jobs-available-scan/jobs-available-scan.component.jsx index c8dbd1065..23aa15168 100644 --- a/client/src/components/jobs-available-scan/jobs-available-scan.component.jsx +++ b/client/src/components/jobs-available-scan/jobs-available-scan.component.jsx @@ -94,11 +94,7 @@ export function JobsAvailableScan({ partnerVersion, refetch }) { { title: t("general.labels.actions"), key: "actions", - render: (text, record) => ( - - ) + render: (text, record) => + /> - - + icon={} + /> {!isClosed && ( <> - - + + icon={} + /> ); diff --git a/client/src/components/jobs-create-vehicle-info/jobs-create-vehicle-info.predefined.component.jsx b/client/src/components/jobs-create-vehicle-info/jobs-create-vehicle-info.predefined.component.jsx index 2cdd24a06..90efce131 100644 --- a/client/src/components/jobs-create-vehicle-info/jobs-create-vehicle-info.predefined.component.jsx +++ b/client/src/components/jobs-create-vehicle-info/jobs-create-vehicle-info.predefined.component.jsx @@ -56,9 +56,8 @@ export default function JobsCreateVehicleInfoPredefined({ disabled, form }) { setOpen(false); setSearch(""); }} - > - - + icon={} + /> ) } ]} diff --git a/client/src/components/jobs-detail-header-actions/jobs-detail-header-actions.component.jsx b/client/src/components/jobs-detail-header-actions/jobs-detail-header-actions.component.jsx index 8e62c5988..6855fdfe9 100644 --- a/client/src/components/jobs-detail-header-actions/jobs-detail-header-actions.component.jsx +++ b/client/src/components/jobs-detail-header-actions/jobs-detail-header-actions.component.jsx @@ -1286,9 +1286,8 @@ export function JobsDetailHeaderActions({ open={dropdownOpen} onOpenChange={handleDropdownOpenChange} > - diff --git a/client/src/components/jobs-documents-gallery/jobs-documents-gallery.component.jsx b/client/src/components/jobs-documents-gallery/jobs-documents-gallery.component.jsx index a6cd07770..969b49ea1 100644 --- a/client/src/components/jobs-documents-gallery/jobs-documents-gallery.component.jsx +++ b/client/src/components/jobs-documents-gallery/jobs-documents-gallery.component.jsx @@ -128,9 +128,7 @@ function JobsDocumentsComponent({ - + + icon={} + /> {!billId && ( diff --git a/client/src/components/jobs-documents-local-gallery/jobs-documents-local-gallery.container.jsx b/client/src/components/jobs-documents-local-gallery/jobs-documents-local-gallery.container.jsx index f4c40fee8..ff4c8dda8 100644 --- a/client/src/components/jobs-documents-local-gallery/jobs-documents-local-gallery.container.jsx +++ b/client/src/components/jobs-documents-local-gallery/jobs-documents-local-gallery.container.jsx @@ -102,9 +102,8 @@ export function JobsDocumentsLocalGallery({ } } }} - > - - + icon={} + /> diff --git a/client/src/components/jobs-find-modal/jobs-find-modal.component.jsx b/client/src/components/jobs-find-modal/jobs-find-modal.component.jsx index 0048ecdb2..47c8ffd5f 100644 --- a/client/src/components/jobs-find-modal/jobs-find-modal.component.jsx +++ b/client/src/components/jobs-find-modal/jobs-find-modal.component.jsx @@ -179,9 +179,8 @@ export default function JobsFindModalComponent({ onClick={() => { jobsListRefetch(); }} - > - - + icon={} + /> { diff --git a/client/src/components/jobs-list-paginated/jobs-list-paginated.component.jsx b/client/src/components/jobs-list-paginated/jobs-list-paginated.component.jsx index 70a2f27ef..ec9b77b59 100644 --- a/client/src/components/jobs-list-paginated/jobs-list-paginated.component.jsx +++ b/client/src/components/jobs-list-paginated/jobs-list-paginated.component.jsx @@ -224,9 +224,7 @@ export function JobsList({ bodyshop, refetch, loading, jobs, total }) { )} - + + + + icon={} + /> ({readyStatuses && readyStatuses.join(", ")}) - + + icon={} + /> } > diff --git a/client/src/components/owners-list/owners-list.component.jsx b/client/src/components/owners-list/owners-list.component.jsx index 9959af213..f495a04a4 100644 --- a/client/src/components/owners-list/owners-list.component.jsx +++ b/client/src/components/owners-list/owners-list.component.jsx @@ -99,9 +99,7 @@ export default function OwnersListComponent({ loading, owners, total, refetch }) )} - + - + + + icon={} + /> )} - + + /> setCaBcEtfTableContext()}>{t("payments.labels.ca_bc_etf_table")} )} - + + + icon={} + /> - - , + icon={} + />, + icon={} + /> ]} > diff --git a/client/src/components/schedule-production-list/schedule-production-list.component.jsx b/client/src/components/schedule-production-list/schedule-production-list.component.jsx index a0873754a..01f362e7b 100644 --- a/client/src/components/schedule-production-list/schedule-production-list.component.jsx +++ b/client/src/components/schedule-production-list/schedule-production-list.component.jsx @@ -61,9 +61,8 @@ export default function ScheduleProductionList() { return ( - ); diff --git a/client/src/components/scoreboard-jobs-list/scoreboard-jobs-list.component.jsx b/client/src/components/scoreboard-jobs-list/scoreboard-jobs-list.component.jsx index d946bac22..3f06584d2 100644 --- a/client/src/components/scoreboard-jobs-list/scoreboard-jobs-list.component.jsx +++ b/client/src/components/scoreboard-jobs-list/scoreboard-jobs-list.component.jsx @@ -123,9 +123,8 @@ export default function ScoreboardJobsList() { - + - ); + return + icon={} + /> ) } ]; diff --git a/client/src/components/simplified-parts-jobs-list/simplified-parts-jobs-list.component.jsx b/client/src/components/simplified-parts-jobs-list/simplified-parts-jobs-list.component.jsx index 6c92ed2ef..f37edddf8 100644 --- a/client/src/components/simplified-parts-jobs-list/simplified-parts-jobs-list.component.jsx +++ b/client/src/components/simplified-parts-jobs-list/simplified-parts-jobs-list.component.jsx @@ -228,9 +228,8 @@ export function SimplifiedPartsJobsListComponent({ )} - + - diff --git a/client/src/components/tech-lookup-jobs-drawer/tech-lookup-jobs-drawer.component.jsx b/client/src/components/tech-lookup-jobs-drawer/tech-lookup-jobs-drawer.component.jsx index 529a5ffcb..de15aa46c 100644 --- a/client/src/components/tech-lookup-jobs-drawer/tech-lookup-jobs-drawer.component.jsx +++ b/client/src/components/tech-lookup-jobs-drawer/tech-lookup-jobs-drawer.component.jsx @@ -76,6 +76,7 @@ export function TechLookupJobsDrawer({ bodyshop, setPrintCenterContext }) { title={data.jobs_by_pk.ro_number || t("general.labels.na")} extra={ } diff --git a/client/src/components/tech-lookup-jobs-list/tech-lookup-jobs-list.component.jsx b/client/src/components/tech-lookup-jobs-list/tech-lookup-jobs-list.component.jsx index b4c4785b5..ab5f73bed 100644 --- a/client/src/components/tech-lookup-jobs-list/tech-lookup-jobs-list.component.jsx +++ b/client/src/components/tech-lookup-jobs-list/tech-lookup-jobs-list.component.jsx @@ -158,9 +158,7 @@ export function TechLookupJobsList({ bodyshop }) { - + @@ -112,11 +123,8 @@ export default function TimeTicketCalculatorComponent({ placement="right" destroyOnHidden > - ); diff --git a/client/src/components/time-ticket-list/time-ticket-list.component.jsx b/client/src/components/time-ticket-list/time-ticket-list.component.jsx index d166eeb68..43c222eee 100644 --- a/client/src/components/time-ticket-list/time-ticket-list.component.jsx +++ b/client/src/components/time-ticket-list/time-ticket-list.component.jsx @@ -322,9 +322,8 @@ export function TimeTicketList({ onClick={async () => { refetch(); }} - > - - + icon={} + /> } > diff --git a/client/src/components/tt-approvals-list/tt-approvals-list.component.jsx b/client/src/components/tt-approvals-list/tt-approvals-list.component.jsx index 1a3c844e6..13f900bb8 100644 --- a/client/src/components/tt-approvals-list/tt-approvals-list.component.jsx +++ b/client/src/components/tt-approvals-list/tt-approvals-list.component.jsx @@ -176,9 +176,7 @@ export function TtApprovalsListComponent({ completedCallback={setSelectedTickets} refetch={refetch} /> - + )} - + - + + + )} - + diff --git a/client/src/pages/phonebook/phonebook.page.component.jsx b/client/src/pages/phonebook/phonebook.page.component.jsx index 035324c80..98268f8b3 100644 --- a/client/src/pages/phonebook/phonebook.page.component.jsx +++ b/client/src/pages/phonebook/phonebook.page.component.jsx @@ -159,9 +159,7 @@ export function PhonebookPageComponent({ bodyshop, authLevel }) { - + diff --git a/client/src/pages/tech-assigned-prod-jobs/tech-assigned-prod-jobs.component.jsx b/client/src/pages/tech-assigned-prod-jobs/tech-assigned-prod-jobs.component.jsx index 2aa8db204..6fad4f6bc 100644 --- a/client/src/pages/tech-assigned-prod-jobs/tech-assigned-prod-jobs.component.jsx +++ b/client/src/pages/tech-assigned-prod-jobs/tech-assigned-prod-jobs.component.jsx @@ -176,9 +176,7 @@ export function TechAssignedProdJobs({ setTimeTicketTaskContext, technician, bod - + +