ui: group disappearing message config disabled for non-admin

pull/941/head
Ryan Zhao 2 years ago
parent bd23e7ec4a
commit 3041f61e31

@ -206,6 +206,7 @@ class ThreadDisappearingMessagesViewModel: SessionTableViewModel<ThreadDisappear
rightAccessory: .radio(
isSelected: { (self?.currentSelection.value.isEnabled == false) }
),
isEnabled: false,
onTap: {
let updatedConfig: DisappearingMessagesConfiguration = currentSelection
.with(
@ -230,6 +231,7 @@ class ThreadDisappearingMessagesViewModel: SessionTableViewModel<ThreadDisappear
rightAccessory: .radio(
isSelected: { (self?.currentSelection.value.isEnabled == true) && (self?.currentSelection.value.durationSeconds == duration) }
),
isEnabled: false,
onTap: {
let updatedConfig: DisappearingMessagesConfiguration = currentSelection
.with(

@ -296,18 +296,29 @@ extension SessionCell {
let wasOldSelection: Bool = (!isSelected && storedSelection)
radioBorderView.isHidden = false
radioBorderView.themeBorderColor = (isSelected ?
.radioButton_selectedBorder :
.radioButton_unselectedBorder
)
if isEnabled {
radioBorderView.themeBorderColor = (isSelected ?
.radioButton_selectedBorder :
.radioButton_unselectedBorder
)
} else {
radioBorderView.themeBorderColor = .radioButton_border_disabled
}
radioBorderView.layer.cornerRadius = (size.borderSize / 2)
radioView.alpha = (wasOldSelection ? 0.3 : 1)
radioView.isHidden = (!isSelected && !storedSelection)
radioView.themeBackgroundColor = (isSelected || wasOldSelection ?
.radioButton_selectedBackground :
.radioButton_unselectedBackground
)
if isEnabled {
radioView.themeBackgroundColor = (isSelected || wasOldSelection ?
.radioButton_selectedBackground :
.radioButton_unselectedBackground
)
} else {
radioView.themeBackgroundColor = (isSelected || wasOldSelection ?
.radioButton_selectedBackground_disabled :
.radioButton_unselectedBackground
)
}
radioView.layer.cornerRadius = (size.selectionSize / 2)
radioViewWidthConstraint.constant = size.selectionSize

@ -43,9 +43,11 @@ internal enum Theme_ClassicDark: ThemeColors {
// RadioButton
.radioButton_selectedBackground: .primary,
.radioButton_selectedBackground_disabled: .disabledDark,
.radioButton_unselectedBackground: .clear,
.radioButton_selectedBorder: .classicDark6,
.radioButton_unselectedBorder: .classicDark6,
.radioButton_border_disabled: .disabledDark,
// SessionButton
.sessionButton_text: .primary,

@ -43,9 +43,11 @@ internal enum Theme_ClassicLight: ThemeColors {
// RadioButton
.radioButton_selectedBackground: .primary,
.radioButton_selectedBackground_disabled: .disabledLight,
.radioButton_unselectedBackground: .clear,
.radioButton_selectedBorder: .classicLight0,
.radioButton_unselectedBorder: .classicLight0,
.radioButton_border_disabled: .disabledLight,
// OutlineButton
.sessionButton_text: .classicLight0,

@ -43,9 +43,11 @@ internal enum Theme_OceanDark: ThemeColors {
// RadioButton
.radioButton_selectedBackground: .primary,
.radioButton_selectedBackground_disabled: .disabledDark,
.radioButton_unselectedBackground: .clear,
.radioButton_selectedBorder: .oceanDark7,
.radioButton_unselectedBorder: .oceanDark7,
.radioButton_border_disabled: .disabledDark,
// SessionButton
.sessionButton_text: .primary,

@ -43,9 +43,11 @@ internal enum Theme_OceanLight: ThemeColors {
// RadioButton
.radioButton_selectedBackground: .primary,
.radioButton_selectedBackground_disabled: .disabledLight,
.radioButton_unselectedBackground: .clear,
.radioButton_selectedBorder: .oceanLight1,
.radioButton_unselectedBorder: .oceanLight3,
.radioButton_border_disabled: .disabledLight,
// SessionButton
.sessionButton_text: .oceanLight1,

@ -131,9 +131,11 @@ public indirect enum ThemeValue: Hashable {
// RadioButton
case radioButton_selectedBackground
case radioButton_selectedBackground_disabled
case radioButton_unselectedBackground
case radioButton_selectedBorder
case radioButton_unselectedBorder
case radioButton_border_disabled
// SessionButton
case sessionButton_text

Loading…
Cancel
Save