1
1
package dev.pinkroom.peanuts
2
2
3
3
import android.os.Bundle
4
- import android.util.Log
5
4
import androidx.activity.ComponentActivity
6
5
import androidx.activity.compose.setContent
7
6
import androidx.compose.foundation.layout.*
8
7
import androidx.compose.material.*
9
8
import androidx.compose.runtime.Composable
10
- import androidx.compose.runtime.LaunchedEffect
11
9
import androidx.compose.runtime.getValue
12
- import androidx.compose.runtime.remember
13
10
import androidx.compose.ui.Alignment
14
11
import androidx.compose.ui.Modifier
15
12
import androidx.compose.ui.unit.dp
@@ -39,41 +36,36 @@ class MainActivity : ComponentActivity() {
39
36
@Composable
40
37
private fun HelloWorld (viewModel : MainViewModel = viewModel()) {
41
38
val state by viewModel.state.collectAsStateWithLifecycle()
42
- Row (
43
- modifier = Modifier .padding(top = 24 .dp),
44
- horizontalArrangement = Arrangement .Center ,
45
- ) {
46
- if (state.showHelloWorld) Text (text = " Hello World!" )
47
- }
48
- Column (
49
- modifier = Modifier .fillMaxSize(),
50
- verticalArrangement = Arrangement .Center ,
51
- horizontalAlignment = Alignment .CenterHorizontally ,
52
- ) {
53
- Button (onClick = viewModel::onShowButtonClicked) {
54
- Text (text = " Show" )
55
- }
56
- Button (onClick = viewModel::onHideButtonClicked) {
57
- Text (text = " Hide" )
39
+ if (state.isLoading) {
40
+ LoadingView ()
41
+ } else {
42
+ Row (
43
+ modifier = Modifier .padding(top = 24 .dp),
44
+ horizontalArrangement = Arrangement .Center ,
45
+ ) {
46
+ if (state.showHelloWorld) Text (text = " Hello World!" )
58
47
}
59
- Button (onClick = viewModel::onShowMessageClicked) {
60
- Text (text = " Show Message" )
48
+ Column (
49
+ modifier = Modifier .fillMaxSize(),
50
+ verticalArrangement = Arrangement .Center ,
51
+ horizontalAlignment = Alignment .CenterHorizontally ,
52
+ ) {
53
+ Button (onClick = viewModel::onShowButtonClicked) {
54
+ Text (text = " Show" )
55
+ }
56
+ Button (onClick = viewModel::onHideButtonClicked) {
57
+ Text (text = " Hide" )
58
+ }
59
+ Button (onClick = viewModel::onLoadingClicked) {
60
+ Text (text = " Loading" )
61
+ }
61
62
}
62
63
}
63
- SnackBar (message = state.message)
64
64
}
65
65
66
66
@Composable
67
- private fun SnackBar (message : Message ? ) {
68
- Log .i(" CENAS" , " CENAS: $message " )
69
- val snackbarHostState = remember { SnackbarHostState () }
70
- LaunchedEffect (message) {
71
- message?.let { snackbarHostState.showSnackbar(it.text) }
72
- }
73
- Box (modifier = Modifier .fillMaxSize()) {
74
- SnackbarHost (
75
- hostState = snackbarHostState,
76
- modifier = Modifier .align(Alignment .BottomCenter ),
77
- )
78
- }
79
- }
67
+ private fun LoadingView () = Column (
68
+ modifier = Modifier .fillMaxSize(),
69
+ verticalArrangement = Arrangement .Center ,
70
+ horizontalAlignment = Alignment .CenterHorizontally
71
+ ) { CircularProgressIndicator () }
0 commit comments