Android UI (WIP)
This commit is contained in:
@@ -4,23 +4,69 @@ import android.os.Bundle
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material3.CenterAlignedTopAppBar
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
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.tooling.preview.Preview
|
||||
import ch.dissem.yaep.domain.Game
|
||||
import ch.dissem.yaep.domain.generateGame
|
||||
import ch.dissem.yaep.ui.common.App
|
||||
import org.jetbrains.compose.resources.painterResource
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import yaep.commonui.generated.resources.action_restart
|
||||
import yaep.commonui.generated.resources.app_name
|
||||
import yaep.commonui.generated.resources.restart
|
||||
import yaep.commonui.generated.resources.Res as CRes
|
||||
|
||||
class MainActivity : ComponentActivity() {
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
setContent {
|
||||
var game by remember { mutableStateOf<Game>(generateGame()) }
|
||||
var resetCluesBeacon by remember { mutableStateOf(Any()) }
|
||||
|
||||
Scaffold(
|
||||
topBar = {
|
||||
|
||||
CenterAlignedTopAppBar(
|
||||
title = {
|
||||
Text(text = stringResource(CRes.string.app_name))
|
||||
},
|
||||
navigationIcon = { },
|
||||
actions = {
|
||||
IconButton(
|
||||
onClick = {
|
||||
do {
|
||||
// continue
|
||||
} while (game.grid.undo())
|
||||
resetCluesBeacon = Any()
|
||||
}
|
||||
) {
|
||||
Icon(
|
||||
painter = painterResource(CRes.drawable.action_restart),
|
||||
contentDescription = stringResource(CRes.string.restart)
|
||||
)
|
||||
}
|
||||
},
|
||||
)
|
||||
}
|
||||
) { insets ->
|
||||
App(modifier = Modifier.padding(insets))
|
||||
App(
|
||||
modifier = Modifier.padding(insets),
|
||||
game = game,
|
||||
onNewGame = { game = generateGame() },
|
||||
resetCluesBeacon = resetCluesBeacon
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -29,5 +75,12 @@ class MainActivity : ComponentActivity() {
|
||||
@Preview
|
||||
@Composable
|
||||
fun AppAndroidPreview() {
|
||||
App()
|
||||
var game by remember { mutableStateOf<Game>(generateGame()) }
|
||||
var resetCluesBeacon by remember { mutableStateOf(Any()) }
|
||||
|
||||
App(
|
||||
game = game,
|
||||
onNewGame = { game = generateGame() },
|
||||
resetCluesBeacon = resetCluesBeacon
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user