This repository has been archived on 2026-04-27. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files

46 lines
1.3 KiB
Python

from nicegui import ui, app
import config
import globals
from users.utils import generate_token
from web.misc import check_user
async def page():
ui.page_title("Watch With Friends")
await ui.context.client.connected()
if not await check_user():
await handle_login()
ui.navigate.to("/contents")
async def handle_login():
async def try_create_user():
login = login_input.value.strip()
password = password_input.value.strip()
if password != config.PASSWORD:
ui.notify("Incorrect password!", type="negative", position="top")
return
new_user = await globals.USERS_DATABASE.create_user(login)
token = generate_token(new_user)
if token:
app.storage.user["token"] = token
dialog.close()
else:
ui.notify("Something went wrong!", type="negative", position="top")
with ui.dialog().props("persistent") as dialog, ui.card():
ui.label("Login")
with ui.column():
login_input = ui.input("Username").classes("w-full")
password_input = ui.input("Password", password=True, password_toggle_button=True).classes("w-full")
ui.button("Login", on_click=try_create_user).classes("w-full")
await dialog