From 4315c0ae70bb55532f3e544af81a53f0ee5df44e Mon Sep 17 00:00:00 2001 From: funman300 Date: Wed, 13 May 2026 16:50:46 -0700 Subject: [PATCH] feat(web): leaderboard and replays pages with nav from landing - Add leaderboard.html: JWT login form + localStorage token + table - Add replays.html: public listing of recent replays, row click to viewer - Wire /leaderboard and /replays routes in build_router_inner - Fix home.html Recent Replays link from /api/replays/recent to /replays Co-Authored-By: Claude Sonnet 4.6 --- solitaire_server/src/lib.rs | 8 ++ solitaire_server/web/home.html | 2 +- solitaire_server/web/leaderboard.html | 158 ++++++++++++++++++++++++++ solitaire_server/web/replays.html | 127 +++++++++++++++++++++ 4 files changed, 294 insertions(+), 1 deletion(-) create mode 100644 solitaire_server/web/leaderboard.html create mode 100644 solitaire_server/web/replays.html diff --git a/solitaire_server/src/lib.rs b/solitaire_server/src/lib.rs index b3cbd35..07e2462 100644 --- a/solitaire_server/src/lib.rs +++ b/solitaire_server/src/lib.rs @@ -213,6 +213,14 @@ fn build_router_inner(state: AppState, rate_limit: bool) -> Router { "/play", get(|| async { Html(include_str!("../web/game.html")) }), ) + .route( + "/leaderboard", + get(|| async { Html(include_str!("../web/leaderboard.html")) }), + ) + .route( + "/replays", + get(|| async { Html(include_str!("../web/replays.html")) }), + ) .nest_service("/web", ServeDir::new("solitaire_server/web")) .nest_service("/assets", ServeDir::new("assets")); diff --git a/solitaire_server/web/home.html b/solitaire_server/web/home.html index 7ece65a..4957597 100644 --- a/solitaire_server/web/home.html +++ b/solitaire_server/web/home.html @@ -141,7 +141,7 @@ - +
Recent Replays
diff --git a/solitaire_server/web/leaderboard.html b/solitaire_server/web/leaderboard.html new file mode 100644 index 0000000..b4c8a5a --- /dev/null +++ b/solitaire_server/web/leaderboard.html @@ -0,0 +1,158 @@ + + + + + + Solitaire Quest — Leaderboard + + + +
+ +

Leaderboard

+
+
+
Loading…
+ + + + + + + + + + +
+ + + diff --git a/solitaire_server/web/replays.html b/solitaire_server/web/replays.html new file mode 100644 index 0000000..696311d --- /dev/null +++ b/solitaire_server/web/replays.html @@ -0,0 +1,127 @@ + + + + + + Solitaire Quest — Recent Replays + + + +
+ +

Recent Replays

+
+
+
Loading…
+ + + + + + + + + + + +
+ + +