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>
19 lines
666 B
Python
19 lines
666 B
Python
from flask import request, redirect, url_for
|
|
|
|
import db
|
|
|
|
from core.flask_app import app
|
|
|
|
|
|
@app.route("/game/<slug>/variables/new", methods=["POST"])
|
|
def create_global_var(slug):
|
|
"""Depuis la page de gestion des variables (game_variables.html) —
|
|
idempotent par nom (voir db.create_global_variable), donc sans risque en
|
|
cas de double soumission."""
|
|
name = (request.form.get("name") or "").strip()
|
|
var_type = request.form.get("type") or "texte"
|
|
default_value = request.form.get("default_value") or ""
|
|
if name:
|
|
db.create_global_variable(slug, name, var_type, default_value)
|
|
return redirect(url_for("game_variables", slug=slug))
|