mirror of
https://github.com/Myzel394/Alibi.git
synced 2025-06-18 23:05:26 +02:00
feat: Add message info to NotificationEditor
This commit is contained in:
parent
37a8a9871e
commit
26f17869d6
@ -40,6 +40,8 @@ import app.myzel394.alibi.db.NotificationSettings
|
|||||||
import app.myzel394.alibi.ui.components.CustomRecordingNotificationsScreen.models.NotificationViewModel
|
import app.myzel394.alibi.ui.components.CustomRecordingNotificationsScreen.models.NotificationViewModel
|
||||||
import app.myzel394.alibi.ui.components.CustomRecordingNotificationsScreen.molecules.EditNotificationInput
|
import app.myzel394.alibi.ui.components.CustomRecordingNotificationsScreen.molecules.EditNotificationInput
|
||||||
import app.myzel394.alibi.ui.components.CustomRecordingNotificationsScreen.molecules.NotificationPresetsRoulette
|
import app.myzel394.alibi.ui.components.CustomRecordingNotificationsScreen.molecules.NotificationPresetsRoulette
|
||||||
|
import app.myzel394.alibi.ui.components.atoms.MessageBox
|
||||||
|
import app.myzel394.alibi.ui.components.atoms.MessageType
|
||||||
|
|
||||||
val HORIZONTAL_PADDING = 16.dp;
|
val HORIZONTAL_PADDING = 16.dp;
|
||||||
|
|
||||||
@ -109,6 +111,11 @@ fun NotificationEditor(
|
|||||||
.padding(horizontal = HORIZONTAL_PADDING),
|
.padding(horizontal = HORIZONTAL_PADDING),
|
||||||
verticalArrangement = Arrangement.spacedBy(16.dp),
|
verticalArrangement = Arrangement.spacedBy(16.dp),
|
||||||
) {
|
) {
|
||||||
|
MessageBox(
|
||||||
|
type = MessageType.SURFACE,
|
||||||
|
message = stringResource(R.string.ui_settings_customNotifications_edit_help)
|
||||||
|
)
|
||||||
|
|
||||||
EditNotificationInput(
|
EditNotificationInput(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
|
@ -29,17 +29,19 @@ fun MessageBox(
|
|||||||
title: String? = null,
|
title: String? = null,
|
||||||
) {
|
) {
|
||||||
val isDark = rememberIsInDarkMode()
|
val isDark = rememberIsInDarkMode()
|
||||||
val containerColor = when(type) {
|
val containerColor = when (type) {
|
||||||
MessageType.ERROR -> MaterialTheme.colorScheme.errorContainer
|
MessageType.ERROR -> MaterialTheme.colorScheme.errorContainer
|
||||||
MessageType.INFO -> MaterialTheme.colorScheme.tertiaryContainer
|
MessageType.INFO -> MaterialTheme.colorScheme.tertiaryContainer
|
||||||
MessageType.SUCCESS -> Color.Green.copy(alpha = 0.3f)
|
MessageType.SUCCESS -> Color.Green.copy(alpha = 0.3f)
|
||||||
MessageType.WARNING -> Color.Yellow.copy(alpha = 0.3f)
|
MessageType.WARNING -> Color.Yellow.copy(alpha = 0.3f)
|
||||||
|
MessageType.SURFACE -> MaterialTheme.colorScheme.surfaceVariant
|
||||||
}
|
}
|
||||||
val onContainerColor = when(type) {
|
val onContainerColor = when (type) {
|
||||||
MessageType.ERROR -> MaterialTheme.colorScheme.onError
|
MessageType.ERROR -> MaterialTheme.colorScheme.onError
|
||||||
MessageType.INFO -> MaterialTheme.colorScheme.onTertiaryContainer
|
MessageType.INFO -> MaterialTheme.colorScheme.onTertiaryContainer
|
||||||
MessageType.SUCCESS -> Color.Green
|
MessageType.SUCCESS -> Color.Green
|
||||||
MessageType.WARNING -> Color.Yellow
|
MessageType.WARNING -> Color.Yellow
|
||||||
|
MessageType.SURFACE -> MaterialTheme.colorScheme.onSurfaceVariant
|
||||||
}
|
}
|
||||||
val textColor = if (isDark) onContainerColor else MaterialTheme.colorScheme.onSurface
|
val textColor = if (isDark) onContainerColor else MaterialTheme.colorScheme.onSurface
|
||||||
val backgroundColor = if (isDark) containerColor else onContainerColor
|
val backgroundColor = if (isDark) containerColor else onContainerColor
|
||||||
@ -53,9 +55,10 @@ fun MessageBox(
|
|||||||
.then(modifier)
|
.then(modifier)
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
imageVector = when(type) {
|
imageVector = when (type) {
|
||||||
MessageType.ERROR -> Icons.Default.Error
|
MessageType.ERROR -> Icons.Default.Error
|
||||||
MessageType.INFO -> Icons.Default.Info
|
MessageType.INFO -> Icons.Default.Info
|
||||||
|
MessageType.SURFACE -> Icons.Default.Info
|
||||||
MessageType.SUCCESS -> Icons.Default.Check
|
MessageType.SUCCESS -> Icons.Default.Check
|
||||||
MessageType.WARNING -> Icons.Default.Warning
|
MessageType.WARNING -> Icons.Default.Warning
|
||||||
},
|
},
|
||||||
@ -84,6 +87,7 @@ fun MessageBox(
|
|||||||
enum class MessageType {
|
enum class MessageType {
|
||||||
ERROR,
|
ERROR,
|
||||||
INFO,
|
INFO,
|
||||||
|
SURFACE,
|
||||||
SUCCESS,
|
SUCCESS,
|
||||||
WARNING,
|
WARNING,
|
||||||
}
|
}
|
@ -87,4 +87,5 @@
|
|||||||
<string name="ui_settings_customNotifications_preset_apply_label">Apply Preset \"%s\"</string>
|
<string name="ui_settings_customNotifications_preset_apply_label">Apply Preset \"%s\"</string>
|
||||||
<string name="ui_settings_customNotifications_showOngoing_label">Show Duration</string>
|
<string name="ui_settings_customNotifications_showOngoing_label">Show Duration</string>
|
||||||
<string name="ui_settings_customNotifications_save_label">Update notification</string>
|
<string name="ui_settings_customNotifications_save_label">Update notification</string>
|
||||||
|
<string name="ui_settings_customNotifications_edit_help">This is a preview for your notification. You can edit the title and the message. At the bottom you can find some presets.</string>
|
||||||
</resources>
|
</resources>
|
Loading…
x
Reference in New Issue
Block a user