diff --git a/clients/app/src/commonMain/kotlin/at/mocode/clients/app/App.kt b/clients/app/src/commonMain/kotlin/at/mocode/clients/app/App.kt index 88c1ea3c..3c54e537 100644 --- a/clients/app/src/commonMain/kotlin/at/mocode/clients/app/App.kt +++ b/clients/app/src/commonMain/kotlin/at/mocode/clients/app/App.kt @@ -24,18 +24,20 @@ fun App() { title = "Meldestelle", onNavigateToPing = { currentScreen = AppScreen.Ping } ) - } - ) { paddingValues -> - Box(modifier = Modifier.padding(paddingValues)) { - when (currentScreen) { - is AppScreen.Home -> { - LandingScreen() - } - is AppScreen.Ping -> { - PingScreen(viewModel = pingViewModel) + }, + { paddingValues -> + Box(modifier = Modifier.padding(paddingValues)) { + when (currentScreen) { + is AppScreen.Home -> { + LandingScreen() + } + + is AppScreen.Ping -> { + PingScreen(viewModel = pingViewModel) + } } } } - } + ) } } diff --git a/clients/app/src/commonMain/kotlin/at/mocode/clients/app/LandingScreen.kt b/clients/app/src/commonMain/kotlin/at/mocode/clients/app/LandingScreen.kt index 1ce7e69d..489eb691 100644 --- a/clients/app/src/commonMain/kotlin/at/mocode/clients/app/LandingScreen.kt +++ b/clients/app/src/commonMain/kotlin/at/mocode/clients/app/LandingScreen.kt @@ -13,10 +13,10 @@ import androidx.compose.ui.unit.dp fun LandingScreen() { Column( modifier = Modifier - .fillMaxSize() + .fillMaxWidth() .padding(32.dp), horizontalAlignment = Alignment.CenterHorizontally, - verticalArrangement = Arrangement.Center + verticalArrangement = Arrangement.Top ) { Text( text = "Willkommen bei Meldestelle", diff --git a/clients/app/src/jsMain/resources/index.html b/clients/app/src/jsMain/resources/index.html index ba790e85..2015977d 100644 --- a/clients/app/src/jsMain/resources/index.html +++ b/clients/app/src/jsMain/resources/index.html @@ -15,7 +15,6 @@ if ('serviceWorker' in navigator) { const isLocalhost = ['localhost', '127.0.0.1', '::1'].includes(location.hostname); if (isLocalhost) { - // Unregister any existing service workers to avoid dev reload loops navigator.serviceWorker.getRegistrations().then(regs => { for (const reg of regs) reg.unregister(); }).catch(console.error); diff --git a/clients/app/src/jsMain/resources/styles.css b/clients/app/src/jsMain/resources/styles.css index 2844ba2d..bebe4e80 100644 --- a/clients/app/src/jsMain/resources/styles.css +++ b/clients/app/src/jsMain/resources/styles.css @@ -1,6 +1,12 @@ html, body { - height: 100%; + height: 100vh; margin: 0; padding: 0; overflow: hidden; /* Verhindert Scrollbalken durch die Canvas */ } + +#ComposeTarget { + height: 100vh; + display: flex; + flex-direction: column; +} diff --git a/clients/shared/common-ui/src/commonMain/kotlin/at/mocode/clients/shared/commonui/components/AppFooter.kt b/clients/shared/common-ui/src/commonMain/kotlin/at/mocode/clients/shared/commonui/components/AppFooter.kt index 62d1275e..913bcd96 100644 --- a/clients/shared/common-ui/src/commonMain/kotlin/at/mocode/clients/shared/commonui/components/AppFooter.kt +++ b/clients/shared/common-ui/src/commonMain/kotlin/at/mocode/clients/shared/commonui/components/AppFooter.kt @@ -20,7 +20,7 @@ fun AppFooter() { contentAlignment = Alignment.Center ) { Text( - text = "© 2024 Meldestelle - Built with Kotlin Multiplatform", + text = "© 2025 Meldestelle - Built with Kotlin Multiplatform", style = MaterialTheme.typography.bodySmall, color = MaterialTheme.colorScheme.onSurfaceVariant, textAlign = TextAlign.Center diff --git a/clients/shared/common-ui/src/commonMain/kotlin/at/mocode/clients/shared/commonui/components/AppScaffold.kt b/clients/shared/common-ui/src/commonMain/kotlin/at/mocode/clients/shared/commonui/components/AppScaffold.kt index 435f4440..aed1a6c7 100644 --- a/clients/shared/common-ui/src/commonMain/kotlin/at/mocode/clients/shared/commonui/components/AppScaffold.kt +++ b/clients/shared/common-ui/src/commonMain/kotlin/at/mocode/clients/shared/commonui/components/AppScaffold.kt @@ -14,20 +14,16 @@ fun AppScaffold( header: @Composable () -> Unit = { AppHeader(title = "Meldestelle") }, + content: @Composable (PaddingValues) -> Unit, footer: @Composable () -> Unit = { AppFooter() }, - content: @Composable (PaddingValues) -> Unit ) { - Column(modifier = Modifier.fillMaxSize()) { - Scaffold( - topBar = header, - modifier = Modifier.weight(1f) - ) { - paddingValues -> - content(paddingValues) - } - footer() + Scaffold( + topBar = header, + bottomBar = footer, + modifier = Modifier.fillMaxSize() + ) { paddingValues -> + content(paddingValues) } - }