### fix: 41 verbessere Lade- und Navigationslogik
- **OnlineNennungFormular:** `isLoading`-State präziser verwaltet und Erfolgsmeldungen erweitert. - **WebMainScreen:** Hashwechsel-Logik verbessert, Erfolgsscreen modularisiert. - **UI-Version:** auf `v2026-04-23.41 - UI NAVIGATION FIX` aktualisiert.
This commit is contained in:
+16
-5
@@ -50,12 +50,21 @@ fun MainAppContent() {
|
||||
LaunchedEffect(Unit) {
|
||||
val handleHashChange = {
|
||||
val hash = getWindowHash()
|
||||
currentScreen = when {
|
||||
println("Hash geändert: $hash")
|
||||
when {
|
||||
hash.startsWith("#/nennung/") -> {
|
||||
val tId = hash.substringAfter("#/nennung/").toLongOrNull() ?: 26128L
|
||||
WebScreen.Nennung(1, tId)
|
||||
currentScreen = WebScreen.Nennung(1, tId)
|
||||
}
|
||||
hash == "#/erfolg" -> {
|
||||
// Behalte den aktuellen Erfolgsscreen bei oder wechsle zu einem leeren
|
||||
if (currentScreen !is WebScreen.Erfolg) {
|
||||
currentScreen = WebScreen.Erfolg("")
|
||||
}
|
||||
}
|
||||
else -> {
|
||||
currentScreen = WebScreen.Landing
|
||||
}
|
||||
else -> WebScreen.Landing
|
||||
}
|
||||
}
|
||||
handleHashChange()
|
||||
@@ -69,7 +78,9 @@ fun MainAppContent() {
|
||||
is WebScreen.Nennung -> "/nennung/${screen.turnierId}"
|
||||
is WebScreen.Erfolg -> "/erfolg"
|
||||
}
|
||||
if (getWindowHash() != "#$targetHash") {
|
||||
val currentHash = getWindowHash()
|
||||
if (currentHash != "#$targetHash") {
|
||||
println("Setze neuen Hash: #$targetHash (aktuell: $currentHash)")
|
||||
setWindowHash("#$targetHash")
|
||||
}
|
||||
}
|
||||
@@ -130,7 +141,7 @@ fun MainAppContent() {
|
||||
// Dezentraler Versions-Marker in der unteren rechten Ecke
|
||||
Box(modifier = Modifier.fillMaxSize().padding(8.dp), contentAlignment = Alignment.BottomEnd) {
|
||||
Text(
|
||||
text = "v2026-04-23.40 - SMTP PORT FORCE",
|
||||
text = "v2026-04-23.41 - UI NAVIGATION FIX",
|
||||
style = MaterialTheme.typography.labelSmall,
|
||||
color = Color.LightGray.copy(alpha = 0.5f)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user