Files
Forge-Engine/templates/game_dashboard.html
T
williamandClaude Sonnet 5 11a2d397e8 Remplace la création inline de variable par une page de gestion dédiée, redesign du tableau de bord du jeu
Retrait de la création rapide de variable globale depuis le sélecteur de
la Condition de visibilité (bouton "+ Créer") : une variable globale est
désormais gérée comme un objet "jeu" à part entière, avec une vraie page
CRUD ("Variables", nouvelle entrée du menu de gauche) - création, édition
du type/valeur, suppression. Le nom reste volontairement immuable après
création (c'est par ce nom qu'une condition de visibilité ou une action
"Modifier une variable" la référence - la renommer casserait ces réglages
en silence), d'où db.update_global_variable qui ne touche que type/valeur.

Redesign du tableau de bord du jeu (game_dashboard.html) en deux
colonnes : à gauche tout ce qu'on peut créer (écrans, éléments de jeu,
variables, jouer, nouvel objet) plus les paramètres du jeu (renommer/
supprimer) ; à droite ce qui a déjà été créé (objets définis). Remplace
les cartes Bulma par le système de mise en page compact déjà défini dans
style.css (.twoCol/.listRow/.dangerZone/.addBtn) mais jamais utilisé
jusqu'ici - plus dense et cohérent avec le reste de l'éditeur.

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

70 lines
3.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{% extends "base.html" %}
{% block title %}{{ game.name }} — Forge Engine{% endblock %}
{% block content_class %}content-wide{% endblock %}
{% block breadcrumb %}<li class="is-active"><a>{{ game.name }}</a></li>{% endblock %}
{% block content %}
<h1 class="title">{{ game.name }}</h1>
<p class="hint mb-4">Base de données : projects/{{ game.slug }}/game.db</p>
<div class="twoCol">
<div class="colLeft">
<h2>Créer</h2>
<div class="list">
<a href="{{ url_for('screens_list', slug=game.slug) }}" class="listRow">
<div class="rowTitle">🖥️ Écrans du jeu</div>
<div class="rowSub">Créer et enchaîner les écrans jouables (accueil, formulaires, scènes...)</div>
</a>
<a href="{{ url_for('element_types', slug=game.slug) }}" class="listRow">
<div class="rowTitle">🧩 Éléments de jeu</div>
<div class="rowSub">Catalogue réutilisable (Personnage, Outil, IA...)</div>
</a>
<a href="{{ url_for('game_variables', slug=game.slug) }}" class="listRow">
<div class="rowTitle">🔧 Variables</div>
<div class="rowSub">Valeurs globales au jeu entier (ex. porte ouverte, niveau débloqué...)</div>
</a>
<a href="{{ url_for('game_play', slug=game.slug) }}" target="_blank" class="listRow">
<div class="rowTitle">▶️ Jouer</div>
<div class="rowSub">Aperçu jouable du jeu</div>
</a>
</div>
<a href="{{ url_for('object_new', slug=game.slug) }}" class="addBtn">➕ Définir un nouvel objet</a>
<div class="dangerZone">
<h3>Paramètres du jeu</h3>
<form method="post" action="{{ url_for('game_rename', slug=game.slug) }}">
<label for="rename">Renommer le jeu</label>
<div class="fieldRow">
<input type="text" id="rename" name="game_name" value="{{ game.name }}" required autocomplete="off">
<button type="submit">Renommer</button>
</div>
</form>
<form method="post" action="{{ url_for('game_delete', slug=game.slug) }}" class="actionsRow"
onsubmit="return confirm('Supprimer définitivement le jeu « {{ game.name }} », son dossier et sa base de données ? Cette action est irréversible.');">
<button type="submit" class="danger">🗑️ Supprimer ce jeu</button>
</form>
</div>
</div>
<div class="colRight">
<h2>Objets définis</h2>
{% if definitions %}
<div class="list">
{% for d in definitions %}
<div class="listRow listRowFlex">
<a href="{{ url_for('object_view', slug=game.slug, definition_id=d.id) }}" class="rowLink">
<div class="rowTitle">{{ d.name }}</div>
<div class="rowSub">table SQL : {{ d.table_name }}</div>
</a>
<div class="rowActions">
<a class="button is-small" href="{{ url_for('object_edit', slug=game.slug, definition_id=d.id) }}" title="Modifier cet objet">✏️</a>
</div>
</div>
{% endfor %}
</div>
{% else %}
<p class="hint">Aucun objet défini pour l'instant — un objet, c'est comme une table de base de données : un nom, et des champs typés.</p>
{% endif %}
</div>
</div>
{% endblock %}