diff --git a/client/src/components/production-board-kanban-card/production-board-kanban-card.component.jsx b/client/src/components/production-board-kanban-card/production-board-kanban-card.component.jsx index 4f45b274d..b5d91b7da 100644 --- a/client/src/components/production-board-kanban-card/production-board-kanban-card.component.jsx +++ b/client/src/components/production-board-kanban-card/production-board-kanban-card.component.jsx @@ -68,39 +68,62 @@ export default function ProductionBoardCard({ technician, card, bodyshop, cardSe const bgColor = useMemo(() => cardColor(bodyshop.ssbuckets, totalHrs), [bodyshop.ssbuckets, totalHrs]); const contrastYIQ = useMemo(() => getContrastYIQ(bgColor), [bgColor]); + const isBodyEmpty = !( + cardSettings?.ownr_nm || + cardSettings?.model_info || + (cardSettings?.ins_co_nm && metadata.ins_co_nm) || + (cardSettings?.clm_no && metadata.clm_no) || + cardSettings?.employeeassignments || + (cardSettings?.actual_in && metadata.actual_in) || + (cardSettings?.scheduled_completion && metadata.scheduled_completion) || + (cardSettings?.ats && metadata.alt_transport) || + cardSettings?.sublets || + cardSettings?.production_note || + cardSettings?.partsstatus + ); + const headerContent = ( - - - {metadata?.suspended && } - {metadata?.iouparent && ( - - - - )} - +
+
+ + {metadata?.suspended && } + {metadata?.iouparent && ( + + + + )} +
+ {metadata?.ro_number || t("general.labels.na")} - + {isBodyEmpty && ( +
+ + + +
+ )} +
); const bodyContent = ( {cardSettings?.ownr_nm && ( - + }> {cardSettings.compact ? ( `${metadata.ownr_ln || ""} ${metadata.ownr_co_nm || ""}` ) : ( - + )} @@ -192,7 +215,7 @@ export default function ProductionBoardCard({ technician, card, bodyshop, cardSe ); - const isBodyEmpty = !( - cardSettings?.ownr_nm || - cardSettings?.model_info || - (cardSettings?.ins_co_nm && metadata.ins_co_nm) || - (cardSettings?.clm_no && metadata.clm_no) || - cardSettings?.employeeassignments || - (cardSettings?.actual_in && metadata.actual_in) || - (cardSettings?.scheduled_completion && metadata.scheduled_completion) || - (cardSettings?.ats && metadata.alt_transport) || - cardSettings?.sublets || - cardSettings?.production_note || - cardSettings?.partsstatus - ); return ( diff --git a/client/src/components/production-board-kanban/production-board-kanban.component.jsx b/client/src/components/production-board-kanban/production-board-kanban.component.jsx index 5cd109af6..86ebf1d9b 100644 --- a/client/src/components/production-board-kanban/production-board-kanban.component.jsx +++ b/client/src/components/production-board-kanban/production-board-kanban.component.jsx @@ -209,7 +209,8 @@ function ProductionBoardKanbanComponent({ data, bodyshop, refetch, insertAuditTr employeeassignments: true, scheduled_completion: true, cardcolor: false, - orientation: false + orientation: false, + model_info: true }, [associationSettings] ); diff --git a/client/src/components/production-board-kanban/production-board-kanban.styles.scss b/client/src/components/production-board-kanban/production-board-kanban.styles.scss index 25dc472ad..6e7ee63ce 100644 --- a/client/src/components/production-board-kanban/production-board-kanban.styles.scss +++ b/client/src/components/production-board-kanban/production-board-kanban.styles.scss @@ -38,3 +38,35 @@ margin-right: 8px; /* Adjust the spacing as needed */ } } + +.header-content-container { + display: flex; + justify-content: center; + align-items: center; + position: relative; + .body-empty-container { + position: absolute; + right: 0; + } + .tech-container { + font-weight: bolder; + text-align: center; + flex: 1; + .branches-outlined { + color: orangered; + } + } + .inner-container { + display: flex; + align-items: center; + position: absolute; + left: 0; + .circle-outline { + color: orangered; + margin-left: 8px; + } + .iou-parent { + margin-left: 8px; + } + } +} diff --git a/client/src/components/production-board-kanban/trello-board/components/Lane/HeightMemoryWrapper.jsx b/client/src/components/production-board-kanban/trello-board/components/Lane/HeightMemoryWrapper.jsx index e9ea79b79..a9f2fb472 100644 --- a/client/src/components/production-board-kanban/trello-board/components/Lane/HeightMemoryWrapper.jsx +++ b/client/src/components/production-board-kanban/trello-board/components/Lane/HeightMemoryWrapper.jsx @@ -6,10 +6,11 @@ import PropTypes from "prop-types"; * @param children * @param maxHeight * @param setMaxHeight + * @param override - Override the minHeight style from being set * @returns {Element} * @constructor */ -const HeightMemoryWrapper = ({ children, maxHeight, setMaxHeight }) => { +const HeightMemoryWrapper = ({ children, maxHeight, setMaxHeight, override }) => { const ref = useRef(null); useEffect(() => { @@ -33,8 +34,10 @@ const HeightMemoryWrapper = ({ children, maxHeight, setMaxHeight }) => { }; }, [setMaxHeight]); + const style = override ? {} : { minHeight: maxHeight }; + return ( -
+
{children}
); @@ -43,7 +46,8 @@ const HeightMemoryWrapper = ({ children, maxHeight, setMaxHeight }) => { HeightMemoryWrapper.propTypes = { children: PropTypes.node.isRequired, maxHeight: PropTypes.number.isRequired, - setMaxHeight: PropTypes.func.isRequired + setMaxHeight: PropTypes.func.isRequired, + override: PropTypes.bool }; export default HeightMemoryWrapper; diff --git a/client/src/components/production-board-kanban/trello-board/controllers/Lane.jsx b/client/src/components/production-board-kanban/trello-board/controllers/Lane.jsx index 633bae6c0..be1f11f56 100644 --- a/client/src/components/production-board-kanban/trello-board/controllers/Lane.jsx +++ b/client/src/components/production-board-kanban/trello-board/controllers/Lane.jsx @@ -180,8 +180,11 @@ const Lane = ({ : {} : componentProps; - return orientation === "horizontal" ? ( - + const shouldOverride = orientation !== "horizontal" && (collapsed || !renderedCards.length); + const shouldRenderPlaceholder = orientation !== "horizontal" && (collapsed || renderedCards.length === 0); + + return ( +
{isVisible && } + {shouldRenderPlaceholder && provided.placeholder}
- ) : ( -
- {isVisible && } - {(collapsed || renderedCards.length === 0) && provided.placeholder} -
); }, [orientation, collapsed, isVisible, renderDraggable, maxLaneHeight, setMaxLaneHeight, maxCardWidth]