from flask import Flask, send_from_directory, jsonify
from flask_cors import CORS
from pathlib import Path

def create_app():
    BASE_DIR = Path(__file__).resolve().parent
    STATIC_DIR = BASE_DIR / 'static'

    app = Flask(
        __name__,
        static_folder=str(STATIC_DIR),
        static_url_path='/static'
    )

    CORS(app)

    @app.route('/')
    def index():
        return send_from_directory(STATIC_DIR, 'index.html')

    @app.route('/<path:path>')
    def spa_fallback(path):
        if path.startswith('api/'):
            return jsonify({'error': 'Not found'}), 404
        return send_from_directory(STATIC_DIR, 'index.html')

    return app
