diff --git a/gui/main_gui.py b/gui/main_gui.py index dab3685..8c3674a 100644 --- a/gui/main_gui.py +++ b/gui/main_gui.py @@ -21,18 +21,18 @@ def setup_routes(): def home_page(): ui.dark_mode(True) - with ui.card().classes('w-full items-center mt-10'): - ui.label('Warhammer League').classes('text-2xl font-bold') + with ui.card().classes('w-full items-center mt-10'): # --- LOGIN BEREICH --- if app.storage.user.get('authenticated', False): discord_name = app.storage.user.get('discord_name') db_id = app.storage.user.get('db_id') ui.label(f'Welcome back, {discord_name}!').classes('text-green-500 font-bold') - ui.button('Enter Match', on_click=lambda: ui.navigate.to('/add-match')).classes('mt-4 bg-blue-500 text-white') + + def logout(): app.storage.user.clear() ui.navigate.to('/') @@ -40,24 +40,43 @@ def setup_routes(): ui.button('Logout', on_click=logout).classes('mt-4 bg-red-500 text-white') else: ui.button('Login with Discord', on_click=lambda: ui.navigate.to(discord_auth_url)) + + if app.storage.user.get('authenticated', False): + with ui.card().classes("w-full"): + # 1. Die Row muss wissen, dass sie die volle Breite nutzen darf (w-full) + # und wir geben ihr einen kleinen Abstand zwischen den Karten (gap-4) + with ui.row().classes("w-full h-30 gap-4 items-center"): + + with ui.card().classes("flex-1 h-full items-center"): + ui.label(text="40k") + + with ui.card().classes("flex-1 h-full items-center"): + ui.label(text="AoS") + + with ui.card().classes("flex-1 h-full items-center"): + ui.label(text="Spearhead") + + + # --- LEADERBOARD BEREICH --- - with ui.card().classes('w-full items-center mt-6'): - ui.label('Leaderboard').classes('text-xl font-bold mb-4') + if app.storage.user.get('authenticated', False): + with ui.card().classes('w-full items-center mt-6'): + ui.label('Leaderboard').classes('text-xl font-bold mb-4') - # 1. Spalten (Columns) für die Tabelle definieren - table_columns = [ - {'name': 'name', 'label': 'Player', 'field': 'name', 'align': 'left'}, - {'name': 'mmr', 'label': 'MMR', 'field': 'mmr', 'sortable': True}, - {'name': 'points', 'label': 'Points', 'field': 'points', 'sortable': True}, - {'name': 'games', 'label': 'Games Played', 'field': 'games', 'sortable': True}, - ] + # 1. Spalten (Columns) für die Tabelle definieren + table_columns = [ + {'name': 'name', 'label': 'Player', 'field': 'name', 'align': 'left'}, + {'name': 'mmr', 'label': 'MMR', 'field': 'mmr', 'sortable': True}, + {'name': 'points', 'label': 'Points', 'field': 'points', 'sortable': True}, + {'name': 'games', 'label': 'Games Played', 'field': 'games', 'sortable': True}, + ] - # 2. Daten (Rows) aus der Datenbank holen - player_data = database.get_all_players() + # 2. Daten (Rows) aus der Datenbank holen + player_data = database.get_all_players() - # 3. Tabelle zeichnen - ui.table(columns=table_columns, rows=player_data, row_key='name').classes('w-full max-w-4xl') + # 3. Tabelle zeichnen + ui.table(columns=table_columns, rows=player_data, row_key='name').classes('w-full max-w-4xl')