Skip to content

Add FoundrList footer badge - #77

Merged
andrewzolotukhin merged 1 commit into
mainfrom
feat/foundrlist-footer-badge
Jul 21, 2026
Merged

Add FoundrList footer badge#77
andrewzolotukhin merged 1 commit into
mainfrom
feat/foundrlist-footer-badge

Conversation

@andrewzolotukhin

@andrewzolotukhin andrewzolotukhin commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Summary

Add the FoundrList hosted badge to the public landing-page footer using the repository's existing vendor-badge pattern.

Original request

Add this FoundrList badge to xpenser using the PR workflow, without creating a blog post:

  • Destination: https://www.foundrlist.com/product/xpenser?utm_source=badge&utm_medium=embed
  • Image: https://www.foundrlist.com/api/badge/xpenser
  • Alt text: Featured on FoundrList
  • Size: 150 × 48

What changed

  • Added a dedicated FoundrList badge definition and component to the landing-page footer.
  • Preserved the supplied destination URL, hosted image, accessible alt text, dimensions, target="_blank", and rel="noopener".
  • Reused the footer's responsive layout and focus-visible treatment.
  • Added component coverage for the link and image contract.
  • Extended the public landing-page Playwright flow to verify that the badge is visible and correctly configured.

Reasoning

The landing page already owns vendor badges as small local components backed by immutable configuration objects. Following that pattern keeps the embed consistent without adding a shared UI primitive or Next.js remote-image configuration. The badge is placed immediately before OpenHunts, matching recent directory-badge additions.

Blog post

Skipped. This is a small promotional footer embed, and the original request explicitly asked for no blog post.

Validation

  • npm run lint
  • npm run typecheck
  • npm test — 95 files, 520 tests
  • Lint and test
  • Deploy PR environment
  • Playwright e2e
  • Preview QA
  • SigNoz traces and logs
  • SigNoz metrics explicitly checked; this preview web service exposed no matching HTTP or Node.js metric series
  • PR-ready notification attempted; skipped because the configured local notifier was unavailable

Screenshots / Preview

Preview: https://xpenser-pr-077.cleverbrush.com

Manual QA exercised the footer at 390 × 844 and 1440 × 900 in both light and dark themes. Verified:

  • The hosted image loads completely at natural and rendered dimensions of 150 × 48.
  • The exact tracking destination, target="_blank", and rel="noopener" are present.
  • The external destination loads successfully as the FoundrList product preview.
  • The 14-badge container wraps without horizontal overflow.
  • Keyboard focus shows the repository-standard two-pixel ring.
  • No badge-related browser or runtime errors occurred. The browser console retained the preview environment's unrelated Google Identity/FedCM token warning.

The passing Playwright job above provides stable CI evidence for the updated public homepage flow.

Telemetry

For xpenser-web-pr-77 over the post-QA window:

  • Web traces were present, including successful HTTP 200 server spans.
  • The explicit error-trace query returned no results.
  • No ERROR logs were emitted.
  • http.server.duration.count and nodejs.eventloop.utilization returned no matching metric series for this preview web service, recorded as an explicit metrics skip rather than a UI blocker.

Checklist

  • I kept the change focused.
  • I updated docs or tests where needed.
  • I checked for secrets, local env files, and generated build output.
  • API changes keep contracts, endpoint metadata, and handlers aligned (not applicable; no API changes).

@andrewzolotukhin
andrewzolotukhin temporarily deployed to pr-77 July 21, 2026 08:08 — with GitHub Actions Inactive
@andrewzolotukhin
andrewzolotukhin merged commit 722b4fd into main Jul 21, 2026
4 checks passed
@andrewzolotukhin
andrewzolotukhin deleted the feat/foundrlist-footer-badge branch July 21, 2026 08:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant