fix: Fix message info

This commit is contained in:
Myzel394 2023-12-31 22:45:27 +01:00
parent 5e3e2a2e22
commit e8337f2fc2
No known key found for this signature in database
GPG Key ID: 79CC92F37B3E1A2B
2 changed files with 44 additions and 19 deletions

View File

@ -1,5 +1,7 @@
package app.myzel394.alibi.ui.components.SettingsScreen.Tiles
import android.os.Message
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.magnifier
import androidx.compose.material.icons.Icons
@ -20,7 +22,10 @@ import app.myzel394.alibi.dataStore
import app.myzel394.alibi.db.AppLockSettings
import app.myzel394.alibi.db.AppSettings
import app.myzel394.alibi.helpers.AppLockHelper
import app.myzel394.alibi.ui.components.atoms.MessageBox
import app.myzel394.alibi.ui.components.atoms.MessageType
import app.myzel394.alibi.ui.components.atoms.SettingsTile
import app.myzel394.alibi.ui.components.atoms.VisualDensity
import kotlinx.coroutines.launch
@Composable
@ -43,12 +48,15 @@ fun EnableAppLockTile(
description = stringResource(R.string.ui_settings_option_enableAppLock_description),
tertiaryLine = {
if (appLockSupport === AppLockHelper.SupportType.NONE_ENROLLED) {
Text(
stringResource(R.string.ui_settings_option_enableAppLock_enrollmentRequired),
color = Color.Yellow,
style = MaterialTheme.typography.bodySmall,
modifier = Modifier.padding(top = 4.dp)
)
Box(
modifier = Modifier.padding(top = 8.dp)
) {
MessageBox(
type = MessageType.WARNING,
message = stringResource(R.string.ui_settings_option_enableAppLock_enrollmentRequired),
density = VisualDensity.COMPACT,
)
}
}
},
leading = {

View File

@ -3,6 +3,7 @@ package app.myzel394.alibi.ui.components.atoms
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Check
@ -27,6 +28,7 @@ fun MessageBox(
type: MessageType,
message: String,
title: String? = null,
density: VisualDensity = VisualDensity.COMFORTABLE,
) {
val isDark = rememberIsInDarkMode()
val containerColor = when (type) {
@ -51,33 +53,43 @@ fun MessageBox(
modifier = Modifier
.clip(MaterialTheme.shapes.medium)
.background(backgroundColor)
.padding(horizontal = 8.dp, vertical = 16.dp)
.let {
if (density == VisualDensity.COMFORTABLE) {
it.padding(horizontal = 8.dp, vertical = 16.dp)
} else {
it.padding(8.dp)
}
}
.then(modifier)
) {
Icon(
imageVector = when (type) {
MessageType.ERROR -> Icons.Default.Error
MessageType.INFO -> Icons.Default.Info
MessageType.SURFACE -> Icons.Default.Info
MessageType.SUCCESS -> Icons.Default.Check
MessageType.WARNING -> Icons.Default.Warning
},
contentDescription = null,
tint = textColor,
modifier = Modifier.padding(16.dp)
)
if (density == VisualDensity.COMFORTABLE) {
Icon(
imageVector = when (type) {
MessageType.ERROR -> Icons.Default.Error
MessageType.INFO -> Icons.Default.Info
MessageType.SURFACE -> Icons.Default.Info
MessageType.SUCCESS -> Icons.Default.Check
MessageType.WARNING -> Icons.Default.Warning
},
contentDescription = null,
tint = textColor,
modifier = Modifier.padding(16.dp)
)
}
Column {
if (title != null) {
Text(
text = title,
style = MaterialTheme.typography.bodyLarge,
color = textColor,
modifier = Modifier.fillMaxWidth()
)
}
Text(
text = message,
style = MaterialTheme.typography.bodyMedium,
color = textColor,
modifier = Modifier.fillMaxWidth()
)
}
}
@ -90,4 +102,9 @@ enum class MessageType {
SURFACE,
SUCCESS,
WARNING,
}
enum class VisualDensity {
COMPACT,
COMFORTABLE,
}