from flask import Flask from flask_sqlalchemy import SQLAlchemy from flask_login import LoginManager from flask_admin import Admin from config.config import config db = SQLAlchemy() login_manager = LoginManager() admin = Admin() def create_app(config_name="default"): app = Flask(__name__) app.config.from_object(config[config_name]) db.init_app(app) login_manager.init_app(app) admin.init_app(app) login_manager.login_view = "auth.login" login_manager.login_message = "Veuillez vous connecter pour accéder à cette page." from app.routes import auth, main, admin_routes, payments, admin_tasks, cron app.register_blueprint(auth.bp) app.register_blueprint(main.bp) app.register_blueprint(admin_routes.bp) app.register_blueprint(payments.bp) app.register_blueprint(admin_tasks.bp) app.register_blueprint(cron.bp) # Global context processor for app settings @app.context_processor def inject_app_settings(): from app.models import AppSettings try: return { "app_name": AppSettings.get_app_name(), "app_logo": AppSettings.get_app_logo(), } except Exception: return { "app_name": "Apex Ores", "app_logo": None, } return app