Skip to content

feat(web): add pepito (Vanguard.tf) testimonial to the landing page - #359

Merged
sonikro merged 1 commit into
mainfrom
feat/landing-page-pepito-testimonial
Oct 17, 2026
Merged

sonikro merged 1 commit into
mainfrom
feat/landing-page-pepito-testimonial

Conversation

@sonikro

@sonikro sonikro commented Oct 17, 2026

Copy link
Copy Markdown
Owner

Add pepito (Vanguard.tf) testimonial to the landing page

Summary

Adds a seventh community testimonial to the quickserver.tf "What Players Say" carousel, for
pepito, founder of Vanguard.tf — the South American PUG/mix community. His testimonial is
reproduced verbatim and keeps the three paragraphs he wrote.

The avatar is vendored into the repository because the landing page is a static Next.js export with
images.unoptimized: true, so next/image cannot reference an external domain here.

Key changes

  • packages/web/public/avatars/pepito.jpg (new) — pepito's Steam avatar, downloaded from his
    Steam profile (6,201 bytes, 184×184 JPEG, byte-identical to the source).
  • packages/web/src/components/testimonials.tsx
    • Exports a Testimonial type and the TESTIMONIALS array so the data is testable.
    • Adds an exported pure helper toParagraphs(testimonial) that normalizes a string or a
      readonly string[] into a readonly string[].
    • Renders one <p> per paragraph instead of a single <p>, with the opening curly quote on the
      first paragraph and the closing quote on the last, and mt-3 between paragraphs.
    • Appends the seventh entry (pepito, appended last, matching the array's existing append order).
  • packages/web/src/components/testimonials.test.ts (new) — covers toParagraphs, pepito's
    entry and title/avatar, the verbatim text paragraph by paragraph, unique player keys (they are
    React keys), and that every referenced avatar file exists under packages/web/public.

Nothing else changed: no new dependency, no change to the card layout, the scroll buttons, the
other six testimonials, navbar.tsx, page.tsx, next.config.ts, or any workflow.

Why the render changed at all

The previous single <p> collapsed the author's paragraph breaks into one run-on block. The change
is deliberately minimal so the six existing single-paragraph entries are unaffected: for a string,
toParagraphs returns a one-element array, so the first and last paragraph are the same element and
the markup degenerates to exactly the previous output. This was verified by diffing the rendered card
markup against a pre-change build — all six existing cards are byte-identical, including React's
<!-- --> text-node separators.

Testing

  • npm test — 839 tests / 116 files pass, including the 7 new tests.
  • npm run build:web — succeeds, including its TypeScript pass.
    Note: npm run build:backend does not typecheck this package — the root tsconfig.json
    excludes packages/web/** — so build:web is the web typecheck.
  • Verified the post-build export contains 7 testimonial cards, 7 avatar references, and
    out/avatars/pepito.jpg.
  • Visually the seventh card is taller than the others and therefore stretches the carousel row. This
    is an accepted, cosmetic consequence of keeping the testimonial in full; it is revertible by
    trimming the text.

Related

No issue — requested directly.


Produced in Autonomous Loop mode. The local loop (implement → independent review → fix) completed
with no Critical or Major findings outstanding. Awaiting human review — not to be merged without
it.

Add a seventh testimonial to the quickserver.tf carousel for pepito,
founder of Vanguard.tf, reproduced verbatim with his three paragraphs
kept intact rather than collapsed into one run-on block.

The avatar is vendored to public/avatars/pepito.jpg because the static
export disables next/image optimization and forbids external image
domains.

Render one <p> per paragraph through an exported toParagraphs helper
that normalizes a string or a string[]; the six existing
single-paragraph entries degenerate to their previous markup
byte-for-byte, verified against a pre-change build.
@sonikro
sonikro deployed to landing-page-prod October 17, 2026 20:46 — with GitHub Actions Active
@sonikro
sonikro marked this pull request as ready for review October 17, 2026 21:00
@sonikro
sonikro merged commit f140bb4 into main Oct 17, 2026
12 checks passed
@sonikro
sonikro deleted the feat/landing-page-pepito-testimonial branch October 17, 2026 22:21

This branch was successfully deployed

1 active deployment
landing-page-prod — fe906c9f Deployed Oct 17, 2026 by sonikro via validate #37
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