Halbes Admin Panel. Login.

This commit is contained in:
Daniel Nagel 2026-01-27 15:17:53 +00:00
parent 2c0ce2b016
commit 7a4fe740a5
3 changed files with 68 additions and 46 deletions

Binary file not shown.

View File

@ -24,6 +24,7 @@ def build_ui():
# 'overflow-hidden' verhindert, dass das ganze Fenster scrollt -> wir wollen nur die Tabelle scrollen.
with ui.row().classes("w-full flex-1 p-4 gap-4 no-wrap overflow-hidden"):
with ui.column():
# --- Linke Karte: Eingabemaske ---
# 'overflow-y-auto': Falls das Formular zu lang für kleine Bildschirme wird, bekommt nur diese Karte einen Scrollbalken.
with ui.card().classes('overflow-y-auto'):
@ -70,6 +71,7 @@ def build_ui():
input_type.value = "Einsatz" # Achtung: Value sollte zum Toggle passen (String, nicht 0)
input_device.value = None # Select resetten
ui.notify("Gelöscht.")
ui.notify(admin_login.value)
ui.separator()
ui.space() # Drückt die Buttons nach unten (innerhalb der Formular-Karte)
@ -78,6 +80,26 @@ def build_ui():
ui.space()
ui.button(text="Eintragen", on_click=InputDataToTable)
admin_container = ui.column().classes("w-full")
with ui.card().classes("w-full"):
admin_login = ui.input(placeholder="Admin Passwort", password=True).props("clearable")
admin_loginbutton = ui.button(text="Login")
def check_login():
print("geändert")
admin_container.clear()
print ("CHEEEECK!")
if admin_login.value == "1234":
with admin_container:
ui.separator()
admin_loginbutton.on_click(check_login)
# --- Rechte Karte: Tabelle ---
# 'flex-1': Diese Karte nimmt die restliche Breite der Reihe ein.
# 'h-full': Diese Karte nutzt die volle Höhe des mittleren Bereichs.
@ -87,8 +109,8 @@ def build_ui():
{'name': 'name', 'label': 'Name', 'field': 'name', 'sortable': True, 'align': 'left'},
{'name': 'location', 'label': 'Ort', 'field': 'location', 'align': 'left'},
{'name': 'time', 'label': 'Dauer', 'field': 'time'},
{'name': 'etype', 'label': 'Art', 'field': 'etype'},
{'name': 'device', 'label': 'Gerät', 'field': 'device'},
{'name': 'etype', 'label': 'Art', 'field': 'etype', "sortable": True},
{'name': 'device', 'label': 'Gerät', 'field': 'device', "sortable": True},
]
# Die Tabelle selbst bekommt auch h-full, damit sie die Karte ausfüllt
einsaetze_table = ui.table(