"""Avvio del frontend: carica le traduzioni e passa la mano alla pagina."""
from browser import bind, document, window

import d4a


def mount_chrome():
    """Pezzi presenti su tutte le pagine: lingua e uscita."""
    picker = document.get(selector="#langpicker")
    if picker:
        @bind(picker[0], "change")
        def _change_language(ev):
            lang = ev.target.value
            d4a.request(
                "POST", "/auth/language", {"language": lang},
                on_done=lambda *_: window.location.reload(),
            )

    logout = document.get(selector="#logout")
    if logout:
        @bind(logout[0], "click")
        def _logout(ev):
            ev.preventDefault()
            d4a.request("POST", "/auth/logout", {},
                        on_done=lambda *_: d4a.go("/"))


def start():
    mount_chrome()
    page = d4a.CFG.page

    if page in ("register", "login", "verify", "set_password"):
        import pages_auth
        pages_auth.render(page)
    elif page in ("admin", "admin_decide"):
        import pages_admin
        pages_admin.render(page)
    elif page == "profile":
        import pages_profile
        pages_profile.render()
    elif page == "studies":
        import pages_studies
        pages_studies.render()
    elif page == "study":
        import pages_study
        pages_study.render()
    elif page == "vote":
        import pages_vote
        pages_vote.render()
    elif page == "home":
        import pages_home
        pages_home.render()


d4a.load_strings(start)
