diff --git a/docs/06_Frontend/FIGMA/src/app/components/PferdReiterEingabe.tsx b/docs/06_Frontend/FIGMA/src/app/components/PferdReiterEingabe.tsx index 42488218..10e24f35 100644 --- a/docs/06_Frontend/FIGMA/src/app/components/PferdReiterEingabe.tsx +++ b/docs/06_Frontend/FIGMA/src/app/components/PferdReiterEingabe.tsx @@ -1,4 +1,4 @@ -import {useState, useEffect, useRef} from 'react'; +import {useEffect, useRef, useState} from 'react'; import Box from '@mui/material/Box'; import TextField from '@mui/material/TextField'; import Button from '@mui/material/Button'; @@ -9,7 +9,6 @@ import ListItem from '@mui/material/ListItem'; import ListItemButton from '@mui/material/ListItemButton'; import ListItemText from '@mui/material/ListItemText'; import Chip from '@mui/material/Chip'; -import Badge from '@mui/material/Badge'; // Mock-Daten für Pferde const mockPferde = [ diff --git a/frontend/features/nennung-feature/src/commonMain/kotlin/at/mocode/nennung/feature/presentation/NennungsMaske.kt b/frontend/features/nennung-feature/src/commonMain/kotlin/at/mocode/nennung/feature/presentation/NennungsMaske.kt index d3edc458..84d1456e 100644 --- a/frontend/features/nennung-feature/src/commonMain/kotlin/at/mocode/nennung/feature/presentation/NennungsMaske.kt +++ b/frontend/features/nennung-feature/src/commonMain/kotlin/at/mocode/nennung/feature/presentation/NennungsMaske.kt @@ -4,9 +4,9 @@ import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyColumn -import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.filled.List import androidx.compose.material.icons.filled.* import androidx.compose.material3.* import androidx.compose.runtime.* @@ -84,7 +84,11 @@ fun NennungsMaske( ) } - Divider(modifier = Modifier.fillMaxHeight().width(1.dp)) + HorizontalDivider( + modifier = Modifier.fillMaxHeight().width(1.dp), + thickness = DividerDefaults.Thickness, + color = DividerDefaults.color + ) // Rechte Hälfte: Verkauf/Buchungen (40%) Column( @@ -100,7 +104,7 @@ fun NennungsMaske( } } - Divider() + HorizontalDivider(Modifier, DividerDefaults.Thickness, DividerDefaults.color) // --- Zeile 2: Aktions-Buttons (fix) --- AktionsButtonLeiste( @@ -110,7 +114,7 @@ fun NennungsMaske( onAbrechnungOeffnen = onAbrechnungOeffnen, ) - Divider() + HorizontalDivider(Modifier, DividerDefaults.Thickness, DividerDefaults.color) // --- Zeile 3: Nennungstabelle + Bewerbsliste (50% Höhe) --- Row( @@ -132,7 +136,11 @@ fun NennungsMaske( ) } - Divider(modifier = Modifier.fillMaxHeight().width(1.dp)) + HorizontalDivider( + modifier = Modifier.fillMaxHeight().width(1.dp), + thickness = DividerDefaults.Thickness, + color = DividerDefaults.color + ) // Rechts: Bewerbsliste (40%) Column( @@ -206,7 +214,11 @@ private fun PferdReiterEingabe( } } - Divider(modifier = Modifier.fillMaxHeight().width(1.dp)) + HorizontalDivider( + modifier = Modifier.fillMaxHeight().width(1.dp), + thickness = DividerDefaults.Thickness, + color = DividerDefaults.color + ) // --- Reiter --- Column(modifier = Modifier.weight(1f)) { @@ -308,7 +320,9 @@ private fun SuchfeldMitVorschlaegen( .clickable { onVorschlagSelected(idx) } .padding(horizontal = 8.dp, vertical = 4.dp), ) - if (idx < vorschlaege.lastIndex) Divider() + if (idx < vorschlaege.lastIndex) { + HorizontalDivider(Modifier, DividerDefaults.Thickness, DividerDefaults.color) + } } } } @@ -377,7 +391,7 @@ private fun AktionsButtonLeiste( Spacer(modifier = Modifier.weight(1f)) - SmallActionButton("Startliste", Icons.Default.List, "F7", onStartlisteOeffnen) + SmallActionButton("Startliste", Icons.AutoMirrored.Filled.List, "F7", onStartlisteOeffnen) SmallActionButton("Ergebnisse", Icons.Default.EmojiEvents, "F8", onErgebnisseOeffnen) SmallActionButton("Abrechnung", Icons.Default.Receipt, "F9", onAbrechnungOeffnen) } @@ -453,7 +467,7 @@ private fun NennungenTabelle( } } - Divider() + HorizontalDivider(Modifier, DividerDefaults.Thickness, DividerDefaults.color) // Tabellen-Header TabellenHeader( @@ -461,7 +475,7 @@ private fun NennungenTabelle( listOf(30f, 25f, 45f, 1f, 70f, 80f) ) - Divider() + HorizontalDivider(Modifier, DividerDefaults.Thickness, DividerDefaults.color) // Tabellen-Inhalt if (nennungen.isEmpty()) { @@ -510,7 +524,7 @@ private fun NennungenTabelle( overflow = TextOverflow.Ellipsis ) } - Divider(thickness = 0.5.dp) + HorizontalDivider(Modifier, thickness = 0.5.dp, color = DividerDefaults.color) } } } @@ -563,7 +577,7 @@ private fun BewerbslistePanel( Text("${bewerbe.size} Bewerbe", fontSize = 10.sp, fontWeight = FontWeight.SemiBold) } - Divider() + HorizontalDivider(Modifier, DividerDefaults.Thickness, DividerDefaults.color) // Tabellen-Header TabellenHeader( @@ -571,15 +585,15 @@ private fun BewerbslistePanel( listOf(28f, 22f, 45f, 45f, 35f, 1f) ) - Divider() + HorizontalDivider(Modifier, DividerDefaults.Thickness, DividerDefaults.color) // Tabellen-Inhalt LazyColumn(modifier = Modifier.fillMaxSize()) { itemsIndexed(bewerbe) { idx, bewerb -> val bereitsGenannt = canNennen && nennungen.any { it.bewerbNr == bewerb.nr && - it.pferdName == selectedPferd?.name && - it.reiterName == selectedReiter?.vollname + it.pferdName == selectedPferd.name && + it.reiterName == selectedReiter.vollname } val bgColor = when { bereitsGenannt -> Color(0xFFBBDEFB) // Blau = bereits gemeldet @@ -624,7 +638,7 @@ private fun BewerbslistePanel( overflow = TextOverflow.Ellipsis ) } - Divider(thickness = 0.5.dp) + HorizontalDivider(Modifier, thickness = 0.5.dp, color = DividerDefaults.color) } } @@ -716,12 +730,12 @@ private fun VerkaufTabInhalt(artikel: List, onMengeChanged: (Ver Text("Speichern", fontSize = 10.sp) } } - Divider() + HorizontalDivider(Modifier, DividerDefaults.Thickness, DividerDefaults.color) TabellenHeader( listOf("KNr", "+", "Menge", "–", "Buchungstext", "Betrag", "Gebucht"), listOf(30f, 20f, 45f, 20f, 1f, 55f, 55f) ) - Divider() + HorizontalDivider(Modifier, DividerDefaults.Thickness, DividerDefaults.color) LazyColumn(modifier = Modifier.fillMaxSize()) { itemsIndexed(artikel) { idx, art -> val bgColor = when { @@ -751,7 +765,7 @@ private fun VerkaufTabInhalt(artikel: List, onMengeChanged: (Ver Text("%.2f".format(art.betrag), fontSize = 10.sp, modifier = Modifier.width(55.dp)) Text("%.2f".format(art.gebucht), fontSize = 10.sp, modifier = Modifier.width(55.dp)) } - Divider(thickness = 0.5.dp) + HorizontalDivider(Modifier, thickness = 0.5.dp, color = DividerDefaults.color) } } } @@ -779,9 +793,9 @@ private fun BuchungenTabInhalt() { Text("Stornieren", fontSize = 10.sp, color = MaterialTheme.colorScheme.error) } } - Divider() + HorizontalDivider(Modifier, DividerDefaults.Thickness, DividerDefaults.color) TabellenHeader(listOf("Kopfnr", "Menge", "Buchungstext", "Soll", "Haben"), listOf(55f, 45f, 1f, 55f, 55f)) - Divider() + HorizontalDivider(Modifier, DividerDefaults.Thickness, DividerDefaults.color) Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) { Text("Keine Buchungen vorhanden", fontSize = 11.sp, color = MaterialTheme.colorScheme.onSurfaceVariant) } diff --git a/frontend/shells/meldestelle-portal/src/commonMain/kotlin/MainApp.kt b/frontend/shells/meldestelle-portal/src/commonMain/kotlin/MainApp.kt index efb07b1d..e02ebfab 100644 --- a/frontend/shells/meldestelle-portal/src/commonMain/kotlin/MainApp.kt +++ b/frontend/shells/meldestelle-portal/src/commonMain/kotlin/MainApp.kt @@ -1,6 +1,8 @@ import androidx.compose.foundation.layout.* import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.material3.* import androidx.compose.runtime.* import androidx.compose.ui.Alignment @@ -9,8 +11,6 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.automirrored.filled.ArrowBack import at.mocode.frontend.core.auth.data.AuthTokenManager import at.mocode.frontend.core.auth.presentation.LoginScreen import at.mocode.frontend.core.auth.presentation.LoginViewModel @@ -1316,7 +1316,7 @@ private fun OrganizerProfileScreen( onValueChange = { vereinsname = it }, label = { Text("Vereinsname / Veranstalter") }, singleLine = true, - modifier = androidx.compose.ui.Modifier.fillMaxWidth() + modifier = Modifier.fillMaxWidth() ) OutlinedTextField( value = vereinskuerzel,