# DollarSign Bot GUI – Flask/Jinja2 Edition (v4) Below are the **three key files** you can drop straight into your existing Flask project. They comply with your CSP, design‑system, and routing standards. --- ## 1. `app.py` – add the route ```python from flask import Blueprint, render_template, jsonify, request from flask_login import login_required, current_user from models import db, BotPreset, UserBotSlot # adjust imports to your structure bots_bp = Blueprint("bots", __name__, url_prefix="/bots") @bots_bp.route("/gui") @login_required def bot_gui(): # Pull preset bots from DB (or hard‑code for now) presets = BotPreset.query.order_by(BotPreset.risk.asc()).all() # User’s current slot assignments slots = UserBotSlot.query.filter_by(user_id=current_user.id).all() return render_template( "bot_gui.html", presets=presets, slots=slots, ) @bots_bp.route("/add-bot", methods=["POST"]) @login_required def add_bot(): bot_id = request.form.get("bot_id") # Simplified: put into first empty slot slot = UserBotSlot.add_to_first_empty(current_user.id, bot_id) db.session.commit() return jsonify({"success": True, "slot": slot.to_dict()}) ``` Add `bots_bp` to your main `create_app` factory: ```python app.register_blueprint(bots_bp) ``` --- ## 2. `templates/bot_gui.html` ```jinja {% extends 'base.html' %} {% block content %}
{{ bot.description }}