|
|
@ -80,6 +80,10 @@ class RoomDetailsPresenter @Inject constructor( |
|
|
|
val roomTopic by remember { derivedStateOf { roomInfo?.topic ?: room.topic } } |
|
|
|
val roomTopic by remember { derivedStateOf { roomInfo?.topic ?: room.topic } } |
|
|
|
val isFavorite by remember { derivedStateOf { roomInfo?.isFavorite.orFalse() } } |
|
|
|
val isFavorite by remember { derivedStateOf { roomInfo?.isFavorite.orFalse() } } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val isRoomModerationEnabled by produceState(initialValue = false) { |
|
|
|
|
|
|
|
value = featureFlagService.isFeatureEnabled(FeatureFlags.RoomModeration) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
LaunchedEffect(Unit) { |
|
|
|
LaunchedEffect(Unit) { |
|
|
|
canShowNotificationSettings.value = featureFlagService.isFeatureEnabled(FeatureFlags.NotificationSettings) |
|
|
|
canShowNotificationSettings.value = featureFlagService.isFeatureEnabled(FeatureFlags.NotificationSettings) |
|
|
|
if (canShowNotificationSettings.value) { |
|
|
|
if (canShowNotificationSettings.value) { |
|
|
@ -152,7 +156,7 @@ class RoomDetailsPresenter @Inject constructor( |
|
|
|
leaveRoomState = leaveRoomState, |
|
|
|
leaveRoomState = leaveRoomState, |
|
|
|
roomNotificationSettings = roomNotificationSettingsState.roomNotificationSettings(), |
|
|
|
roomNotificationSettings = roomNotificationSettingsState.roomNotificationSettings(), |
|
|
|
isFavorite = isFavorite, |
|
|
|
isFavorite = isFavorite, |
|
|
|
displayAdminSettings = !room.isDm && isUserAdmin, |
|
|
|
displayRolesAndPermissionsSettings = isRoomModerationEnabled && !room.isDm && isUserAdmin, |
|
|
|
eventSink = ::handleEvents, |
|
|
|
eventSink = ::handleEvents, |
|
|
|
) |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|