Portrait mode for counter.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2023-01-19 21:10:16 +01:00
parent f947c5aeb2
commit 45f11d5caf

View File

@@ -1,19 +1,78 @@
package me.zobrist.tichucounter.ui.counter
import android.content.res.Configuration
import androidx.compose.foundation.layout.Column
import androidx.compose.runtime.Composable
import androidx.compose.foundation.layout.Row
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalConfiguration
@Composable
fun Counter(
viewModel: CounterViewModel
) {
Column() {
fun Counter(viewModel: CounterViewModel) {
var orientation by remember { mutableStateOf(Configuration.ORIENTATION_PORTRAIT) }
orientation = LocalConfiguration.current.orientation
if(orientation == Configuration.ORIENTATION_LANDSCAPE) {
Landscape(viewModel)
} else {
Portrait(viewModel)
}
}
@Composable
fun Landscape(viewModel: CounterViewModel) {
Row {
Column(Modifier.weight(1f)) {
TeamNamesView(
viewModel.teamNameA,
viewModel.teamNameB,
{ viewModel.updateNameA(it) },
{ viewModel.updateNameB(it) })
{ viewModel.updateNameB(it) }
)
TeamScoresView(
viewModel.totalScoreA,
viewModel.totalScoreB
)
RoundListView(
viewModel.roundScoreList,
Modifier.weight(1f)
)
}
Column(Modifier.weight(1f)) {
KeyboardView(
viewModel.currentScoreA,
viewModel.currentScoreB,
viewModel.requestFocusA,
viewModel.enableSubmit,
{ viewModel.updateFocusStateA(it) },
{ viewModel.updateFocusStateB(it) },
{ viewModel.digitClicked(it) },
{ viewModel.addSub100Clicked(it) },
{ viewModel.deleteClicked() },
{ viewModel.negateClicked() },
{ viewModel.submitClicked() }
)
}
}
}
@Composable
fun Portrait(viewModel: CounterViewModel) {
Column {
TeamNamesView(
viewModel.teamNameA,
viewModel.teamNameB,
{ viewModel.updateNameA(it) },
{ viewModel.updateNameB(it) }
)
TeamScoresView(
viewModel.totalScoreA,
@@ -38,6 +97,5 @@ fun Counter(
{ viewModel.negateClicked() },
{ viewModel.submitClicked() }
)
}
}