Add App version in the admin screen.

This commit is contained in:
Andres Gomez, Thomas (ITDV RL) 2025-04-10 11:42:15 +02:00
parent 193b0d85d5
commit 05cc533cbf
4 changed files with 31 additions and 4 deletions

View file

@ -1,3 +1,4 @@
import com.codingfeline.buildkonfig.compiler.FieldSpec.Type.STRING
import org.jetbrains.compose.desktop.application.dsl.TargetFormat import org.jetbrains.compose.desktop.application.dsl.TargetFormat
plugins { plugins {
@ -5,8 +6,11 @@ plugins {
alias(libs.plugins.composeMultiplatform) alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.kotlinSerialization) alias(libs.plugins.kotlinSerialization)
alias(libs.plugins.buildkonfig)
} }
fun getVersion() = "1.3.0"
kotlin { kotlin {
jvm("desktop") jvm("desktop")
@ -59,6 +63,14 @@ kotlin {
} }
} }
buildkonfig {
packageName = "com.pixelized.desktop.lwa"
defaultConfigs {
buildConfigField(STRING, "version", getVersion())
}
}
// https://github.com/JetBrains/compose-multiplatform/blob/master/tutorials/Native_distributions_and_local_execution/README.md#basic-usage // https://github.com/JetBrains/compose-multiplatform/blob/master/tutorials/Native_distributions_and_local_execution/README.md#basic-usage
compose.desktop { compose.desktop {
application { application {
@ -68,7 +80,7 @@ compose.desktop {
targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb) targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
packageName = "Table de Lwa" packageName = "Table de Lwa"
packageVersion = "1.3.0" packageVersion = getVersion()
description = "Application de support au jeux de rôle dans l'univers de Lwa." description = "Application de support au jeux de rôle dans l'univers de Lwa."
copyright = "© 2020 Pixelized. All rights reserved." copyright = "© 2020 Pixelized. All rights reserved."
vendor = "Pixelized" vendor = "Pixelized"

View file

@ -231,6 +231,7 @@
<string name="level_up__skill_level">niv : %1$d -</string> <string name="level_up__skill_level">niv : %1$d -</string>
<string name="game_master__title">Admin</string> <string name="game_master__title">Admin</string>
<string name="game_master__version">version : %1$s</string>
<string name="game_master__action">GameMaster</string> <string name="game_master__action">GameMaster</string>
<string name="game_master__action__save">Sauvegarder</string> <string name="game_master__action__save">Sauvegarder</string>
<string name="game_master__character__filter">Filtrer par nom :</string> <string name="game_master__character__filter">Filtrer par nom :</string>

View file

@ -27,6 +27,7 @@ import androidx.compose.ui.unit.dp
import androidx.navigation.NavHostController import androidx.navigation.NavHostController
import androidx.navigation.compose.NavHost import androidx.navigation.compose.NavHost
import androidx.navigation.compose.rememberNavController import androidx.navigation.compose.rememberNavController
import com.pixelized.desktop.lwa.BuildKonfig
import com.pixelized.desktop.lwa.ui.navigation.screen.destination.gamemaster.GMActionDestination import com.pixelized.desktop.lwa.ui.navigation.screen.destination.gamemaster.GMActionDestination
import com.pixelized.desktop.lwa.ui.navigation.screen.destination.gamemaster.composableGameMasterActionPage import com.pixelized.desktop.lwa.ui.navigation.screen.destination.gamemaster.composableGameMasterActionPage
import com.pixelized.desktop.lwa.ui.navigation.screen.destination.gamemaster.composableGameMasterAlterationEditPage import com.pixelized.desktop.lwa.ui.navigation.screen.destination.gamemaster.composableGameMasterAlterationEditPage
@ -44,6 +45,7 @@ import com.pixelized.desktop.lwa.ui.theme.lwa
import lwacharactersheet.composeapp.generated.resources.Res import lwacharactersheet.composeapp.generated.resources.Res
import lwacharactersheet.composeapp.generated.resources.game_master__action import lwacharactersheet.composeapp.generated.resources.game_master__action
import lwacharactersheet.composeapp.generated.resources.game_master__title import lwacharactersheet.composeapp.generated.resources.game_master__title
import lwacharactersheet.composeapp.generated.resources.game_master__version
import org.jetbrains.compose.resources.stringResource import org.jetbrains.compose.resources.stringResource
import org.koin.compose.viewmodel.koinViewModel import org.koin.compose.viewmodel.koinViewModel
@ -83,9 +85,19 @@ private fun GameMasterContent(
topBar = { topBar = {
TopAppBar( TopAppBar(
title = { title = {
Text( Row(
text = stringResource(Res.string.game_master__title), horizontalArrangement = Arrangement.spacedBy(space = 4.dp),
) ) {
Text(
modifier = Modifier.alignByBaseline(),
text = stringResource(Res.string.game_master__title),
)
Text(
modifier = Modifier.alignByBaseline(),
style = MaterialTheme.lwa.typography.base.caption,
text = stringResource(Res.string.game_master__version, BuildKonfig.version),
)
}
}, },
actions = { actions = {
Row( Row(

View file

@ -11,6 +11,7 @@ turtle = "0.10.0"
logback = "1.5.17" logback = "1.5.17"
coil = "3.1.0" coil = "3.1.0"
ui-graphics-android = "1.7.8" ui-graphics-android = "1.7.8"
buildkonfig = "0.17.0"
[plugins] [plugins]
composeMultiplatform = { id = "org.jetbrains.compose", version.ref = "compose-multiplatform" } composeMultiplatform = { id = "org.jetbrains.compose", version.ref = "compose-multiplatform" }
@ -19,6 +20,7 @@ kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
kotlinSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } kotlinSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
ktor = { id = "io.ktor.plugin", version.ref = "ktor" } ktor = { id = "io.ktor.plugin", version.ref = "ktor" }
buildkonfig = { id = "com.codingfeline.buildkonfig", version.ref = "buildkonfig" }
[libraries] [libraries]
# Test & preview # Test & preview