Add a new element in StatusBox.vue to show the application version. Update the refresh interval for status display from every 0.5 seconds to every 1 second for improved performance. Increment mobile app version to 0.8.0-alpha8 and version code to 9. Introduce new VersionScreen in the mobile app for displaying version information, and update navigation and mock data accordingly.
66 lines
2.4 KiB
Kotlin
66 lines
2.4 KiB
Kotlin
import java.util.Properties
|
|
|
|
plugins {
|
|
id("com.android.application")
|
|
id("org.jetbrains.kotlin.plugin.compose")
|
|
id("org.jetbrains.kotlin.plugin.serialization")
|
|
}
|
|
|
|
val localProps = rootProject.file("local.properties").takeIf { it.exists() }?.reader()?.use {
|
|
Properties().apply { load(it) }
|
|
}
|
|
|
|
val apiBaseUrl: String =
|
|
(project.findProperty("timeclock.api.baseUrl") as String?)
|
|
?: localProps?.getProperty("timeclock.api.baseUrl")
|
|
?: "https://stechuhr3.tsschulz.de/api"
|
|
|
|
android {
|
|
namespace = "de.tsschulz.timeclock"
|
|
compileSdk = 36
|
|
|
|
defaultConfig {
|
|
applicationId = "de.tsschulz.timeclock"
|
|
minSdk = 26
|
|
targetSdk = 36
|
|
versionCode = 9
|
|
versionName = "0.8.0-alpha8"
|
|
buildConfigField("String", "API_BASE_URL", "\"${apiBaseUrl.replace("\\", "\\\\").replace("\"", "\\\"")}\"")
|
|
}
|
|
|
|
buildFeatures {
|
|
compose = true
|
|
buildConfig = true
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation(platform("androidx.compose:compose-bom:2026.03.01"))
|
|
implementation("androidx.activity:activity-compose:1.13.0")
|
|
implementation("androidx.compose.foundation:foundation")
|
|
implementation("androidx.compose.material3:material3")
|
|
implementation("androidx.compose.material:material-icons-core")
|
|
implementation("androidx.compose.material:material-icons-extended")
|
|
implementation("androidx.compose.ui:ui")
|
|
implementation("androidx.compose.ui:ui-text")
|
|
implementation("androidx.compose.ui:ui-tooling-preview")
|
|
implementation("androidx.core:core-ktx:1.18.0")
|
|
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.10.0")
|
|
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.10.0")
|
|
implementation("androidx.lifecycle:lifecycle-runtime-compose:2.10.0")
|
|
implementation("androidx.security:security-crypto:1.1.0-alpha06")
|
|
implementation("com.squareup.okhttp3:okhttp:4.12.0")
|
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2")
|
|
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.0")
|
|
|
|
testImplementation("junit:junit:4.13.2")
|
|
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.10.2")
|
|
testImplementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.0")
|
|
|
|
debugImplementation("androidx.compose.ui:ui-tooling")
|
|
}
|