Retire le fil d'Ariane, centre/réordonne la barre de nav, refait le dashboard
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>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
de89115534
commit
8f45169209
+11
-17
@@ -15,30 +15,24 @@
|
||||
</div>
|
||||
</nav>
|
||||
{% if game is defined and game %}
|
||||
<!-- Barre toujours visible entre les différents éditeurs d'UN MÊME jeu (voir
|
||||
"Créer" sur game_dashboard.html, dont elle reprend exactement les
|
||||
liens) — sans elle, changer d'éditeur (écrans, éléments de jeu,
|
||||
variables, objets) obligeait à repasser par le tableau de bord du jeu à
|
||||
chaque fois. N'apparaît que si la route a mis un `game` dans le
|
||||
contexte du template (toutes les pages d'un jeu le font déjà, pour la
|
||||
miette de pain) — absente sur l'accueil (liste des jeux), où il n'y a
|
||||
pas de jeu courant. -->
|
||||
<!-- Barre toujours visible entre les différents éditeurs d'UN MÊME jeu —
|
||||
sans elle, changer d'éditeur (écrans, éléments de jeu, variables,
|
||||
objets) obligeait à repasser par le tableau de bord du jeu à chaque
|
||||
fois. Remplace le fil d'Ariane (retiré, devenu redondant avec elle) :
|
||||
N'apparaît que si la route a mis un `game` dans le contexte du
|
||||
template (déjà fait par toutes les pages d'un jeu) — absente sur
|
||||
l'accueil (liste des jeux), où il n'y a pas de jeu courant. "Jouer"
|
||||
est délibérément le DERNIER lien (les autres sont des éditeurs, celui-
|
||||
ci ouvre l'aperçu jouable dans un nouvel onglet — une action à part,
|
||||
pas un éditeur de plus). -->
|
||||
<nav class="gameNavBar" aria-label="Navigation du jeu">
|
||||
<a href="{{ url_for('screens_list', slug=game.slug) }}" class="gameNavLink {{ 'active' if request.path.startswith('/game/' ~ game.slug ~ '/screens') else '' }}" title="Créer et enchaîner les écrans jouables">🖥️ Écrans du jeu</a>
|
||||
<a href="{{ url_for('element_types', slug=game.slug) }}" class="gameNavLink {{ 'active' if request.path.startswith('/game/' ~ game.slug ~ '/element-types') else '' }}" title="Catalogue réutilisable (Personnage, Outil, IA...)">🧩 Éléments de jeu</a>
|
||||
<a href="{{ url_for('game_variables', slug=game.slug) }}" class="gameNavLink {{ 'active' if request.path.startswith('/game/' ~ game.slug ~ '/variables') else '' }}" title="Valeurs globales au jeu entier">🔧 Variables</a>
|
||||
<a href="{{ url_for('game_play', slug=game.slug) }}" target="_blank" class="gameNavLink" title="Aperçu jouable du jeu">▶️ Jouer</a>
|
||||
<a href="{{ url_for('object_new', slug=game.slug) }}" class="gameNavLink {{ 'active' if request.path.startswith('/game/' ~ game.slug ~ '/objects') else '' }}" title="Comme une table de base de données : un nom, et des champs typés">🗂️ Objet</a>
|
||||
<a href="{{ url_for('game_play', slug=game.slug) }}" target="_blank" class="gameNavLink" title="Aperçu jouable du jeu">▶️ Jouer</a>
|
||||
</nav>
|
||||
{% endif %}
|
||||
{% block breadcrumb_wrap %}
|
||||
<nav class="breadcrumb breadcrumbBar" aria-label="breadcrumbs">
|
||||
<ul>
|
||||
<li><a href="{{ url_for('index') }}">🛠️ Mes jeux</a></li>
|
||||
{% block breadcrumb %}{% endblock %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% endblock %}
|
||||
<main class="content {% block content_class %}{% endblock %}">
|
||||
{% block content %}{% endblock %}
|
||||
</main>
|
||||
|
||||
Reference in New Issue
Block a user