refactor(ui): replace Divider with HorizontalDivider in NennungsMaske for consistent styling and updated imports
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
parent
439551951b
commit
c1655147bb
|
|
@ -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 = [
|
||||
|
|
|
|||
|
|
@ -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<VerkaufArtikel>, 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<VerkaufArtikel>, 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)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user