from flask import Flask, render_template
from flask_restful import Api
from flask_cors import CORS

from app.api.index import add_api_resources
from app.glob import get_config, get_manager

frontend_dir = '../frontend/dist'


def create_app() -> Flask:
    app = Flask(__name__, static_url_path='/', static_folder=frontend_dir, template_folder=frontend_dir)
    api = Api(app, '/api/v1/')
    add_api_resources(api)
    cors = CORS(app, resources={r"/api/*": {"origins": "*"}})

    index_content: str = ""

    @app.route('/')
    def index():
        return index_content

    with app.app_context():
        get_config()
        get_manager()
        index_content = render_template("index.html")

    return app