From d497ec9f7daf77cf6745cde831b7870d1f683cb6 Mon Sep 17 00:00:00 2001 From: Dave Date: Wed, 25 Mar 2026 15:58:51 -0400 Subject: [PATCH] feature/IO-3624-Shop-Config-UX-Refresh -Final Push! --- .../inline-form-row-title.utils.js | 3 +++ .../shop-employees-form.component.jsx | 14 +++++------ .../shop-info/shop-info.general.component.jsx | 25 ++++++++++--------- .../shop-info/shop-info.intake.component.jsx | 9 ++++--- .../shop-info.laborrates.component.jsx | 7 +++--- .../shop-info/shop-info.parts-scan.jsx | 7 +++--- ...p-info.responsibilitycenters.component.jsx | 11 ++++---- .../shop-info.speedprint.component.jsx | 7 +++--- .../shop-employee-teams.form.component.jsx | 14 +++++------ 9 files changed, 51 insertions(+), 46 deletions(-) diff --git a/client/src/components/layout-form-row/inline-form-row-title.utils.js b/client/src/components/layout-form-row/inline-form-row-title.utils.js index 1647422c1..70c0e8dd2 100644 --- a/client/src/components/layout-form-row/inline-form-row-title.utils.js +++ b/client/src/components/layout-form-row/inline-form-row-title.utils.js @@ -1,3 +1,5 @@ +import { UnorderedListOutlined } from "@ant-design/icons"; + export const inlineFormRowTitleStyles = Object.freeze({ input: Object.freeze({ background: "transparent", @@ -68,6 +70,7 @@ export const inlineFormRowTitleStyles = Object.freeze({ export const INLINE_TITLE_INPUT_STYLE = inlineFormRowTitleStyles.input; export const INLINE_TITLE_ROW_STYLE = inlineFormRowTitleStyles.row; export const INLINE_TITLE_GROUP_STYLE = inlineFormRowTitleStyles.group; +export const InlineTitleListIcon = UnorderedListOutlined; export const INLINE_TITLE_SWITCH_GROUP_STYLE = Object.freeze({ ...inlineFormRowTitleStyles.group, flex: "0 0 auto" diff --git a/client/src/components/shop-employees/shop-employees-form.component.jsx b/client/src/components/shop-employees/shop-employees-form.component.jsx index a47e577b3..5aed82b8e 100644 --- a/client/src/components/shop-employees/shop-employees-form.component.jsx +++ b/client/src/components/shop-employees/shop-employees-form.component.jsx @@ -1,4 +1,4 @@ -import { DeleteFilled, HolderOutlined } from "@ant-design/icons"; +import { DeleteFilled } from "@ant-design/icons"; import { useApolloClient, useMutation, useQuery } from "@apollo/client/react"; import { useTreatmentsWithConfig } from "@splitsoftware/splitio-react"; import { Button, Card, Col, Form, Input, InputNumber, Row, Select, Space, Switch } from "antd"; @@ -38,7 +38,8 @@ import { INLINE_TITLE_ROW_STYLE, INLINE_TITLE_SEPARATOR_STYLE, INLINE_TITLE_SWITCH_GROUP_STYLE, - INLINE_TITLE_TEXT_STYLE + INLINE_TITLE_TEXT_STYLE, + InlineTitleListIcon } from "../layout-form-row/inline-form-row-title.utils.js"; import ShopEmployeeAddVacation from "./shop-employees-add-vacation.component"; import FormItemEmail from "../form-items-formatted/email-form-item.component.jsx"; @@ -92,13 +93,10 @@ export function ShopEmployeesFormComponent({ bodyshop, form, onDirtyChange, isDi const updateDirtyState = useCallback( (nextDirtyState) => { - if (typeof isDirty !== "boolean") { - setInternalIsDirty(nextDirtyState); - } - + setInternalIsDirty(nextDirtyState); onDirtyChange?.(nextDirtyState); }, - [isDirty, onDirtyChange] + [onDirtyChange] ); const client = useApolloClient(); @@ -482,7 +480,7 @@ export function ShopEmployeesFormComponent({ bodyshop, form, onDirtyChange, isDi noDivider title={
- +
{t("employees.fields.cost_center")}
- +
{t("bodyshop.fields.messaginglabel_short")}
- +
{t("bodyshop.fields.noteslabel_short")}
- +
{t("bodyshop.fields.partslocation")}
- +
{t("bodyshop.fields.md_ins_co.name")}
- +
{t("jobs.fields.est_ct_fn_short")}
@@ -1131,7 +1132,7 @@ export function ShopInfoGeneral({ form }) { noDivider title={
- +
{t("jobs.fields.ins_ct_fn_short")}
@@ -1243,7 +1244,7 @@ export function ShopInfoGeneral({ form }) { noDivider title={
- +
{t("general.labels.label")}
- +
{t("general.labels.label")}
- +
{t("general.labels.label")}
- +
{t("general.labels.label")}
- +
{t("jobs.fields.intake.name")}
- +
{t("jobs.fields.intake.name")}
- +
{t("jobs.fields.labor_rate_desc")}
- +
{t("bodyshop.fields.md_parts_scan.field")}
- +
{t("bodyshop.fields.responsibilitycenter")} @@ -889,7 +890,7 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) { noDivider title={
- +
{t("bodyshop.fields.responsibilitycenter")} @@ -3626,7 +3627,7 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) { noDivider title={
- +
{t("bodyshop.fields.responsibilitycenters.sales_tax_codes.description")} diff --git a/client/src/components/shop-info/shop-info.speedprint.component.jsx b/client/src/components/shop-info/shop-info.speedprint.component.jsx index 4498170d1..7dedf39c4 100644 --- a/client/src/components/shop-info/shop-info.speedprint.component.jsx +++ b/client/src/components/shop-info/shop-info.speedprint.component.jsx @@ -1,4 +1,4 @@ -import { DeleteFilled, HolderOutlined } from "@ant-design/icons"; +import { DeleteFilled } from "@ant-design/icons"; import { Button, Form, Input, Select, Space } from "antd"; import { useTranslation } from "react-i18next"; import { TemplateList } from "../../utils/TemplateConstants"; @@ -12,7 +12,8 @@ import { INLINE_TITLE_INPUT_STYLE, INLINE_TITLE_LABEL_STYLE, INLINE_TITLE_ROW_STYLE, - INLINE_TITLE_SEPARATOR_STYLE + INLINE_TITLE_SEPARATOR_STYLE, + InlineTitleListIcon } from "../layout-form-row/inline-form-row-title.utils.js"; import InstanceRenderManager from "../../utils/instanceRenderMgr"; @@ -60,7 +61,7 @@ export default function ShopInfoSpeedPrint() { noDivider title={
- +
{t("bodyshop.fields.speedprint.id")}
{ - if (typeof isDirty !== "boolean") { - setInternalIsDirty(nextDirtyState); - } - + setInternalIsDirty(nextDirtyState); onDirtyChange?.(nextDirtyState); }, - [isDirty, onDirtyChange] + [onDirtyChange] ); const clearTeamFormMeta = useCallback(() => { @@ -376,7 +374,7 @@ export function ShopEmployeeTeamsFormComponent({ bodyshop, form, onDirtyChange, grow title={
- +
{t("employee_teams.fields.employeeid")}