- show Wordle's praise (Genius ... Phew) for wins on the board and
stats pages instead of repeating the score
- history: month-style calendar with dates and results, next to the
summary numbers, replacing the small heatmap strip
- recent form as two rows of a week each
- fuller identicons at small sizes
- put "The word was" above the answer tiles, wrap the terminal demo
on phones and hide keyboard hints on touch screens
- say where followed players show up (the home page leaderboard)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
"Home" and "Find a player" both went to the home page. Swap the second
link for a search box in the header so a player can be looked up from
any page ("/" focuses it). Phones get a search button that jumps to the
search on the home page instead.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A won board has no answer row, and passing that null straight to
replaceChildren printed it as the text "null" under the board. Add a
fill() helper that skips null children like h() does and use it on the
board page. Bump the asset version so browsers load the new wordle.js
alongside the new board.js.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Rebuild the browser pages around shared wordle.css / wordle.js, still
served by the unchanged nginx config (same URLs and ?user= / ?board=
parameters, data from /wordle/rawstats and /wordle/rawboard):
- home: animated terminal demo, copyable ssh command, countdown to the
next UTC day, player search with recent searches, and a leaderboard
of followed players (kept in the browser) with today's results
- stats: stat cards, guess distribution with losses, today's result and
the last 14 days
- history: calendar heatmap and a card per game, loading more on demand
- board: flip-in tiles, hold (or R) to reveal letters, the answer on a
loss, copyable spoiler-free emoji result, previous/next game
- dark/light/system themes and a high contrast mode
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The game saves usernames in lowercase, but the search box and the
user/board URL parameters were used as typed, so searching "Adam"
reported that the user had never played. Lowercase them before use.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Board days are UTC epoch days (midnight UTC), but toLocaleDateString
formatted them in the viewer's timezone, so anyone west of UTC saw
every game dated the day before. Format them in UTC.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copies of the pages served from /var/www/html/wordle on the server:
the user search page (index.html), stats.html, games.html and
game.html. Browsers are sent here by nginx while curl gets the raw
board and stats files. These aren't deployed by the workflow yet.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>