Add Source Code section with GitHub repo link and Demo Video section with
YouTube link to the about page. Add footer links to GitHub, YouTube,
mathewguest.com, and zavage-software.com with Bootstrap Icons and themed
hover styling.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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>
- 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>
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>