From 289c45e2331fd67adc8083868b46e95ff2186662 Mon Sep 17 00:00:00 2001 From: serversdwn Date: Sun, 8 Mar 2026 21:17:50 +0000 Subject: [PATCH] feat: add landing page, Improved key rating page UI --- app.py | 41 ++--- templates/collector.html | 4 +- templates/keys.html | 342 +++++++++++++++++++++++++++++++++++++++ templates/landing.html | 120 ++++++++++++++ templates/loadout.html | 4 +- templates/meds.html | 3 +- templates/quests.html | 4 +- 7 files changed, 490 insertions(+), 28 deletions(-) create mode 100644 templates/keys.html create mode 100644 templates/landing.html diff --git a/app.py b/app.py index 3a7d86a..42e95a3 100644 --- a/app.py +++ b/app.py @@ -69,20 +69,17 @@ _migrate_key_ids_and_maps() @app.route("/") -def index(): +def landing(): + return render_template("landing.html") + + +def _keys_context(): conn = get_db() - maps = conn.execute(""" - SELECT id, name - FROM maps - ORDER BY name - """).fetchall() + maps = conn.execute("SELECT id, name FROM maps ORDER BY name").fetchall() map_filter = request.args.get("map_id", type=int) sort = request.args.get("sort", "priority_desc") show = request.args.get("show", "all") - key_map_rows = conn.execute(""" - SELECT key_id, map_id - FROM key_maps - """).fetchall() + key_map_rows = conn.execute("SELECT key_id, map_id FROM key_maps").fetchall() key_maps = {} for row in key_map_rows: key_maps.setdefault(row["key_id"], set()).add(row["map_id"]) @@ -107,9 +104,7 @@ def index(): AND kmf.map_id = ? """ params.append(map_filter) - key_query += """ - LEFT JOIN key_ratings r ON k.id = r.key_id - """ + key_query += " LEFT JOIN key_ratings r ON k.id = r.key_id " if show == "rated": key_query += " WHERE r.priority IS NOT NULL " elif show == "unrated": @@ -131,15 +126,13 @@ def index(): conn.close() key_maps = {k: sorted(v) for k, v in key_maps.items()} - return render_template( - "index.html", - keys=keys, - maps=maps, - key_maps=key_maps, - map_filter=map_filter, - sort=sort, - show=show, - ) + return dict(keys=keys, maps=maps, key_maps=key_maps, + map_filter=map_filter, sort=sort, show=show) + + +@app.route("/keys") +def keys_page(): + return render_template("keys.html", **_keys_context()) @app.route("/rate", methods=["POST"]) @@ -186,7 +179,7 @@ def rate_key(): redirect_args["sort"] = sort if show: redirect_args["show"] = show - base_url = url_for("index", **redirect_args) + base_url = url_for("keys_page", **redirect_args) return redirect(f"{base_url}#key-{key_id}") @@ -245,7 +238,7 @@ def rate_all(): redirect_args["sort"] = sort if show: redirect_args["show"] = show - base_url = url_for("index", **redirect_args) + base_url = url_for("keys_page", **redirect_args) if save_one: return redirect(f"{base_url}#key-{save_one}") return redirect(base_url) diff --git a/templates/collector.html b/templates/collector.html index cefdd00..c5db8c1 100644 --- a/templates/collector.html +++ b/templates/collector.html @@ -290,7 +290,9 @@