Files
Forge-Engine/templates/index.html
T
williamandClaude Sonnet 5 9157b16038 Refonte design system — Phase C : en-tête de page (accueil, tableau de bord)
- index.html ("Mes jeux") : le <h1> nu est remplacé par l'en-tête de page
  compact du §5 (.dashPanelHeader, déjà utilisé ailleurs pour ce
  patron) — titre + badge du nombre de jeux (.forge-badge) sur une seule
  ligne. Pas de second CTA : le formulaire de création reste dans sa
  colonne dédiée, un bouton de plus ferait doublon.
- game_dashboard.html : ajout du même en-tête, absent jusqu'ici (la page
  démarrait directement sur la barre d'onglets) — nom du jeu + chemin du
  dossier, pour savoir sur quel jeu on se trouve sans avoir à regarder
  l'URL.
- styles/forge-custom.scss : .content-objectEdit > h1/.hint/form/
  .warningBanner (règle qui fige la hauteur des enfants directs non
  extensibles dans la mise en page flex de l'accueil) étendue à
  .dashPanelHeader, qui remplace maintenant le <h1> direct.
- profile.html : déjà conforme (rayons de boîte/bouton, danger tokenisé)
  depuis le passage global des tokens en Phase A — aucun changement
  supplémentaire nécessaire.

197 tests toujours verts ; vérification ciblée (fixture jetable, supprimée
ensuite) confirmant l'en-tête et le JS du tableau de bord.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-29 08:08:55 +02:00

52 lines
2.1 KiB
HTML

{% extends "base.html" %}
{% block title %}Forge Engine — Mes jeux{% endblock %}
{% block content_class %}content-wide content-objectEdit{% endblock %}
{% block body_class %}objectEditBody{% endblock %}
{% block content %}
<div class="dashPanelHeader">
<h2 class="title is-4 mb-0">Mes jeux</h2>
<span class="forge-badge">{{ games|length }} jeu{{ 's' if games|length != 1 else '' }}</span>
</div>
<div class="twoCol">
<div class="colLeft">
<h2>Créer un jeu</h2>
<form method="post" action="{{ url_for('games_new') }}" class="card">
<div class="formField">
<label for="name">Nom du nouveau jeu</label>
<input type="text" id="name" name="name" placeholder="ex. CyberQuest RGPD" required>
</div>
<div class="actionsRow"><button type="submit" class="primary">+ Créer le jeu</button></div>
<p class="hint" style="margin-top:6px;">Crée un dossier avec index.html / index.css / index.js reliés entre eux, et une base de données dédiée à ce jeu.</p>
</form>
</div>
<div class="colRight">
<h2>Jeux existants</h2>
{% if games %}
<div class="fieldsTableWrap">
<table class="table is-fullwidth is-hoverable fieldsTable">
<thead><tr><th>Nom</th><th>Dossier</th><th></th></tr></thead>
<tbody>
{% for g in games %}
<tr>
<td><a href="{{ url_for('game_dashboard', slug=g.slug) }}">{{ g.name }}</a></td>
<td class="has-text-grey">projects/{{ g.slug }}/</td>
<td class="fieldsTableActions">
<form method="post" action="{{ url_for('game_delete', slug=g.slug) }}"
onsubmit="return confirm('Supprimer définitivement le jeu « {{ g.name }} » et tout son contenu (dossier + base de données) ?');">
<button type="submit" class="button is-small is-danger" title="Supprimer ce jeu">🗑️</button>
</form>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% else %}
<p class="hint">Aucun jeu pour l'instant — crée le premier à gauche.</p>
{% endif %}
</div>
</div>
{% endblock %}