Add translations, fix maximisation

This commit is contained in:
Christian Basler
2025-05-01 21:42:41 +02:00
parent f8d7702fca
commit b05f971ec1
4 changed files with 118 additions and 25 deletions

View File

@@ -16,18 +16,12 @@ import androidx.compose.material3.SwitchDefaults
import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.scale
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.WindowPlacement
import androidx.compose.ui.window.WindowScope
import androidx.compose.ui.window.WindowState
import ch.dissem.yaep.domain.Game
import ch.dissem.yaep.ui.common.theme.AppTheme
import org.jetbrains.compose.resources.painterResource
import org.jetbrains.compose.resources.stringResource
@@ -36,6 +30,8 @@ import yaep.commonui.generated.resources.app_name_full
import yaep.commonui.generated.resources.moon
import yaep.commonui.generated.resources.restart
import yaep.commonui.generated.resources.sun
import yaep.commonui.generated.resources.use_dark_mode
import yaep.commonui.generated.resources.use_light_mode
import yaep.commonui.generated.resources.window_close
import yaep.commonui.generated.resources.window_maximize
import yaep.commonui.generated.resources.window_minimize
@@ -70,15 +66,7 @@ fun AppBar(
onCloseRequest: () -> Unit,
onRestart: () -> Unit,
windowState: WindowState,
game: Game,
) {
var gameSolved by remember { mutableStateOf(false) }
LaunchedEffect(game) {
game.onSolved {
gameSolved = true
}
}
TopAppBar(
navigationIcon = {
Image(
@@ -111,7 +99,13 @@ fun AppBar(
CRes.drawable.moon
}
),
contentDescription = null,
contentDescription = stringResource(
if (useDarkMode) {
CRes.string.use_light_mode
} else {
CRes.string.use_dark_mode
}
),
modifier = Modifier.size(SwitchDefaults.IconSize),
)
}
@@ -122,12 +116,11 @@ fun AppBar(
) {
Icon(
painter = painterResource(CRes.drawable.window_minimize),
contentDescription = null,
contentDescription = stringResource(CRes.string.window_minimize),
modifier = Modifier.size(SwitchDefaults.IconSize),
)
}
IconButton(
enabled = !gameSolved,
onClick = {
windowState.placement =
if (windowState.placement == WindowPlacement.Maximized)
@@ -136,7 +129,7 @@ fun AppBar(
) {
Icon(
painter = painterResource(CRes.drawable.window_maximize),
contentDescription = null,
contentDescription = stringResource(CRes.string.window_maximize),
modifier = Modifier.size(SwitchDefaults.IconSize),
)
}
@@ -145,7 +138,7 @@ fun AppBar(
) {
Icon(
painter = painterResource(CRes.drawable.window_close),
contentDescription = null,
contentDescription = stringResource(CRes.string.window_close),
modifier = Modifier.size(SwitchDefaults.IconSize),
)
}

View File

@@ -62,7 +62,6 @@ fun main() = application {
resetCluesBeacon = Any()
},
windowState = windowState,
game = game,
)
}
) {