Match Formular angepasst.

This commit is contained in:
Daniel Nagel 2026-03-18 21:48:06 +01:00
parent 7c5f1d1e33
commit a262088e00
2 changed files with 14 additions and 33 deletions

View File

@ -3,22 +3,15 @@
"Um einer Liga beizutreten einfach auf **BEITRETEN** drücken und bestätigen.",
"Um deine Statistik in einer Liga zu sehen, klick auf eine Liga."
],
"mmr_info": [
"**MMR Punkte** sind die Liga Punkte um die gespielt wird.",
"Verliert man ein Spiel, verliert man Punkte. Und umgekehrt."
],
"match_form_info": [
"Um ein Spiel einzutragen gibt einfach deine Punkte ein. Wähle deinen Gegner aus. Und gibt seine Punkte ein.",
"**ACHTUNG:** Ein Spieler ist nur als Gegner auswählbar wenn er sich in der Liga angemeldet hat!"
"**ACHTUNG:** Ein Spieler ist nur als Gegner auswählbar wenn er sich in der Liga angemeldet hat!",
"Solltest du einen Fehler machen kannst du das 'falsche' Match auf der Hauptseite noch löschen bevor es bestätigt wurde."
],
"tyrann_info":[
],
"prügelknabe_info":[
]
"tyrann_info": [],
"prügelknabe_info": []
}

View File

@ -2,6 +2,7 @@ from nicegui import ui, app
from gui import gui_style
from data import data_api
from match_calculations import calc_match
from gui.info_text import info_system
def setup_routes():
@ -21,37 +22,31 @@ def setup_routes():
# Text-Center hinzugefügt, falls der Systemname sehr lang ist und auf dem Handy umbricht
ui.label(f'Neues Spiel für {systemname} eintragen').classes('text-2xl font-bold text-center mb-6')
ui.label("Meine Punkte:").classes('text-xl font-bold w-full text-left')
# ÄNDERUNG: h-60 entfernt, stattdessen gap-6 (Abstand zwischen den Elementen)
with ui.column().classes("w-full items-center gap-6"):
# 1. Daten aus der DB holen
raw_players = data_api.get_all_players_from_system(systemname)
my_id = app.storage.user.get('db_id')
# 3. Eine saubere Optionen-Liste für NiceGUI bauen
dropdown_options = {}
for p in raw_players:
if p['player_id'] == my_id:
continue
dropdown_options[p['player_id']] = f"{p['display_name']} 'aka' {p['discord_name']}"
# ÄNDERUNG: .classes('w-full') hinzugefügt, damit der Slider sich anpasst
p1_points = ui.slider(min=0, max=100, value=10).props("label-always").classes('w-full')
with ui.row().classes("w-full items-center justify-between"):
p1_points = ui.slider(min=0, max=100, value=10).classes("w-70")
ui.label().bind_text_from(p1_points, 'value').classes("text-lg text-normaltext")
ui.separator().classes('w-full mt-4') # Ein schöner Trennstrich für die Optik
# 5. Dropdown und Gegner Punkte
ui.label("Gegner:").classes('text-xl font-bold w-full text-left')
# ÄNDERUNG: w-64 durch w-full ersetzt
opponent_select = ui.select(options=dropdown_options, label='Gegner auswählen').classes('w-full')
# ÄNDERUNG: .classes('w-full') hinzugefügt
p2_points = ui.slider(min=0, max=100, value=10).props("label-always").classes('w-full')
with ui.row().classes("w-full items-center justify-between"):
p2_points = ui.slider(min=0, max=100, value=10).classes("w-70")
ui.label().bind_text_from(p2_points, 'value').classes("text-lg text-normaltext")
ui.space()
@ -71,15 +66,8 @@ def setup_routes():
ui.notify("Match erfolgreich eingetragen!", color="green")
ui.navigate.to(f'/statistic/{systemname}')
with ui.dialog().classes("w-full items-center") as form_info, ui.card():
ui.label('Um ein Spiel einzutragen einfach deine erspielten Punkte, deinen Gegner und die Punkte von deinem Gegner eintragen').classes("font-bold text-white text-l")
ui.label('ACHTUNG: Damit ein Spieler als Gegner ausgewählt werden kann, muss er der Liga beigetreten sein!').classes("font-bold text-white text-l")
ui.label('Nach dem Absenden muss dein Gegner in seiner Liga App das Spiel noch kurz bestätigen. Solltest du einen Fehler gemacht haben, kannst du das Spiel (bevor es bestätigt wurde) auf der Hauptseite selber löschen.').classes("font-bold text-white text-l")
ui.button(icon="close", on_click=form_info.close).classes("w-10 h-8 rounded-full")
# Buttons ganz unten in einer Reihe
with ui.row().classes("w-full items-center justify-between mt-8"):
ui.button(icon="close", on_click=lambda: ui.navigate.to(f'/statistic/{systemname}')).classes("w-10 h-8 rounded-full")
ui.button(icon="help", color="information" ,on_click=form_info.open).classes("w-10 h-8 rounded-full")
info_system.create_info_button("match_form_info")
ui.button(text="Absenden", color="positive", on_click=lambda: input_match_to_database())