fix: #3607228 Give the Latest Updates cards their badge, teaser and readable colour

The home page's "Latest Updates" band (and the same slider wherever it appears) rendered each card with only a title and a date — no category badge, no teaser text, and the title/date were dark text on the section's navy background, close to invisible.

Badge and teaser were structurally missing, not just unstyled: canvas.content_template.node.blog.impressed_card_* only ever had a heading and a date component. Added a badge in the image's overlay slot, bound to field_blog_categories (the same taxonomy the resources already carry — News / Report / Policy brief), and a text component in the content slot bound to field_description, across all five impressed-card sizes.

The badge came back as a rendered PHP error the first time — Twig\Error\RuntimeError / "Access denied when evaluating prop source". Same root cause as the event categories fix a few days ago: a Canvas binding through a taxonomy term needs both view terms in <vocabulary> and view term names in <vocabulary>, and neither role had them for blog_categories. Granted both, mirroring the existing grants for event_categories / event_topics / program_type.

Set text_color: text-white on the heading and the date, since this card variant only ever appears on a dark section in this theme.

Verified on a running site: badge, title, date and teaser all render correctly, matching the golden reference's layout.

AI-Generated: Yes

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

Merge request reports

Loading