# app/__init__.py
from flask import Flask
from app.config import Config
from app.extensions import logger_init, db_init, ext_init          # ← новое

# blueprints & filters – как раньше
from app.blueprints.main.routes  import main_bp
from app.blueprints.auth.routes  import auth_bp
from app.blueprints.admin.routes import admin_bp
from app.blueprints.bank.routes  import bank_bp
from app.filters import datetime_local_format, split_filter

def create_app() -> Flask:
    app = Flask(__name__, template_folder="templates", static_folder="static")
    app.config.from_object(Config)

    # 1. логгер + база
    logger_init(app)
    db_init(app)

    # 2. security-extensions
    ext_init(app)                                            # ← тут всё сразу

    # 3. jinja-filters
    app.jinja_env.filters["datetime_local_format"] = datetime_local_format
    app.jinja_env.filters["split"] = split_filter

    # 4. blueprints
    app.register_blueprint(main_bp)
    app.register_blueprint(auth_bp,   url_prefix="/auth")
    app.register_blueprint(admin_bp,  url_prefix="/auth/admin")
    app.register_blueprint(bank_bp,   url_prefix="/1")

    return app
