diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoHelperViews.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoHelperViews.swift index d5f7a9f3..8676db76 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoHelperViews.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoHelperViews.swift @@ -76,13 +76,15 @@ public struct ChatInfoOptionsView: View { Divider() - ChannelInfoItemView( - icon: images.muted, - title: viewModel.mutedText, - verticalPadding: 12 - ) { - Toggle(isOn: $viewModel.muted) { - EmptyView() + if viewModel.shouldShowMuteChannelButton { + ChannelInfoItemView( + icon: images.muted, + title: viewModel.mutedText, + verticalPadding: 12 + ) { + Toggle(isOn: $viewModel.muted) { + EmptyView() + } } } diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoViewModel.swift index 4c9051f5..32a1c761 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoViewModel.swift @@ -43,6 +43,10 @@ open class ChatChannelInfoViewModel: ObservableObject, ChatChannelControllerDele channel.ownCapabilities.contains(.leaveChannel) } } + + open var shouldShowMuteChannelButton: Bool { + channel.ownCapabilities.contains(.muteChannel) + } open var canRenameChannel: Bool { channel.ownCapabilities.contains(.updateChannel) @@ -87,7 +91,7 @@ open class ChatChannelInfoViewModel: ObservableObject, ChatChannelControllerDele } } - public var leaveButtonTitle: String { + open var leaveButtonTitle: String { if channel.isDirectMessageChannel { L10n.Alert.Actions.deleteChannelTitle } else { @@ -95,7 +99,7 @@ open class ChatChannelInfoViewModel: ObservableObject, ChatChannelControllerDele } } - public var leaveConversationDescription: String { + open var leaveConversationDescription: String { if channel.isDirectMessageChannel { L10n.Alert.Actions.deleteChannelMessage } else {