@@ -1,6 +1,9 @@
11package soy.iko.opencode.ui.server
22
3+import androidx.compose.foundation.layout.Arrangement
4+import androidx.compose.foundation.layout.Box
35import androidx.compose.foundation.layout.Column
6+import androidx.compose.foundation.layout.fillMaxSize
47import androidx.compose.foundation.layout.fillMaxWidth
58import androidx.compose.foundation.layout.imePadding
69import androidx.compose.foundation.layout.padding
@@ -12,6 +15,7 @@ import androidx.compose.foundation.verticalScroll
1215import androidx.compose.material.icons.Icons
1316import androidx.compose.material.icons.automirrored.filled.ArrowBack
1417import androidx.compose.material3.Button
18+import androidx.compose.material3.CircularProgressIndicator
1519import androidx.compose.material3.ExperimentalMaterial3Api
1620import androidx.compose.material3.Icon
1721import androidx.compose.material3.IconButton
@@ -21,11 +25,11 @@ import androidx.compose.material3.Text
2125import androidx.compose.material3.TopAppBar
2226import androidx.compose.runtime.Composable
2327import androidx.compose.runtime.getValue
28+import androidx.compose.ui.Alignment
2429import androidx.compose.ui.Modifier
2530import androidx.compose.ui.text.input.ImeAction
2631import androidx.compose.ui.text.input.KeyboardType
2732import androidx.compose.ui.text.input.PasswordVisualTransformation
28−import androidx.compose.foundation.layout.Arrangement
2933import androidx.compose.ui.res.stringResource
3034import androidx.compose.ui.unit.dp
3135import androidx.lifecycle.compose.collectAsStateWithLifecycle
@@ -57,6 +61,11 @@ fun ServerEditScreen(
5761 )
5862 },
5963 ) { padding ->
64+ if (!state.loaded) {
65+ Box(modifier = Modifier.fillMaxSize().padding(padding), contentAlignment = Alignment.Center) {
66+ CircularProgressIndicator()
67+ }
68+ } else {
6069 Column(
6170 modifier = Modifier
6271 .padding(padding)
@@ -113,5 +122,6 @@ fun ServerEditScreen(
113122 Text(stringResource(R.string.save))
114123 }
115124 }
125+ }
116126 }
117127}