from flask import Flask
from .config import Config
from .db import db
from flask_mail import Mail
from app.routes.plak_routes import plak_bp, treatment_bp


mail = Mail()  # initialize Mail globally

def create_app():
    app = Flask(__name__)
    app.config.from_object(Config)

    # Initialize extensions with the app
    db.init_app(app)
    mail.init_app(app)

    with app.app_context():
        from .models import User, City, Notification  # make sure models are registered
        db.create_all()

        # 🔁 Import routes here to avoid circular import
        from .routes.user_routes import user_bp
        app.register_blueprint(user_bp, url_prefix='/users')
        app.register_blueprint(plak_bp, url_prefix='/')
        app.register_blueprint(treatment_bp)
        

    return app
