Integrate Nennungen and Masterdata features: expand ApiRoutes, add repositories and ViewModels for Nennungen and Masterdata. Update navigation and UI components to include Meisterschaften and Cups tabs.
This commit is contained in:
+29
@@ -33,6 +33,7 @@ import at.mocode.frontend.features.verein.presentation.VereinScreen
|
||||
import at.mocode.frontend.features.verein.presentation.VereinViewModel
|
||||
import at.mocode.ping.feature.presentation.PingScreen
|
||||
import at.mocode.ping.feature.presentation.PingViewModel
|
||||
import at.mocode.turnier.feature.presentation.SeriesScreen
|
||||
import at.mocode.turnier.feature.presentation.TurnierDetailScreen
|
||||
import at.mocode.veranstaltung.feature.presentation.AdminUebersichtScreen
|
||||
import at.mocode.veranstaltung.feature.presentation.VeranstaltungDetailScreen
|
||||
@@ -302,6 +303,24 @@ private fun DesktopTopBar(
|
||||
fontWeight = FontWeight.SemiBold,
|
||||
)
|
||||
}
|
||||
is AppScreen.Meisterschaften -> {
|
||||
BreadcrumbSeparator()
|
||||
Text(
|
||||
text = "Meisterschaften",
|
||||
color = TopBarTextColor,
|
||||
fontSize = 14.sp,
|
||||
fontWeight = FontWeight.SemiBold,
|
||||
)
|
||||
}
|
||||
is AppScreen.Cups -> {
|
||||
BreadcrumbSeparator()
|
||||
Text(
|
||||
text = "Cups",
|
||||
color = TopBarTextColor,
|
||||
fontSize = 14.sp,
|
||||
fontWeight = FontWeight.SemiBold,
|
||||
)
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
@@ -686,6 +705,14 @@ private fun DesktopContentArea(
|
||||
)
|
||||
}
|
||||
|
||||
is AppScreen.Meisterschaften -> {
|
||||
SeriesScreen(title = "Meisterschaften", onBack = onBack)
|
||||
}
|
||||
|
||||
is AppScreen.Cups -> {
|
||||
SeriesScreen(title = "Cups", onBack = onBack)
|
||||
}
|
||||
|
||||
is AppScreen.Nennung -> {
|
||||
val nennungViewModel: NennungViewModel = koinViewModel()
|
||||
NennungsMaske(
|
||||
@@ -698,6 +725,8 @@ private fun DesktopContentArea(
|
||||
else -> AdminUebersichtScreen(
|
||||
onVeranstalterAuswahl = { onNavigate(AppScreen.VeranstalterAuswahl) },
|
||||
onVeranstaltungOeffnen = { id -> onNavigate(AppScreen.VeranstaltungDetail(id)) },
|
||||
onMeisterschaftenOeffnen = { onNavigate(AppScreen.Meisterschaften) },
|
||||
onCupsOeffnen = { onNavigate(AppScreen.Cups) }
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
+34
-5
@@ -2,10 +2,9 @@ package at.mocode.desktop.screens.preview
|
||||
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.runtime.Composable
|
||||
import at.mocode.turnier.feature.domain.Bewerb
|
||||
import at.mocode.turnier.feature.domain.BewerbRepository
|
||||
import at.mocode.turnier.feature.domain.StartlistenRepository
|
||||
import at.mocode.turnier.feature.domain.*
|
||||
import at.mocode.turnier.feature.presentation.*
|
||||
import at.mocode.turnier.feature.data.remote.dto.NennungEinreichenRequest
|
||||
import at.mocode.zns.parser.ZnsBewerb
|
||||
import at.mocode.frontend.features.veranstalter.presentation.VeranstalterAuswahlScreen
|
||||
import at.mocode.frontend.features.veranstalter.presentation.VeranstalterDetailScreen
|
||||
@@ -108,8 +107,23 @@ fun PreviewTurnierStammdatenTab() {
|
||||
@ComponentPreview
|
||||
@Composable
|
||||
fun PreviewTurnierOrganisationTab() {
|
||||
val mockNennungRepo = object : NennungRepository {
|
||||
override suspend fun list(turnierId: Long): Result<List<Nennung>> = Result.success(emptyList())
|
||||
override suspend fun listByBewerb(bewerbId: Long): Result<List<Nennung>> = Result.success(emptyList())
|
||||
override suspend fun einreichen(request: NennungEinreichenRequest): Result<Nennung> = Result.failure(NotImplementedError())
|
||||
override suspend fun updateStatus(id: String, status: String): Result<Nennung> = Result.failure(NotImplementedError())
|
||||
override suspend fun delete(id: String): Result<Unit> = Result.success(Unit)
|
||||
}
|
||||
val mockMasterdataRepo = object : MasterdataRepository {
|
||||
override suspend fun searchReiter(query: String): Result<List<Reiter>> = Result.success(emptyList())
|
||||
override suspend fun searchPferde(query: String): Result<List<Pferd>> = Result.success(emptyList())
|
||||
override suspend fun searchFunktionaere(query: String): Result<List<Funktionaer>> = Result.success(emptyList())
|
||||
override suspend fun listVereine(): Result<List<Verein>> = Result.success(emptyList())
|
||||
override suspend fun getVereinById(id: String): Result<Verein> = Result.failure(NotImplementedError())
|
||||
}
|
||||
val vm = NennungViewModel(mockNennungRepo, mockMasterdataRepo, 1L)
|
||||
MaterialTheme {
|
||||
OrganisationTabContent()
|
||||
OrganisationTabContent(viewModel = vm)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,8 +175,23 @@ fun PreviewTurnierAbrechnungTab() {
|
||||
@ComponentPreview
|
||||
@Composable
|
||||
fun PreviewTurnierNennungenTab() {
|
||||
val mockNennungRepo = object : NennungRepository {
|
||||
override suspend fun list(turnierId: Long): Result<List<Nennung>> = Result.success(emptyList())
|
||||
override suspend fun listByBewerb(bewerbId: Long): Result<List<Nennung>> = Result.success(emptyList())
|
||||
override suspend fun einreichen(request: NennungEinreichenRequest): Result<Nennung> = Result.failure(NotImplementedError())
|
||||
override suspend fun updateStatus(id: String, status: String): Result<Nennung> = Result.failure(NotImplementedError())
|
||||
override suspend fun delete(id: String): Result<Unit> = Result.success(Unit)
|
||||
}
|
||||
val mockMasterdataRepo = object : MasterdataRepository {
|
||||
override suspend fun searchReiter(query: String): Result<List<Reiter>> = Result.success(emptyList())
|
||||
override suspend fun searchPferde(query: String): Result<List<Pferd>> = Result.success(emptyList())
|
||||
override suspend fun searchFunktionaere(query: String): Result<List<Funktionaer>> = Result.success(emptyList())
|
||||
override suspend fun listVereine(): Result<List<Verein>> = Result.success(emptyList())
|
||||
override suspend fun getVereinById(id: String): Result<Verein> = Result.failure(NotImplementedError())
|
||||
}
|
||||
val vm = NennungViewModel(mockNennungRepo, mockMasterdataRepo, 1L)
|
||||
MaterialTheme {
|
||||
NennungenTabContent()
|
||||
NennungenTabContent(viewModel = vm)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user