chore: refaktoriere Veranstaltungs-UI zu Events, implementiere ZNS-Suche und verbessere Navigationslogik
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
This commit is contained in:
+25
-25
@@ -19,7 +19,7 @@ sealed class AppScreen(val route: String) {
|
||||
data object EntryManagement : AppScreen("/nennung")
|
||||
|
||||
// --- Desktop-Navigation (Vision_03) ---
|
||||
data object VeranstaltungVerwaltung : AppScreen("/verwaltung") // Gesamtübersicht
|
||||
data object EventVerwaltung : AppScreen("/event/verwaltung") // Gesamtübersicht
|
||||
|
||||
// Profile
|
||||
data object PferdVerwaltung : AppScreen("/pferde/verwaltung")
|
||||
@@ -45,20 +45,20 @@ sealed class AppScreen(val route: String) {
|
||||
data class VeranstalterDetail(val veranstalterId: Long) : AppScreen("/veranstalter/$veranstalterId")
|
||||
|
||||
// Neue Veranstaltungs-Konfig-Seite (aus Veranstalter-Detail oder direkt aus Cockpit)
|
||||
data class VeranstaltungKonfig(val veranstalterId: Long = 0) :
|
||||
AppScreen("/veranstalter/$veranstalterId/veranstaltung/neu")
|
||||
data class EventKonfig(val veranstalterId: Long = 0) :
|
||||
AppScreen("/veranstalter/$veranstalterId/event/neu")
|
||||
|
||||
data class VeranstaltungProfil(val veranstalterId: Long, val veranstaltungId: Long) :
|
||||
AppScreen("/veranstalter/$veranstalterId/veranstaltung/$veranstaltungId")
|
||||
data class EventProfil(val veranstalterId: Long, val veranstaltungId: Long) :
|
||||
AppScreen("/veranstalter/$veranstalterId/event/$veranstaltungId")
|
||||
|
||||
data class VeranstaltungDetail(val id: Long) : AppScreen("/veranstaltung/$id")
|
||||
data object VeranstaltungNeu : AppScreen("/veranstaltung/neu")
|
||||
data class EventDetail(val id: Long) : AppScreen("/event/$id")
|
||||
data object EventNeu : AppScreen("/event/neu")
|
||||
data class TurnierDetail(val veranstaltungId: Long, val turnierId: Long) :
|
||||
AppScreen("/veranstaltung/$veranstaltungId/turnier/$turnierId")
|
||||
AppScreen("/event/$veranstaltungId/turnier/$turnierId")
|
||||
|
||||
data class TurnierNeu(val veranstaltungId: Long) : AppScreen("/veranstaltung/$veranstaltungId/turnier/neu")
|
||||
data class TurnierNeu(val veranstaltungId: Long) : AppScreen("/event/$veranstaltungId/turnier/neu")
|
||||
data class Billing(val veranstaltungId: Long, val turnierId: Long) :
|
||||
AppScreen("/veranstaltung/$veranstaltungId/turnier/$turnierId/billing")
|
||||
AppScreen("/event/$veranstaltungId/turnier/$turnierId/billing")
|
||||
|
||||
data object Reiter : AppScreen("/reiter")
|
||||
data object Pferde : AppScreen("/pferde")
|
||||
@@ -69,13 +69,13 @@ sealed class AppScreen(val route: String) {
|
||||
data object NennungsEingang : AppScreen("/nennungs-eingang")
|
||||
|
||||
companion object {
|
||||
private val VERANSTALTUNG_DETAIL = Regex("/veranstaltung/(\\d+)$")
|
||||
private val TURNIER_DETAIL = Regex("/veranstaltung/(\\d+)/turnier/(\\d+)$")
|
||||
private val TURNIER_NEU = Regex("/veranstaltung/(\\d+)/turnier/neu$")
|
||||
private val BILLING = Regex("/veranstaltung/(\\d+)/turnier/(\\d+)/billing$")
|
||||
private val EVENT_DETAIL = Regex("/event/(\\d+)$")
|
||||
private val TURNIER_DETAIL = Regex("/event/(\\d+)/turnier/(\\d+)$")
|
||||
private val TURNIER_NEU = Regex("/event/(\\d+)/turnier/neu$")
|
||||
private val BILLING = Regex("/event/(\\d+)/turnier/(\\d+)/billing$")
|
||||
private val VERANSTALTER_DETAIL = Regex("/veranstalter/(\\d+)$")
|
||||
private val VERANSTALTUNG_KONFIG = Regex("/veranstalter/(\\d+)/veranstaltung/neu$")
|
||||
private val VERANSTALTUNG_PROFIL = Regex("/veranstalter/(\\d+)/veranstaltung/(\\d+)$")
|
||||
private val EVENT_KONFIG = Regex("/veranstalter/(\\d+)/event/neu$")
|
||||
private val EVENT_PROFIL = Regex("/veranstalter/(\\d+)/event/(\\d+)$")
|
||||
|
||||
private val PFERD_PROFIL = Regex("/pferde/profil/(\\d+)$")
|
||||
private val REITER_PROFIL = Regex("/reiter/profil/(\\d+)$")
|
||||
@@ -98,14 +98,14 @@ sealed class AppScreen(val route: String) {
|
||||
"/organizer/profile" -> OrganizerProfile
|
||||
"/auth/callback" -> AuthCallback
|
||||
"/nennung" -> EntryManagement
|
||||
"/verwaltung" -> VeranstaltungVerwaltung
|
||||
"/event/verwaltung" -> EventVerwaltung
|
||||
"/pferde/verwaltung" -> PferdVerwaltung
|
||||
"/reiter/verwaltung" -> ReiterVerwaltung
|
||||
"/vereine/verwaltung" -> VereinVerwaltung
|
||||
"/funktionaere/verwaltung" -> FunktionaerVerwaltung
|
||||
"/veranstalter/verwaltung" -> VeranstalterVerwaltung
|
||||
"/veranstalter/auswahl" -> VeranstalterAuswahl
|
||||
"/veranstaltung/neu" -> VeranstaltungNeu
|
||||
"/event/neu" -> EventNeu
|
||||
"/meisterschaften" -> Meisterschaften
|
||||
"/cups" -> Cups
|
||||
"/stammdaten/import" -> StammdatenImport
|
||||
@@ -120,7 +120,7 @@ sealed class AppScreen(val route: String) {
|
||||
FUNKTIONAER_PROFIL.matchEntire(route)?.destructured?.let { (id) -> return FunktionaerProfil(id.toLong()) }
|
||||
VERANSTALTER_PROFIL.matchEntire(route)?.destructured?.let { (id) -> return VeranstalterProfil(id.toLong()) }
|
||||
/*
|
||||
VERANSTALTUNG_PROFIL.matchEntire(route)?.destructured?.let { (id) -> return VeranstaltungProfil(id.toLong()) }
|
||||
EVENT_PROFIL.matchEntire(route)?.destructured?.let { (id) -> return EventProfil(id.toLong()) }
|
||||
*/
|
||||
|
||||
TURNIER_DETAIL.matchEntire(route)?.destructured?.let { (vId, tId) ->
|
||||
@@ -129,17 +129,17 @@ sealed class AppScreen(val route: String) {
|
||||
TURNIER_NEU.matchEntire(route)?.destructured?.let { (vId) ->
|
||||
return TurnierNeu(vId.toLong())
|
||||
}
|
||||
VERANSTALTUNG_DETAIL.matchEntire(route)?.destructured?.let { (id) ->
|
||||
return VeranstaltungDetail(id.toLong())
|
||||
EVENT_DETAIL.matchEntire(route)?.destructured?.let { (id) ->
|
||||
return EventDetail(id.toLong())
|
||||
}
|
||||
VERANSTALTER_DETAIL.matchEntire(route)?.destructured?.let { (vId) ->
|
||||
return VeranstalterDetail(vId.toLong())
|
||||
}
|
||||
VERANSTALTUNG_KONFIG.matchEntire(route)?.destructured?.let { (vId) ->
|
||||
return VeranstaltungKonfig(vId.toLong())
|
||||
EVENT_KONFIG.matchEntire(route)?.destructured?.let { (vId) ->
|
||||
return EventKonfig(vId.toLong())
|
||||
}
|
||||
VERANSTALTUNG_PROFIL.matchEntire(route)?.destructured?.let { (verId, vId) ->
|
||||
return VeranstaltungProfil(verId.toLong(), vId.toLong())
|
||||
EVENT_PROFIL.matchEntire(route)?.destructured?.let { (verId, vId) ->
|
||||
return EventProfil(verId.toLong(), vId.toLong())
|
||||
}
|
||||
PortalDashboard // Default fallback
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user