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>
18 lines
565 B
HTML
18 lines
565 B
HTML
{% extends "base.html" %}
|
|
|
|
{% block active_page %}{% set active_page = "home" %}{% end %}
|
|
|
|
{% block title %}Word Search — Home{% end %}
|
|
|
|
{% block content %}
|
|
<header class="hero">
|
|
<div class="hero-emoji">🧩</div>
|
|
<h1 class="display-4 fw-bold mb-3">Word Search</h1>
|
|
<p class="lead mb-4">
|
|
Find hidden words in a grid of letters. Words can appear horizontally,
|
|
vertically, or diagonally. How fast can you find them all?
|
|
</p>
|
|
<a href="{{ base_url }}game" class="btn btn-accent btn-lg px-5">🎮 Start Game</a>
|
|
</header>
|
|
{% end %}
|