Fix dialog theme

This commit is contained in:
Benoit Marty 2022-11-14 16:09:50 +01:00
parent 089e1da4b7
commit 8d861690b7

View file

@ -1,7 +1,10 @@
package io.element.android.x.designsystem.components package io.element.android.x.designsystem.components
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.layout.* import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.CircularProgressIndicator
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
@ -9,6 +12,7 @@ import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.Dialog
import androidx.compose.ui.window.DialogProperties import androidx.compose.ui.window.DialogProperties
@ -17,23 +21,36 @@ import androidx.compose.ui.window.DialogProperties
fun ProgressDialog(text: String? = null, onDismiss: () -> Unit = {}) { fun ProgressDialog(text: String? = null, onDismiss: () -> Unit = {}) {
Dialog( Dialog(
onDismissRequest = onDismiss, onDismissRequest = onDismiss,
DialogProperties(dismissOnBackPress = false, dismissOnClickOutside = false) properties = DialogProperties(dismissOnBackPress = false, dismissOnClickOutside = false)
) { ) {
Box( Box(
contentAlignment = Alignment.Center, contentAlignment = Alignment.Center,
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
.background( .background(
MaterialTheme.colorScheme.onBackground, color = MaterialTheme.colorScheme.onBackground,
shape = RoundedCornerShape(8.dp) shape = RoundedCornerShape(8.dp)
) )
) { ) {
Column(horizontalAlignment = Alignment.CenterHorizontally) { Column(horizontalAlignment = Alignment.CenterHorizontally) {
CircularProgressIndicator(modifier = Modifier.padding(16.dp), color = MaterialTheme.colorScheme.background) CircularProgressIndicator(
modifier = Modifier.padding(16.dp),
color = MaterialTheme.colorScheme.background
)
if (!text.isNullOrBlank()) { if (!text.isNullOrBlank()) {
Text(text = text, Modifier.padding(16.dp)) Text(
text = text,
color = MaterialTheme.colorScheme.background,
modifier = Modifier.padding(16.dp)
)
} }
} }
} }
} }
}
@Composable
@Preview
private fun ProgressDialogPreview() {
ProgressDialog("test dialog content")
} }