From e52477e2baefb96a2b821e5a54364cedc9c93840 Mon Sep 17 00:00:00 2001 From: gsinghpal Date: Sat, 18 Apr 2026 20:00:14 -0400 Subject: [PATCH] fix(plant-overview): priority stripe clips to card's rounded corners MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The coloured priority stripe (4px vertical bar at the card's left edge, set via ::before pseudo) extended past the top and bottom rounded corners of the card — visible as sharp corners on cards with Urgent or HOT priority (yellow/red stripe). Cause: .o_fp_po_card::before was positioned at left/top/bottom: -1px and given its own border-radius, but the stripe's own radii didn't match the card's 14px radius precisely, and the -1px offsets pushed the stripe outside the card's curves. Fix: 1. .o_fp_po_card gets overflow: hidden. Shadows are painted outside the content box in CSS so box-shadow still renders fine, but any child element (including ::before) now clips to the parent's border-radius automatically. 2. Stripe ::before simplified to left/top/bottom: 0 — no more negative offsets, no more independent border-radius rules. The parent's overflow does the corner-matching. Verified in /web/assets/5e85f15/web.assets_backend.min.css: .o_fp_po_card { ...; overflow: hidden; ... } .o_fp_po_card::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; ... } Co-Authored-By: Claude Opus 4.7 (1M context) --- .../fusion_plating_shopfloor/__manifest__.py | 2 +- .../static/src/scss/plant_overview.scss | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/fusion_plating/fusion_plating_shopfloor/__manifest__.py b/fusion_plating/fusion_plating_shopfloor/__manifest__.py index fe9d6bd5..aa9aab1e 100644 --- a/fusion_plating/fusion_plating_shopfloor/__manifest__.py +++ b/fusion_plating/fusion_plating_shopfloor/__manifest__.py @@ -5,7 +5,7 @@ { 'name': 'Fusion Plating — Shop Floor', - 'version': '19.0.7.0.0', + 'version': '19.0.8.0.0', 'category': 'Manufacturing/Plating', 'summary': 'Shop-floor tablet stations, QR scanning, bake window enforcer, ' 'first-piece inspection gates.', diff --git a/fusion_plating/fusion_plating_shopfloor/static/src/scss/plant_overview.scss b/fusion_plating/fusion_plating_shopfloor/static/src/scss/plant_overview.scss index fda89f50..e49c6b89 100644 --- a/fusion_plating/fusion_plating_shopfloor/static/src/scss/plant_overview.scss +++ b/fusion_plating/fusion_plating_shopfloor/static/src/scss/plant_overview.scss @@ -243,6 +243,10 @@ background-color: $fp-card; border: 1px solid #{$fp-border}; border-radius: $fp-radius-md; + // Clip children to the rounded corners — this is what makes the + // priority stripe (inside via ::before) curve with the card. + // Shadows are painted outside the content box so they render fine. + overflow: hidden; padding: $fp-space-3 $fp-space-4; margin-bottom: $fp-space-2; cursor: grab; @@ -271,13 +275,12 @@ box-shadow: $fp-elev-3; } - // Priority left bar + // Priority left bar — lives inside the card's overflow: hidden + // so it gets clipped to the rounded corners automatically. &::before { content: ""; - position: absolute; left: -1px; top: -1px; bottom: -1px; + position: absolute; left: 0; top: 0; bottom: 0; width: 4px; - border-top-left-radius: $fp-radius-md; - border-bottom-left-radius: $fp-radius-md; background-color: transparent; } &[data-priority="2"], &.o_fp_po_card_hot {