Commit Graph
6 Commits
Author SHA1 Message Date
Mathew Sir Guest the bestandClaude Opus 4.6 36c3c712fe feat: add scoreboard with player names, per-category leaderboards, and themed tables
Add player_name column to games (migration included), with regex-based
validation and anti-abuse sanitization. New /scoreboard page shows recent
games from localStorage, popular categories with play counts, and top-10
per-category leaderboards sorted by completion time. Also includes
two-click reverse word matching, base URL prefix support for reverse-proxy
hosting, BasePageHandler refactoring, themed table CSS for all 5 themes,
and comprehensive test coverage for player names and scoreboard API.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-07 10:38:19 -06:00
Mathew Sir Guest the bestandClaude Opus 4.6 9319f08875 feat: expand to 1014 words, add title-case display and 2 new themes
- Move word data from hardcoded seed.py to data/words.json
- Expand from 210 words across 7 categories to 1014 words across 14
  categories (animals, food, colors, sports, space, nature, music,
  science, countries, occupations, ocean, weather, mythology, technology)
- Word list sidebar now shows title case (Tiger) while grid stays
  uppercase; text input remains case-insensitive
- Add Ocean theme (light, blue accents) and Forest theme (dark, amber
  accents on deep green)
- Replace hardcoded rgba values with --coral-bg CSS variable so
  selection highlighting adapts per theme

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-07 02:43:43 -06:00
Mathew Sir Guest the bestandClaude Opus 4.6 cd1dc9200b fix: harden API, add rate limiting, disable debug by default
- Add input validation and error handling across all API endpoints
  (malformed JSON, missing fields, invalid types return proper 4xx)
- Add per-IP rate limiting (10/min new games, 60/min other requests)
- Add session rollback on unhandled exceptions
- Default debug=False, add --debug CLI flag to opt in
- Frontend: add fetch error handling, fix feedback timeout stacking,
  disable buttons during requests, allow clicking found cells for
  overlapping word selection
- Expand seed data to 7 categories with 25-35 words each

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-07 00:59:47 -06:00
Mathew Sir Guest the bestandClaude Opus 4.6 fd3ff46804 fix: add active_page block to game template
Matches the active nav pattern from base.html updates.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-06 22:58:00 -06:00
Mathew Sir Guest the bestandClaude Opus 4.6 2ee8afe582 feat: add game page frontend with grid, word list, timer, and dual input
Recreates base.html and main.html templates (lost during reset).
Adds game.html with setup UI (category picker, board size slider),
interactive grid table, word list sidebar, text input, click-to-select,
timer, and completion banner. Adds game.js for all frontend logic.
Extends theme.css with game grid and form control styles using the
indigo/coral palette.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-06 22:56:13 -06:00
Mathew Sir Guest the best 2104027c20 feat: add howtoplay and about routes with placeholder templates 2026-05-06 22:46:49 -06:00