Skip to content

feat(game): lead the starting positions page with "abalone starting position" - #249

Open
arrzdev wants to merge 1 commit into
mainfrom
feat/starting-position-copy
Open

arrzdev wants to merge 1 commit into
mainfrom
feat/starting-position-copy

Conversation

@arrzdev

@arrzdev arrzdev commented Nov 1, 2026

Copy link
Copy Markdown
Owner

What and why

The starting positions page gets few clicks for "abalone starting position", and neither its title nor its intro used that phrase. This PR changes copy and links only:

  • Title: Abalone Starting Position: Standard, Belgian or German Daisy (60). Description: Abalone starting position explained: standard, Belgian daisy and German daisy side by side, how they differ and which to pick. Try each free. (141).
  • English intro opens with the phrase. It keeps the rules and opening moves links.
  • /strategy: tip 5 ends with a link to the starting positions, in all 13 languages.
  • /rules: the setups chapter's old "Compare them in detail" sentence becomes one that says what the page shows, in all 13 languages. Still one link to the page.
  • /opening-moves (English only): the starting position chapter's closing link sentence is reworded the same way.
  • Sitemap lastmod for /rules, /strategy, /opening-moves and /starting-positions is now 2026-11-01.

How to verify

  • pnpm --filter @repo/game test: 836 passed (seo-pages and structured-data expectations updated).
  • e2e: seo.spec.ts (title, lastmod), strategy-page.spec.ts "the content pages each link to the starting positions once", manual-layout.spec.ts "the starting positions CTA ends inside the first screen of a phone".
  • Measured on a preview build. Bottom of the "Play against the computer" button on /starting-positions, viewport height in brackets: 375x667 → 430 (667) Chromium, 484 (667) WebKit. 375x548 → 430 / 484 (548). 390x664 → 431 / 458 (664).
  • Known gap: at 320x460 the button ends 3px (Chromium) and 33px (WebKit) below the fold, because the longer intro adds a line or two. On main it fits. No spec gated this page at 320 before. The new phone check starts at 375.

UI quality gate

  • No layout shift: copy only, no new elements
  • Space reserved for text that appears later: n/a, no late text
  • No hard-clipped text: paragraphs wrap
  • No text hidden by its container, the viewport, or a sticky bar
  • Modals and dialogs fit without scrolling at 375x667: n/a, no modal
  • Focus ring fully visible on every control: existing link class
  • Touch targets ≥ 44x44 on phone: n/a, inline text links as before
  • Empty, loading and error states: n/a, static copy
  • Every network action shows a pending state: n/a
  • Button labels stay on one line at 320 in the longest locale: no button labels changed
  • Checked at 375x667, 402x710 and desktop, Chromium + WebKit: 375x667, 375x548 and 390x664 in both engines. 402x710 and desktop not measured; the intro has no width rules of its own.
  • New UI spec uses the shift and clipped-text helpers: n/a, the new check measures the button box only

@arrzdev
arrzdev marked this pull request as ready for review November 1, 2026 06:14
…osition"

- Title and description name the exact phrase and both daisies.
- The intro opens with the phrase and keeps the rules and opening links.
- Strategy tip 5 now links to the starting positions, in every language.
- The rules and opening pages swap their old link sentence for one that
  says what the page shows, so neither gains a second link.
- Sitemap dates move for the four pages; a phone check keeps the play
  button on the first screen of the starting positions page.
@arrzdev
arrzdev force-pushed the feat/starting-position-copy branch from db4846e to 43efc8e Compare November 2, 2026 01:24

This branch has not been deployed

No deployments
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