Fix enabled state and ClearError events.
This commit is contained in:
parent
af4a1d3fd6
commit
7e7e95c8e2
1 changed files with 6 additions and 5 deletions
|
|
@ -32,13 +32,14 @@ import androidx.compose.ui.res.vectorResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import io.element.android.features.roomdetails.impl.R
|
import io.element.android.features.roomdetails.impl.R
|
||||||
import io.element.android.libraries.architecture.Async
|
import io.element.android.libraries.architecture.Async
|
||||||
import io.element.android.libraries.designsystem.VectorIcons
|
import io.element.android.libraries.core.bool.orTrue
|
||||||
import io.element.android.libraries.designsystem.components.ProgressDialog
|
import io.element.android.libraries.designsystem.components.ProgressDialog
|
||||||
import io.element.android.libraries.designsystem.components.button.BackButton
|
import io.element.android.libraries.designsystem.components.button.BackButton
|
||||||
import io.element.android.libraries.designsystem.components.preferences.PreferenceText
|
import io.element.android.libraries.designsystem.components.preferences.PreferenceText
|
||||||
import io.element.android.libraries.designsystem.theme.components.Scaffold
|
import io.element.android.libraries.designsystem.theme.components.Scaffold
|
||||||
import io.element.android.libraries.designsystem.theme.components.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
import io.element.android.libraries.designsystem.theme.components.TopAppBar
|
import io.element.android.libraries.designsystem.theme.components.TopAppBar
|
||||||
|
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun UserDefinedRoomNotificationSettingsView(
|
fun UserDefinedRoomNotificationSettingsView(
|
||||||
|
|
@ -66,7 +67,7 @@ fun UserDefinedRoomNotificationSettingsView(
|
||||||
if (roomNotificationSettings != null && state.displayNotificationMode != null) {
|
if (roomNotificationSettings != null && state.displayNotificationMode != null) {
|
||||||
RoomNotificationSettingsOptions(
|
RoomNotificationSettingsOptions(
|
||||||
selected = state.displayNotificationMode,
|
selected = state.displayNotificationMode,
|
||||||
enabled = roomNotificationSettings.isDefault,
|
enabled = !state.displayIsDefault.orTrue(),
|
||||||
onOptionSelected = {
|
onOptionSelected = {
|
||||||
state.eventSink(RoomNotificationSettingsEvents.RoomNotificationModeChanged(it.mode))
|
state.eventSink(RoomNotificationSettingsEvents.RoomNotificationModeChanged(it.mode))
|
||||||
},
|
},
|
||||||
|
|
@ -75,7 +76,7 @@ fun UserDefinedRoomNotificationSettingsView(
|
||||||
|
|
||||||
PreferenceText(
|
PreferenceText(
|
||||||
title = stringResource(R.string.screen_room_notification_settings_edit_remove_setting),
|
title = stringResource(R.string.screen_room_notification_settings_edit_remove_setting),
|
||||||
icon = ImageVector.vectorResource(VectorIcons.Delete),
|
icon = ImageVector.vectorResource(CommonDrawables.ic_compound_delete),
|
||||||
tintColor = MaterialTheme.colorScheme.error,
|
tintColor = MaterialTheme.colorScheme.error,
|
||||||
onClick = {
|
onClick = {
|
||||||
state.eventSink(RoomNotificationSettingsEvents.DeleteCustomNotification)
|
state.eventSink(RoomNotificationSettingsEvents.DeleteCustomNotification)
|
||||||
|
|
@ -87,7 +88,7 @@ fun UserDefinedRoomNotificationSettingsView(
|
||||||
ProgressDialog()
|
ProgressDialog()
|
||||||
}
|
}
|
||||||
is Async.Failure -> {
|
is Async.Failure -> {
|
||||||
ShowChangeNotificationSettingError(state)
|
ShowChangeNotificationSettingError(state, RoomNotificationSettingsEvents.ClearSetNotificationError)
|
||||||
}
|
}
|
||||||
else -> Unit
|
else -> Unit
|
||||||
}
|
}
|
||||||
|
|
@ -97,7 +98,7 @@ fun UserDefinedRoomNotificationSettingsView(
|
||||||
ProgressDialog()
|
ProgressDialog()
|
||||||
}
|
}
|
||||||
is Async.Failure -> {
|
is Async.Failure -> {
|
||||||
ShowChangeNotificationSettingError(state)
|
ShowChangeNotificationSettingError(state, RoomNotificationSettingsEvents.ClearRestoreDefaultError)
|
||||||
}
|
}
|
||||||
is Async.Success -> {
|
is Async.Success -> {
|
||||||
LaunchedEffect(state.restoreDefaultAction) {
|
LaunchedEffect(state.restoreDefaultAction) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue