Skip to content

ROX-31777: Fix PF6 spacing in compliance schedules#19215

Merged
sachaudh merged 4 commits intodv/ROX-28622-pf-6from
sc/ROX-31777
Feb 27, 2026
Merged

ROX-31777: Fix PF6 spacing in compliance schedules#19215
sachaudh merged 4 commits intodv/ROX-28622-pf-6from
sc/ROX-31777

Conversation

@sachaudh
Copy link
Contributor

@sachaudh sachaudh commented Feb 26, 2026

Description

Fix spacing inconsistencies introduced during PF6 migration in the compliance schedules pages.

Changes:

  • Remove Toolbar bottom padding to close gap between pagination/filters and tables
  • Add isFilled to wizard PageSections so the wizard stretches to fill available height
  • Add bottom margin to ReviewConfig info alert for spacing before wizard footer
  • Replace semantic List/ListItem with Flex/FlexItem in NotifierConfigurationForm -- delivery destination cards are interactive form elements, not informational text items
  • Add scoped pf-v6-u-row-gap-0 utility class in trumps.css to override PF6 PageSection's default 24px row gap when using hasBodyWrapper={false}
  • Tighten header-to-alert spacing on scan config detail page

User-facing documentation

Testing and quality

  • the change is production ready: the change is GA, or otherwise the functionality is gated by a feature flag
  • CI results are inspected

Automated testing

  • added unit tests
  • added e2e tests
  • added regression tests
  • added compatibility tests
  • modified existing tests

How I validated my change

  • Verified spacing fixes visually on localhost against the compliance schedules pages
  • Checked that NotifierConfigurationForm changes also apply to vulnerability reporting (shared component)

Screenshots/Screen recording

Screen.Recording.2026-02-26.at.7.09.21.AM.mov

PF6 migration introduced several spacing inconsistencies in the
compliance schedules pages:

- Toolbar bottom padding created gaps between pagination and tables
- PageSection RowGap (24px default) added unintended space between
  title rows and alerts when using hasBodyWrapper={false}
- Wizard pages didn't fill available height (isFilled)
- ReviewConfig alert lacked bottom margin before wizard footer
- NotifierConfigurationForm used semantic List for interactive form
  elements; replaced with Flex layout with proper gap spacing

Added a scoped pf-v6-u-row-gap-0 utility class in trumps.css to
override the PageSection gap where needed, rather than applying
globally to avoid side effects on other pages.

Partially generated by AI.

Signed-off-by: Saif Chaudhry <schaudhr@redhat.com>
@openshift-ci
Copy link

openshift-ci bot commented Feb 26, 2026

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@sachaudh
Copy link
Contributor Author

sachaudh commented Feb 26, 2026

The number of tweaks using classes/padding/margin solidifies my stance that we really should invest in a layout component for our pages and sections. I think it would definitely help with cases like this. The PF v6 Upgrade highlights that well.

Apply row-gap-0 to PageSection instead of removing Toolbar padding,
since the extra spacing comes from PF6's PageSection row-gap between
direct children. Add aria-label to delivery destinations Flex for
accessibility. AI-assisted change.

Signed-off-by: Saif Chaudhry <schaudhr@redhat.com>
Ensure every pf-v6-u-row-gap-0 usage has a comment explaining why the
override is needed. AI-assisted change.

Signed-off-by: Saif Chaudhry <schaudhr@redhat.com>
@sachaudh sachaudh requested review from a team and dvail and removed request for a team February 26, 2026 15:56
@sachaudh sachaudh marked this pull request as ready for review February 26, 2026 15:57
@sachaudh sachaudh requested a review from a team as a code owner February 26, 2026 15:57
@sachaudh sachaudh removed the request for review from a team February 26, 2026 15:57
@codecov
Copy link

codecov bot commented Feb 26, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (dv/ROX-28622-pf-6@7dd88a4). Learn more about missing BASE report.

Additional details and impacted files
@@                 Coverage Diff                  @@
##             dv/ROX-28622-pf-6   #19215   +/-   ##
====================================================
  Coverage                     ?   49.52%           
====================================================
  Files                        ?     2666           
  Lines                        ?   201181           
  Branches                     ?        0           
====================================================
  Hits                         ?    99635           
  Misses                       ?    94111           
  Partials                     ?     7435           
Flag Coverage Δ
go-unit-tests 49.52% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

@dvail dvail left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The number of tweaks using classes/padding/margin solidifies my stance that we really should invest in a layout component for our pages and sections. I think it would definitely help with cases like this. The PF v6 Upgrade highlights that well.

In a lot of the pages I've worked on, I've found that the sledgehammer approach of simply removing all className overrides often gets us very close, if not exactly, to what is shown on the PatternFly docs and is similar to the OpenShift console UI.

This, in combination with removing hasBodyWrapper={false} and using <PageSection type="tabs"> and <PageSection type="breadcrumbs"> I think really reduces the need for custom layout components and CSS in the general case.

<List isPlain>
<Flex
direction={{ default: 'column' }}
gap={{ default: 'gapMd' }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm I've been using the spaceItems prop for this type of behavior, and never either considered the gap prop. TIL (or re-learned? 🤔 )

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A part of me honestly thinks we should just delete this file after the migration and clean up the fallout as a separate PR. I think these overrides are more pain than anything, and with such a small amount of Tailwind left we should deal with it as part of the effort to isolate the Tailwind styles from the pure PF parts of the app.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea, that makes sense to me

…e schedules

Replace row-gap-0 workaround with idiomatic PageSection usage, including
type="tabs" with usePageInsets for tab sections, and remove the custom
row-gap-0 CSS utility class that is no longer needed.

Signed-off-by: Saif Chaudhry <schaudhr@redhat.com>
@sachaudh
Copy link
Contributor Author

Oh man, lots of changes. I did try those out, and it looks like they did get the same result with fewer classes. Thanks!

@sachaudh sachaudh requested a review from dvail February 26, 2026 23:19
Copy link
Contributor

@dvail dvail left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Saif, looks great! :shipit:

@sachaudh sachaudh merged commit a09237b into dv/ROX-28622-pf-6 Feb 27, 2026
76 of 87 checks passed
@sachaudh sachaudh deleted the sc/ROX-31777 branch February 27, 2026 15:49
dvail pushed a commit that referenced this pull request Feb 27, 2026
Signed-off-by: Saif Chaudhry <schaudhr@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants