Trois demandes distinctes de l'utilisateur, regroupées car elles touchent
toutes à la navigation d'un jeu :
1. Fil d'Ariane retiré (devenu redondant avec la barre de navigation du
jeu ajoutée au commit précédent) : bloc breadcrumb_wrap retiré de
base.html, et son override ({% block breadcrumb %}) retiré des 9
templates qui le définissaient encore. .breadcrumbBar (CSS) retiré,
y compris des règles flex:0 0 auto de body.objectEditBody/builderBody.
2. Liens de .gameNavBar centrés (justify-content:center).
3. "Jouer" déplacé en dernier lien (c'est une action à part — ouvre
l'aperçu jouable dans un nouvel onglet — pas un éditeur de plus comme
les 4 autres).
4. game_dashboard.html devient un vrai tableau de bord : une grille de
cartes (Écrans/Objets/Éléments de jeu/Variables), chacune listant les
entrées existantes avec un accès direct (clic = éditeur concerné) et
un lien "Gérer" vers la page dédiée pour créer/réorganiser. Remplace
l'ancien panneau "Créer" (redondant avec la barre de navigation
persistante) et la simple table "Objets définis". routes/games/
game_dashboard.py alimente maintenant aussi screen_list, element_types
(+ usage) et variables, en réutilisant list_screens/
list_element_types/element_type_usage_count/list_global_variables déjà
utilisés ailleurs.
Vérifié en rendant toutes les pages concernées via le client de test
Flask : barre de nav présente partout où un `game` est dans le contexte
(absente sur l'accueil), fil d'Ariane absent partout, ordre des liens
avec "Jouer" en dernier.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
from flask import render_template
|
|
|
|
import db
|
|
import screens
|
|
|
|
from core.flask_app import app
|
|
|
|
|
|
@app.route("/game/<slug>")
|
|
def game_dashboard(slug):
|
|
"""Vue d'ensemble du jeu : tout ce qui a été créé (écrans, objets,
|
|
éléments de jeu réutilisables, variables), en un coup d'œil, avec un
|
|
accès direct à chaque élément — la barre de navigation du jeu (voir
|
|
base.html) permet déjà de sauter directement vers chaque éditeur, cette
|
|
page sert donc de résumé/point d'entrée plutôt que de répéter les mêmes
|
|
liens."""
|
|
game = db.game_meta(slug)
|
|
definitions = db.list_definitions(slug)
|
|
screen_list = screens.list_screens(slug)
|
|
element_types = screens.list_element_types(slug)
|
|
element_type_usage = {t["id"]: screens.element_type_usage_count(slug, t["id"]) for t in element_types}
|
|
variables = db.list_global_variables(slug)
|
|
return render_template(
|
|
"game_dashboard.html", game=game, definitions=definitions,
|
|
screen_list=screen_list, element_types=element_types,
|
|
element_type_usage=element_type_usage, variables=variables,
|
|
)
|