fixing clients

new frontend
This commit is contained in:
stefan
2025-09-25 21:12:15 +02:00
parent 0cc25cb108
commit 3aa4e3c412
12 changed files with 1032 additions and 63 deletions
+37 -3
View File
@@ -1,3 +1,11 @@
@file:OptIn(ExperimentalKotlinGradlePluginApi::class)
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
/**
* Dieses Modul ist der "Host". Es kennt alle Features und die Shared-Module und
* setzt sie zu einer lauffähigen Anwendung zusammen.
*/
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.composeMultiplatform)
@@ -8,9 +16,20 @@ group = "at.mocode.clients"
version = "1.0.0"
kotlin {
jvm()
js {
browser()
jvm {
binaries {
executable {
mainClass.set("MainKt")
}
}
}
js(IR) {
browser {
testTask {
enabled = false
}
}
binaries.executable()
}
jvmToolchain(21)
@@ -35,6 +54,12 @@ kotlin {
implementation(libs.androidx.lifecycle.viewmodelCompose)
}
}
val jvmMain by getting {
dependencies {
implementation(compose.desktop.currentOs)
implementation(libs.kotlinx.coroutines.swing)
}
}
val commonTest by getting {
dependencies {
implementation(libs.kotlin.test)
@@ -42,3 +67,12 @@ kotlin {
}
}
}
// Configure duplicate handling strategy for distribution tasks
tasks.withType<Tar> {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
tasks.withType<Zip> {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
@@ -0,0 +1,18 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
html, body {
height: 100%;
margin: 0;
padding: 0;
overflow: hidden; /* Verhindert Scrollbalken durch die Canvas */
}
</style>
</head>
<body>
<script src="Meldestelle-clients-app.js"></script>
</body>
</html>
+10 -1
View File
@@ -1,3 +1,8 @@
/**
* Dieses Modul kapselt die gesamte UI und Logik für das Ping-Feature.
* Es kennt seine eigenen technischen Abhängigkeiten (Ktor, Coroutines)
* und den UI-Baukasten (common-ui), aber es kennt keine anderen Features.
*/
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.composeMultiplatform)
@@ -11,7 +16,11 @@ version = "1.0.0"
kotlin {
jvm()
js {
browser()
browser {
testTask {
enabled = false
}
}
}
jvmToolchain(21)
+9 -1
View File
@@ -1,3 +1,7 @@
/**
* Dieses Modul stellt "dumme", wiederverwendbare UI-Komponenten und das Theme bereit.
* Es darf keine Ahnung von irgendeiner Fachlichkeit haben.
*/
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.composeMultiplatform)
@@ -10,7 +14,11 @@ version = "1.0.0"
kotlin {
jvm()
js {
browser()
browser {
testTask {
enabled = false
}
}
}
jvmToolchain(21)
@@ -1,9 +1,9 @@
package at.mocode.clients.shared.commonui.components
import androidx.compose.foundation.layout.*
import androidx.compose.material3.*
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
@OptIn(ExperimentalMaterial3Api::class)
@Composable
@@ -1,3 +1,7 @@
/**
* Dieses Modul definiert nur die Navigationsrouten.
* Es ist noch simpler.
*/
plugins {
alias(libs.plugins.kotlinMultiplatform)
}