import os
import sys
import time
import threading
import webbrowser

# Make backend importable
ROOT = os.path.dirname(os.path.abspath(__file__))
BACKEND = os.path.join(ROOT, "backend")

sys.path.insert(0, BACKEND)
os.chdir(BACKEND)


def open_browser():
    # Wait for FastAPI startup
    time.sleep(3)

    # Opens login.html via root route
    webbrowser.open_new("http://localhost:8001")


if __name__ == "__main__":
    import uvicorn

    print("""
╔═══════════════════════════════════════════════════╗
║     GOLS – Hire2Exit · AI Avatar Video System    ║
╠═══════════════════════════════════════════════════╣
║  App      → http://localhost:8001                ║
║  API Docs → http://localhost:8001/api/docs       ║
║  Login    → admin / xxxxxx                     ║
╚═══════════════════════════════════════════════════╝
""")

    # Open browser automatically
    threading.Thread(
        target=open_browser,
        daemon=True
    ).start()

    uvicorn.run(
        "main:app",
        host="0.0.0.0",
        port=8001,
        reload=True,
        log_level="info"
    )
