fix: #3607228 Give every country, programme and resource an image of its own subject

Issue link: https://www.drupal.org/project/horizonaid/issues/3607228

Body: Images on the country, programme and resource pages did not match what the pages are about, so the shipped demo read as stock filler. Every photograph in the recipe was checked by looking at it rather than trusting its filename, which matters because several filenames describe a subject the photograph does not show: resource-water-point-queue.jpg is irrigated fields, resource-classroom-lesson.jpg is a handout from a mobile clinic, resource-legal-aid-desk.jpg is a child carrying water through a camp, and program-agriculture-tab.png is a medicine store. Assigning by filename is what produced the mismatches.

What changed:

  • 47 resource and event nodes now carry a photograph of their own subject. Ten of them were showing a country hero photograph (Nutrition screening at scale had Afghanistan's hero, Cash support and market recovery had Kenya's), and four were showing an interface icon rather than a photograph (community-led.png and partners.png).
  • Three country pages were showing another country in their On the ground section: Afghanistan showed a Syria photograph and now uses the unused Afghan classroom photograph, while Ukraine and Lebanon fall back to their own hero because the recipe ships no second photograph of either country.
  • The Countries page tile for Ukraine used a file byte identical to Ecuador's photograph and now uses the genuine Ukraine photograph already used on the home page.
  • 19 media entities were relabelled to describe what they actually show. This corrects the alt text as well, which previously announced "Classroom lesson" over a photograph of a food distribution.

Verified with a fresh install of this branch's content: no country hero or icon is used as a featured image anywhere outside the country pages, every country page shows only its own country, no media is left with machine name alt text, and all 26 resource listing images load and match their articles.

Some photographs are now used two or three times, because the recipe ships nine general photographs for 26 resources and 20 events and has none at all for legal aid, shelter repair or cash and markets. Sourcing further photographs is left to a separate issue rather than assumed here.

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