diff --git a/llm_team_ui.py b/llm_team_ui.py index 5e258f6..a93f5c2 100644 --- a/llm_team_ui.py +++ b/llm_team_ui.py @@ -461,7 +461,7 @@ def demo_toggle(): if not session.get("user_id") or not is_admin(): return jsonify({"error": "admin only"}), 403 data = request.json if request.is_json else {} - mode = data.get("mode", "toggle") # toggle, showcase, off + mode = data.get("mode", "toggle") # demo, showcase, off if mode == "off": _demo_mode["active"] = False _demo_mode["showcase"] = False @@ -470,10 +470,20 @@ def demo_toggle(): _demo_mode["active"] = True _demo_mode["showcase"] = True _demo_mode["started_by"] = session.get("username") + elif mode == "demo": + _demo_mode["active"] = True + _demo_mode["showcase"] = False + _demo_mode["started_by"] = session.get("username") else: - _demo_mode["active"] = not _demo_mode["active"] - _demo_mode["showcase"] = _demo_mode["active"] - _demo_mode["started_by"] = session.get("username") if _demo_mode["active"] else None + # plain toggle: cycle off → demo → off + if _demo_mode["active"]: + _demo_mode["active"] = False + _demo_mode["showcase"] = False + _demo_mode["started_by"] = None + else: + _demo_mode["active"] = True + _demo_mode["showcase"] = False + _demo_mode["started_by"] = session.get("username") return jsonify({"active": _demo_mode["active"], "showcase": _demo_mode["showcase"]}) @@ -3000,13 +3010,15 @@ ADMIN_HTML = r"""
Showcase mode gives visitors full read-only access to everything — Admin, Monitor, Logs, Threat Intel, Lab, History. They can run teams, view enrichments, and trigger self-analysis reports. They cannot change settings, ban IPs, delete data, or modify configs. Perfect for demos.
+Demo — public can use Team UI and run modes. No admin access.
+Showcase — full read-only access to everything: Admin, Monitor, Logs, Threat Intel, Lab, History. Cannot change settings or delete data.