Loading
feat: #3614638 Match the listing pager and event cards to the design
Issue: https://www.drupal.org/project/vartheme_bs5_horizonaid/issues/3614638
AI-Generated: Yes
Problem
The events listing pager and the event cards did not match the design:
- Page-number label rendered at 20px instead of 14px (Bootstrap sets
font-sizeon.page-linkitself via--bs-pagination-font-size; a rule on.paginationnever reached it). - First/last used a double chevron; the design pairs a chevron with a vertical bar, only the bar taking the accent colour on hover — one icon-font glyph can't express that.
- Hover filled a page number, indistinguishable from the current page.
- First/previous vanished on page one (next/last on the last page), shifting the page numbers sideways between pages.
- Event card: 16px corner radius, 48px bottom padding, 16px date strip, 18px description, against the design's 20px, 40px, 12px, 16px.
- Listing grid used 24px gutters (design: 32px); pager sat 16px below the grid (design: 40px).
Resolution
- Pagination: 28px steps, 20px radius, 4px gap; 14px/500 label via
$pagination-font-size; hover outlines instead of fills; current page keeps its filled marker;:focus-visiblekeeps its own ring; first/previous and next/last render as disabled steps at the ends (0.5 opacity), so the numbers stop shifting. - First/last glyph: inline two-path SVG (bar + chevron, mirrored for the second) via a Twig macro, so hover recolours only the bar; previous/next stay a single chevron.
- Event card: 20px corners, 40px/12px padding, 16px description.
- Tokens:
$border-radius-xxlretuned 1.5rem → 1.25rem (sorounded-5= the design's 20px block radius); new 32pxgridstep in its own$guttersmap (addsg-grid/gx-grid/gy-gridonly). - 40px above the pager.
Verified with a real browser on a Varbase 11 site after yarn components:build and yarn theme:build: label 14px/500, 28×28 step at 20px radius/4px gap, active step filled gold/navy, hovered step outlined gold, first/last glyph 16×16 (bar-only hover), previous/next unchanged, disabled steps at 0.5 opacity, card radius 20px, card padding 24/24/40 and 12/24, description 16px, grid gutters 32px, 40px above the pager, zero render errors.
For the reviewer
- Retuning
$border-radius-xxlchangesrounded-5theme-wide. Nothing in the Sass reads it directly;rounded-5is otherwise only a component enum option plus two uses on the About page, which move from 24px to 20px. - The committed built CSS is ported into the repo's existing compact formatting rather than pasted from a fresh build:
yarn install --immutablefails because the committedyarn.lockis out of sync withpackage.json, and installing fresh pulls newer stylelint/postcss that reformats every component CSS file (confirmed byte-identical ignoring whitespace on an untouched file). Regenerating that lockfile is worth its own issue.
Checkpoints:
- File an issue
- Addition/Change/Update/Fix
- Testing to ensure no regression
- Automated unit testing coverage
- Automated functional testing coverage
- UX/UI designer responsibilities
- Readability
- Accessibility
- Performance
- Security
- Developer Documentation
- User Guide Documentation
- Reviewed by human
- Code review by maintainers
- Full testing and approval
- Credit contributors
- Review with the product owner
- Release notes snippet
- Release
Edited by Rajab Natshah