Add Reiter and Pferd edit dialogs, extend Masterdata repository with save and fetch methods, and integrate editors into Nennungen tab UI. Fix DI configuration and update previews.

This commit is contained in:
2026-04-12 15:56:06 +02:00
parent 4ca25b6417
commit f82d06f3e7
10 changed files with 280 additions and 2 deletions
@@ -44,6 +44,10 @@ fun DesktopApp() {
&& currentScreen !is AppScreen.VeranstalterDetail && currentScreen !is AppScreen.VeranstaltungKonfig
&& currentScreen !is AppScreen.VeranstaltungProfil && currentScreen !is AppScreen.TurnierDetail
&& currentScreen !is AppScreen.TurnierNeu
&& currentScreen !is AppScreen.ReiterVerwaltung
&& currentScreen !is AppScreen.PferdVerwaltung
&& currentScreen !is AppScreen.VereinVerwaltung
&& currentScreen !is AppScreen.StammdatenImport
) {
LaunchedEffect(Unit) {
// Standard: Start im Onboarding
@@ -17,6 +17,7 @@ import at.mocode.frontend.features.verein.di.vereinFeatureModule
import at.mocode.frontend.features.nennung.di.nennungFeatureModule
import at.mocode.frontend.features.pferde.di.pferdeModule
import at.mocode.frontend.features.reiter.di.reiterModule
import at.mocode.turnier.feature.di.turnierFeatureModule
import at.mocode.ping.feature.di.pingFeatureModule
import at.mocode.zns.feature.di.znsImportModule
import kotlinx.coroutines.runBlocking
@@ -41,6 +42,7 @@ fun main() = application {
pferdeModule,
reiterModule,
vereinFeatureModule,
turnierFeatureModule,
desktopModule,
)
}
@@ -117,6 +117,10 @@ fun PreviewTurnierOrganisationTab() {
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 getReiter(id: String): Result<Reiter> = Result.failure(NotImplementedError())
override suspend fun saveReiter(reiter: Reiter): Result<Reiter> = Result.success(reiter)
override suspend fun getPferd(id: String): Result<Pferd> = Result.failure(NotImplementedError())
override suspend fun savePferd(pferd: Pferd): Result<Pferd> = Result.success(pferd)
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())
@@ -185,6 +189,10 @@ fun PreviewTurnierNennungenTab() {
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 getReiter(id: String): Result<Reiter> = Result.failure(NotImplementedError())
override suspend fun saveReiter(reiter: Reiter): Result<Reiter> = Result.success(reiter)
override suspend fun getPferd(id: String): Result<Pferd> = Result.failure(NotImplementedError())
override suspend fun savePferd(pferd: Pferd): Result<Pferd> = Result.success(pferd)
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())