Promote Develop to main - #23
Merged
Merged
Conversation
Add blockGap: spacing--10 to the newsletter and republish-stories icon+text groups in the header, which previously fell back to the larger global default blockGap. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The collapsed search input (core/search, isSearchFieldHidden) had no styling of its own and stayed in normal flex flow, so opening it pushed the "Dashboards" button around and broke onto two lines. Adds a header-search.css component styled after ati-theme-2026's is-style-header-search: the input opens out of flow via position, sized per breakpoint. Above 1000px it slides out to the left of the icon, tiered narrower at each step to stay clear of the site logo as the available gap shrinks. At 1000px and below that gap is too tight for a usable inline input, so it instead drops open as a full-width bar below the whole header (utility row + logo + nav), anchored to .site-header so it clears both. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Bump the "is-style-card-links" category badge (e.g. "HIV/AIDS") from fontSize 100 to 200 everywhere it appears on story cards, matching the size already used on the single-post article header. Requested by Zared despite Figma showing 100, for legibility. Applied consistently across all 8 occurrences so the badge doesn't render at two different sizes depending on which listing it's in: story-card-editorial, story-card, and project-entry patterns, plus the archive, home, and front-page templates (which embed the same markup directly rather than via wp:pattern). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…#12) Sections that are already align:"wide" (auto-centered to theme.json's 1320px wideSize) also had their own manual left/right padding on top of that centering. Below 1320px that padding was necessary — align:wide alone provides no edge protection until the width cap engages — but above 1320px it stacked on top of the centering and pushed content further in than sibling sections without that extra padding (e.g. the header, or the archive hero, which happened to look right only because of WordPress core's unrelated `.wp-block-group.has-background` default padding fallback). Standardizes on the one pattern that's actually safe at every width (already used by parts/header.html): real spacing--20 padding on the outer, unconstrained container (now each template's <main>), with the align:"wide" sections inside it relying purely on the width cap for centering, no padding of their own. Full-bleed background sections (archive-listing-header, archive-listing-header-archive) get explicit spacing--20 padding instead of relying on the has-background accident. dashboard-promo.php already did this correctly; trust-bar.html is intentionally left out of scope, it matches Figma and has no reported issue. page-full-width had a DB "custom" override (from an earlier Site Editor save) patched separately via REST so the fix actually renders. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The group wrapping each stat's number + label (e.g. "6.1m" / "On Antiretroviral Treatment") had no blockGap of its own, so it inherited the theme's global default (spacing--30) — too loose for a tightly related number/caption pair. Sets blockGap: spacing--5 explicitly on all 4 occurrences (HIV and TB cards, 2 stats each). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The homepage hero query picked the newest post by date automatically, with no editorial control over what's featured. Adds "sticky":"only" so it instead pulls the post(s) editors explicitly pin via WordPress's native "Stick to the top of the blog" option, keeping order:desc/ orderBy:date as the tie-breaker if more than one post is stuck. Verified the filter is genuine (not coincidentally showing the newest post already) by temporarily sticking an older post and confirming the hero switched to it. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Footer nav links ("Latest News", "Data Desk", "Republish", "Contact
us") matched the header's main nav styling (fontWeight 500, fontSize
300/Small). Ticket asked for a thinner weight (400) and smaller size
(200/Base) to differentiate them from the main navigation.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Figma (node 234:6734) shows a subtitle under the "Contact us" H1 that
was missing on the live page. page-intro-banner.php itself deliberately
has no subtitle (per Zared's 2026-09-04 "no intro copy under the title"
note) and is shared by every page on the default page.html template, so
the fix couldn't touch that file without reintroducing copy on pages
that don't want it — confirmed core/post-excerpt wouldn't help either,
since get_the_excerpt() falls back to an auto-trimmed content snippet
rather than rendering nothing when a page has no manual excerpt.
Adds a Contact-us-only variant instead:
- patterns/page-intro-banner-contact-us.php: near-identical copy of
page-intro-banner.php with the subtitle paragraph added (fontSize
400/neutral-300, matching Figma exactly). Inserter:false, same
precedent as spotlight-badge.php, so it can't be accidentally
inserted into an unrelated page.
- templates/page-contact-us.html: picked up automatically by
WordPress's page-{slug}.html template hierarchy for the "contact-us"
page (verified against wp-includes/template.php's own hierarchy
order) — no manual template assignment needed, and no other page is
affected since they still resolve to the generic page.html.
Spacing needed no changes — blockGap:30 between title/subtitle and the
banner's padding-bottom:100 already matched Figma's measured gaps
exactly (verified via getBoundingClientRect in the browser).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
templates/search.html rendered raw, unstyled core blocks (default blue links, no images, no card treatment, huge unstyled gaps between results) instead of reusing any of the theme's actual design. Rebuilds it out of components already proven elsewhere: - Header row: same styled search pill (border-radius--500, icon, button-inside) as archive-listing-header's, plus a properly sized/ colored query-title. - Results: same story-card-editorial markup used on archive.html (featured image, category badge, title, excerpt, author/date row). - Pagination: same post-listing-pagination pill style as archive.html. - No-results state: centered, readable copy instead of a bare paragraph. Extends archive-listing-header.css's search selectors to also match .post-listing-header instead of duplicating the CSS, and adds a max-width:100% safeguard — wp:search's "width" attribute is a fixed px value with no responsive fallback, which overflowed narrow viewports before this (affects both search.html and archive-listing-header's own search box). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The H1 in every page-intro-banner/archive-listing-header variant had no explicit fontWeight, so it rendered at the browser's UA-stylesheet bold default (700) on Libre Baskerville's 400-700 variable range — heavier than intended. Adds fontWeight: var(--wp--custom--font-weight --semi-bold) (the theme's own 600 token, not a bare number) to: - patterns/page-intro-banner.php (all default pages) - patterns/page-intro-banner-contact-us.php (Contact Us variant, #16) - patterns/archive-listing-header-archive.php (category/tag archives) - patterns/archive-listing-header.php (home.html's "Latest" header) Scope grew from the ticket's single Contact Us pin to every page-hero H1 after confirming with Jose, since they all shared the same unstyled-weight gap. Also fixed a DB-only issue this surfaced: templates/page-full-width.html has a DB override whose saved content had page-intro-banner fully detached (inlined raw blocks instead of a live wp:pattern reference), so the pattern-file fix alone didn't reach /dashboards/, /hiv-dashboard/, or /tb-dashboard/ — patched separately via REST, no git change needed for that part. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adopts the review-behavior and tooling additions from ls-theme's CodeRabbit config that make sense for this repo too: assertive review profile, incremental re-review on push, request_changes_workflow, walkthrough/linked-issue presentation options, path_filters, finishing touches (autofix/docstrings/unit tests), eslint/markdownlint/gitleaks/ trufflehog tooling, and a knowledge_base pointing at AGENTS.md with auto-learning enabled. Also extends auto_review.base_branches to feature/.* and fix/.* so CodeRabbit reviews PRs opened against those branches too, not just main/develop. Keeps this repo's own Spotlight-specific path_instructions and review_checklist wording (client theme, not a starter template) and its recursive path globs (patterns/**/*.php, templates/**/*.html, parts/**/*.html), which are already more thorough than ls-theme's single-level globs. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR promotes the latest validated work from
developintomainfor release.It includes a full batch of BugHerd-reported fixes for the Spotlight project (tickets #7–#17) plus an unplanned search-results-page redesign requested mid-batch, now merged into
developvia PR #22 and ready for production rollout.What's included
fontSize--100tofontSize--200across all 8 occurrences, matching single-post pages.coderabbit.ymlaligned withlightspeedwp/ls-theme's review config (assertive profile, incremental review, gitleaks/trufflehog secret scanning, AGENTS.md knowledge base), keeping this repo's own Spotlight-specific instructions intactWhy this change
This release brings the latest approved BugHerd fixes into the main branch so the site can be deployed using the current, tested version of the theme.
Validation
Before merging, the following checks should be confirmed:
Release notes
This update resolves 11 BugHerd tickets covering header spacing/search behavior, sitewide alignment consistency, category badge sizing, dashboard-promo spacing, hero post selection, footer nav styling, the Contact Us page subtitle, and page-hero heading weight — plus a full redesign of the search results page. All changes verified on the front end at multiple viewport widths.
Deployment notes
developwork):/dashboards/page content: remove a redundant padding wrapper, tighten stat-pair spacing (BugHerd Build lead-story hero, archive listing header, and page intro banner patterns (LS-1719) #9, Build province, project, and dashboard-entry patterns (LS-1723) #13)hiv-dashboard/tb-dashboardpages: Full Width template, content-wrapper padding adjustments (BugHerd Build trust-bar, newsletter-signup, and republish-notice patterns (LS-1721) #11)page-full-widthtemplate (if DB-customized on that environment): same heading-weight fix as the pattern file (BugHerd Fix newsletter popup styles for Gravity Forms 3.x and non-portable theme ID #17)Checklist
main