from pyscript import document, window

from broaduction import boot_page, t, wire_language_controls, wire_navigation_state, wire_router, wire_theme_controls
from framework import mark, measure


async def main():
    window.__broaductionPyScriptBoots = int(getattr(window, "__broaductionPyScriptBoots", 0) or 0) + 1
    mark("shell-visible")
    wire_language_controls()
    wire_theme_controls()
    wire_navigation_state()
    page = document.body.dataset.page
    root = document.querySelector("#py-root")
    if root:
        root.textContent = t("home.ready")
    mark("pyscript-ready")
    measure("pyscript-boot", "shell-visible", "pyscript-ready")
    wire_router(boot_page)
    await boot_page(page)


await main()
