mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-26 12:44:38 +00:00
Hide stories if feature is disabled.
This commit is contained in:
@@ -87,6 +87,7 @@ data class MainNavigationState(
|
||||
val callsCount: Int = 0,
|
||||
val storiesCount: Int = 0,
|
||||
val storyFailure: Boolean = false,
|
||||
val isStoriesFeatureEnabled: Boolean = true,
|
||||
val selectedDestination: MainNavigationDestination = MainNavigationDestination.CHATS,
|
||||
val compact: Boolean = false
|
||||
)
|
||||
@@ -104,7 +105,15 @@ fun MainNavigationBar(
|
||||
contentColor = MaterialTheme.colorScheme.onSurface,
|
||||
modifier = Modifier.height(if (state.compact) 48.dp else 80.dp)
|
||||
) {
|
||||
MainNavigationDestination.entries.forEach { destination ->
|
||||
val entries = remember(state.isStoriesFeatureEnabled) {
|
||||
if (state.isStoriesFeatureEnabled) {
|
||||
MainNavigationDestination.entries
|
||||
} else {
|
||||
MainNavigationDestination.entries.filterNot { it == MainNavigationDestination.STORIES }
|
||||
}
|
||||
}
|
||||
|
||||
entries.forEach { destination ->
|
||||
|
||||
val badgeCount = when (destination) {
|
||||
MainNavigationDestination.CHATS -> state.chatsCount
|
||||
@@ -241,7 +250,15 @@ fun MainNavigationRail(
|
||||
}
|
||||
}
|
||||
) {
|
||||
MainNavigationDestination.entries.forEachIndexed { idx, destination ->
|
||||
val entries = remember(state.isStoriesFeatureEnabled) {
|
||||
if (state.isStoriesFeatureEnabled) {
|
||||
MainNavigationDestination.entries
|
||||
} else {
|
||||
MainNavigationDestination.entries.filterNot { it == MainNavigationDestination.STORIES }
|
||||
}
|
||||
}
|
||||
|
||||
entries.forEachIndexed { idx, destination ->
|
||||
val selected = state.selectedDestination == destination
|
||||
|
||||
Box {
|
||||
|
||||
@@ -35,7 +35,8 @@ class ConversationListTabsFragment : ComposeFragment() {
|
||||
MainNavigationDestination.CALLS -> MainNavigationDestination.CALLS
|
||||
MainNavigationDestination.STORIES -> MainNavigationDestination.STORIES
|
||||
},
|
||||
compact = state.compact
|
||||
compact = state.compact,
|
||||
isStoriesFeatureEnabled = state.isStoriesFeatureEnabled
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.thoughtcrime.securesms.stories.tabs
|
||||
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
import org.thoughtcrime.securesms.main.MainNavigationDestination
|
||||
import org.thoughtcrime.securesms.stories.Stories
|
||||
|
||||
data class ConversationListTabsState(
|
||||
val tab: MainNavigationDestination = MainNavigationDestination.CHATS,
|
||||
@@ -11,7 +12,8 @@ data class ConversationListTabsState(
|
||||
val unreadStoriesCount: Long = 0L,
|
||||
val hasFailedStory: Boolean = false,
|
||||
val visibilityState: VisibilityState = VisibilityState(),
|
||||
val compact: Boolean = SignalStore.settings.useCompactNavigationBar
|
||||
val compact: Boolean = SignalStore.settings.useCompactNavigationBar,
|
||||
val isStoriesFeatureEnabled: Boolean = Stories.isFeatureEnabled()
|
||||
) {
|
||||
data class VisibilityState(
|
||||
val isSearchOpen: Boolean = false,
|
||||
|
||||
@@ -51,7 +51,7 @@ class ConversationListTabsViewModel(startingTab: MainNavigationDestination, repo
|
||||
}
|
||||
|
||||
fun refreshNavigationBarState() {
|
||||
store.update { it.copy(compact = SignalStore.settings.useCompactNavigationBar) }
|
||||
store.update { it.copy(compact = SignalStore.settings.useCompactNavigationBar, isStoriesFeatureEnabled = Stories.isFeatureEnabled()) }
|
||||
}
|
||||
|
||||
override fun onCleared() {
|
||||
|
||||
Reference in New Issue
Block a user