- Introduced `verein-feature` module for managing Vereine, including list, detail, and editor views using `MsMasterDetailLayout`. - Added new domain models (`Verein`, `VereinStatus`) and integrated mock data for development. - Registered the new feature in `settings.gradle.kts` and `DesktopMainLayout.kt`, including breadcrumb navigation and entry point. - Updated `VeranstaltungenUebersichtV2` to add Vereine as a quick-access KPI tile. - Removed unnecessary logout functionality and adjusted the root navigation for consistency. Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
92 lines
3.0 KiB
Plaintext
92 lines
3.0 KiB
Plaintext
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
|
||
|
||
/**
|
||
* Shell-Modul: Meldestelle Desktop App
|
||
* Reines JVM/Compose-Desktop-Modul – Desktop-First gemäß MASTER_ROADMAP.
|
||
* Setzt alle Core- und Feature-Module zu einer lauffähigen Desktop-Anwendung zusammen.
|
||
*/
|
||
plugins {
|
||
alias(libs.plugins.kotlinMultiplatform)
|
||
alias(libs.plugins.composeCompiler)
|
||
alias(libs.plugins.composeMultiplatform)
|
||
alias(libs.plugins.kotlinSerialization)
|
||
id("org.jetbrains.compose.hot-reload")
|
||
}
|
||
|
||
kotlin {
|
||
jvm()
|
||
|
||
sourceSets {
|
||
jvmMain.dependencies {
|
||
// Core-Module
|
||
implementation(projects.frontend.core.domain)
|
||
implementation(projects.frontend.core.designSystem)
|
||
implementation(projects.frontend.core.navigation)
|
||
implementation(projects.frontend.core.network)
|
||
implementation(projects.frontend.core.sync)
|
||
implementation(projects.frontend.core.localDb)
|
||
implementation(projects.frontend.core.auth)
|
||
|
||
// Feature-Module
|
||
implementation(projects.frontend.features.nennungFeature)
|
||
implementation(projects.frontend.features.pingFeature)
|
||
implementation(projects.frontend.features.znsImportFeature)
|
||
implementation(projects.frontend.features.veranstalterFeature)
|
||
implementation(projects.frontend.features.veranstaltungFeature)
|
||
implementation(projects.frontend.features.turnierFeature)
|
||
implementation(project(":frontend:features:profile-feature"))
|
||
implementation(project(":frontend:features:reiter-feature"))
|
||
implementation(project(":frontend:features:pferde-feature"))
|
||
implementation(project(":frontend:features:billing-feature"))
|
||
implementation(project(":frontend:features:verein-feature"))
|
||
|
||
// Compose Desktop
|
||
implementation(compose.desktop.currentOs)
|
||
implementation(compose.runtime)
|
||
implementation(compose.foundation)
|
||
implementation(compose.material3)
|
||
implementation(compose.ui)
|
||
implementation(compose.materialIconsExtended)
|
||
implementation(compose.uiTooling)
|
||
implementation(libs.composeHotReloadApi)
|
||
|
||
// DI (Koin)
|
||
implementation(libs.koin.core)
|
||
implementation(libs.koin.compose)
|
||
implementation(libs.koin.compose.viewmodel)
|
||
|
||
// Coroutines
|
||
implementation(libs.kotlinx.coroutines.swing)
|
||
|
||
// Bundles
|
||
implementation(libs.bundles.kmp.common)
|
||
implementation(libs.bundles.compose.common)
|
||
}
|
||
|
||
jvmTest.dependencies {
|
||
implementation(libs.kotlin.test)
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
compose.desktop {
|
||
application {
|
||
mainClass = "at.mocode.desktop.MainKt"
|
||
nativeDistributions {
|
||
targetFormats(TargetFormat.Deb, TargetFormat.Msi, TargetFormat.Dmg)
|
||
packageName = "Meldestelle"
|
||
packageVersion = "1.0.0"
|
||
description = "ÖTO-konforme Turnier-Meldestelle – Desktop App"
|
||
vendor = "mo-code.at"
|
||
linux {
|
||
iconFile.set(project.file("src/jvmMain/resources/icon.png"))
|
||
}
|
||
windows {
|
||
menuGroup = "Meldestelle"
|
||
upgradeUuid = "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
|
||
}
|
||
}
|
||
}
|
||
}
|