James Harman
11/02/2021, 4:08 PMJames Harman
11/02/2021, 4:10 PMJames Harman
11/02/2021, 4:12 PM@Composable
fun ShowLoadingDialog(
loadingState: LoadingState,
) {
if (loadingState is Loading) {
var dialogVisible: Boolean by remember { mutableStateOf(true) }
if (dialogVisible) {
Dialog(
onDismissRequest = { dialogVisible = false },
properties = DialogProperties(
dismissOnBackPress = loadingState.cancelable,
dismissOnClickOutside = loadingState.cancelable
),
) {
Box(
contentAlignment = Alignment.Center,
modifier = Modifier
.wrapContentSize()
.fillMaxWidth(.8f)
.background(NotionCharcoal, shape = RoundedCornerShape(10.dp))
.padding(margin_2_5)
.aspectRatio(1F)
) {
Column(
horizontalAlignment = CenterHorizontally,
modifier = Modifier.wrapContentSize()
) {
CircularProgressIndicator(
color = Teal,
)
if (loadingState.loadingText.isNotBlank()) {
Text(
text = loadingState.loadingText,
style = BodyBold,
color = White,
textAlign = TextAlign.Center,
modifier = Modifier
.padding(top = margin_2_5)
.wrapContentSize()
)
}
}
}
}
}
}
}