from nicegui import ui, app from data import database, data_api from gui import gui_style from wood import logger from gui import main_gui def setup_routes(): @ui.page('/admin', dark=True) def admin_page(): gui_style.apply_design() with ui.header().classes('items-center justify-between bg-zinc-900 p-4 shadow-lg'): ui.button("Zurück", on_click= lambda: ui.navigate.to("/") ) if app.storage.user.get('authenticated', False): with ui.row().classes("w-full"): ui.button(text= "test", on_click=lambda: data_api.create_random_dummy_match(2)) ui.button(icon="refresh", on_click= lambda: ui.navigate.to("/admin") ) with ui.card().classes("w-full"): ui.label("System Audit Log").classes('text-2xl font-bold text-white mb-4') # Daten abrufen log_data = logger.get_full_log() # Tabelle aufbauen columns = [ {'name': 'time', 'label': 'Time', 'field': 'timestamp', 'align': 'left', 'sortable': True}, {'name': 'file', 'label': 'Datei', 'field': 'file', 'align': 'left'}, {'name': 'source', 'label': 'Quelle', 'field': 'source', 'align': 'left'}, {'name': 'details', 'label': 'Details', 'field': 'details', 'align': 'left'} ] if len(log_data) > 0: # Millisekunden vom Zeitstempel abschneiden [:19] for row in log_data: row['timestamp'] = str(row['timestamp'])[:19] ui.table(columns=columns, rows=log_data, row_key='id').classes('w-full bg-zinc-900 text-gray-300') else: ui.label("Das Logbuch ist leer.").classes('text-gray-500 italic')