Introduit la double categorie de modeles (boite de dialogue / page de quiz plein ecran) avec plein ecran, minuteur, score integre et ecran de resultat pour les modeles page ; ajoute les modeles "Manga" (boite et page) et "Classique" (page), pilotables aussi par l'assistant IA Ruby. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
24 lines
1.1 KiB
Python
24 lines
1.1 KiB
Python
from flask import request, jsonify
|
|
|
|
import screens
|
|
|
|
from core.flask_app import app
|
|
|
|
|
|
@app.route("/game/<slug>/scene-objects/<int:object_id>/quiz-config", methods=["POST"])
|
|
def scene_object_quiz_config(slug, object_id):
|
|
"""Réglages "❓ Boîte à quiz" (plein écran/minuteur/modèle, voir
|
|
screens/rendering/quiz_box_config.py) — mirror exact de
|
|
routes/scenes/scene_object_dialogue_box_style.py."""
|
|
body = request.get_json(silent=True) or {}
|
|
config = screens.set_scene_object_quiz_config(slug, object_id, body.get("config"))
|
|
if config is None:
|
|
return jsonify({"error": "objet introuvable"}), 404
|
|
# Un modèle change la STRUCTURE du balisage, pas juste une classe CSS
|
|
# (voir screens/rendering/quiz_box_templates.py) — renvoyer le HTML
|
|
# déjà rendu permet à scene-editor.js de remplacer l'aperçu en un
|
|
# coup, plutôt que de deviner quelle balise ajouter/retirer côté
|
|
# client.
|
|
obj = screens.get_scene_object(slug, object_id)
|
|
return jsonify({"config": config, "rendered_html": screens.render_scene_object(obj)})
|