chore: remove obsolete screens from meldestelle-desktop module
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Failing after 2m56s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Failing after 3m3s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 2m49s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 2m13s
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Failing after 2m56s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Failing after 3m3s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 2m49s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 2m13s
- Deleted unused screens including `AdminUebersichtScreen`, `AktorScreens`, `StammdatenImportScreen`, `TurnierDetailScreen`, and supporting components such as `PlaceholderContent`. - Cleaned up references and placeholders to streamline module structure. Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
@@ -61,6 +61,7 @@ kotlin {
|
||||
|
||||
jvmMain.dependencies {
|
||||
implementation(libs.ktor.client.cio)
|
||||
implementation(compose.uiTooling)
|
||||
}
|
||||
|
||||
jsMain.dependencies {
|
||||
|
||||
+2
-2
@@ -33,13 +33,13 @@ data class PingUiState(
|
||||
val logs: List<LogEntry> = emptyList()
|
||||
)
|
||||
|
||||
class PingViewModel(
|
||||
open class PingViewModel(
|
||||
private val apiClient: PingApi,
|
||||
private val syncService: PingSyncService
|
||||
) : ViewModel() {
|
||||
|
||||
var uiState by mutableStateOf(PingUiState())
|
||||
private set
|
||||
internal set
|
||||
|
||||
private fun addLog(source: String, message: String, isError: Boolean = false) {
|
||||
val now = Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault())
|
||||
|
||||
+109
@@ -0,0 +1,109 @@
|
||||
package at.mocode.ping.feature.presentation
|
||||
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import at.mocode.ping.api.EnhancedPingResponse
|
||||
import at.mocode.ping.api.HealthResponse
|
||||
import at.mocode.ping.api.PingApi
|
||||
import at.mocode.ping.api.PingEvent
|
||||
import at.mocode.ping.api.PingResponse
|
||||
import at.mocode.ping.feature.domain.PingSyncService
|
||||
|
||||
// ─────────────────────────────────────────────────────────────────────────────
|
||||
// Fake-Implementierungen für Preview (kein Koin, kein Netzwerk nötig)
|
||||
// ─────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
private val fakePingResponse = PingResponse(
|
||||
status = "OK", timestamp = "2026-03-26T12:00:00Z", service = "ping-service"
|
||||
)
|
||||
|
||||
private val fakeEnhancedResponse = EnhancedPingResponse(
|
||||
status = "OK", timestamp = "2026-03-26T12:00:00Z", service = "ping-service",
|
||||
circuitBreakerState = "CLOSED", responseTime = 42L
|
||||
)
|
||||
|
||||
private val fakeHealthResponse = HealthResponse(
|
||||
status = "UP", timestamp = "2026-03-26T12:00:00Z", service = "ping-service", healthy = true
|
||||
)
|
||||
|
||||
private object FakePingApi : PingApi {
|
||||
override suspend fun simplePing() = fakePingResponse
|
||||
override suspend fun enhancedPing(simulate: Boolean) = fakeEnhancedResponse
|
||||
override suspend fun healthCheck() = fakeHealthResponse
|
||||
override suspend fun publicPing() = fakePingResponse
|
||||
override suspend fun securePing() = fakePingResponse
|
||||
override suspend fun syncPings(since: Long): List<PingEvent> = emptyList()
|
||||
}
|
||||
|
||||
private object FakePingSyncService : PingSyncService {
|
||||
override suspend fun syncPings() { /* no-op */
|
||||
}
|
||||
}
|
||||
|
||||
// Subclass um uiState für Preview direkt setzen zu können
|
||||
private class PreviewPingViewModel(state: PingUiState) :
|
||||
PingViewModel(FakePingApi, FakePingSyncService) {
|
||||
init {
|
||||
uiState = state
|
||||
}
|
||||
}
|
||||
|
||||
// ─────────────────────────────────────────────────────────────────────────────
|
||||
// Previews
|
||||
// ─────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
@Preview
|
||||
@Composable
|
||||
fun PreviewPingScreen_Empty() {
|
||||
MaterialTheme {
|
||||
PingScreen(
|
||||
viewModel = PreviewPingViewModel(PingUiState()),
|
||||
onBack = {}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Preview
|
||||
@Composable
|
||||
fun PreviewPingScreen_WithData() {
|
||||
MaterialTheme {
|
||||
PingScreen(
|
||||
viewModel = PreviewPingViewModel(
|
||||
PingUiState(
|
||||
simplePingResponse = fakePingResponse,
|
||||
healthResponse = fakeHealthResponse,
|
||||
logs = listOf(
|
||||
LogEntry("12:00:01", "SimplePing", "Success: OK from ping-service"),
|
||||
LogEntry("12:00:00", "HealthCheck", "Status: UP, Healthy: true"),
|
||||
)
|
||||
)
|
||||
),
|
||||
onBack = {}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Preview
|
||||
@Composable
|
||||
fun PreviewPingScreen_Loading() {
|
||||
MaterialTheme {
|
||||
PingScreen(
|
||||
viewModel = PreviewPingViewModel(PingUiState(isLoading = true, isSyncing = true)),
|
||||
onBack = {}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Preview
|
||||
@Composable
|
||||
fun PreviewPingScreen_Error() {
|
||||
MaterialTheme {
|
||||
PingScreen(
|
||||
viewModel = PreviewPingViewModel(
|
||||
PingUiState(errorMessage = "Connection refused: Backend nicht erreichbar")
|
||||
),
|
||||
onBack = {}
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user