Add the ability to filter search by date and author.

This commit is contained in:
Greyson Parrelli
2026-03-19 12:20:10 -04:00
committed by Cody Henthorne
parent 72cbe61f6c
commit 7253aaaa14
21 changed files with 612 additions and 26 deletions

View File

@@ -10,4 +10,5 @@ sealed interface LabsSettingsEvents {
data class ToggleStoryArchive(val enabled: Boolean) : LabsSettingsEvents
data class ToggleIncognito(val enabled: Boolean) : LabsSettingsEvents
data class ToggleGroupSuggestionsForMembers(val enabled: Boolean) : LabsSettingsEvents
data class ToggleBetterSearch(val enabled: Boolean) : LabsSettingsEvents
}

View File

@@ -124,6 +124,15 @@ private fun LabsSettingsContent(
onCheckChanged = { onEvent(LabsSettingsEvents.ToggleGroupSuggestionsForMembers(it)) }
)
}
item {
Rows.ToggleRow(
checked = state.betterSearch,
text = "Better Search",
label = "Filter search results by date range and author. Adds a filter button to the search toolbar.",
onCheckChanged = { onEvent(LabsSettingsEvents.ToggleBetterSearch(it)) }
)
}
}
}
}

View File

@@ -12,5 +12,6 @@ data class LabsSettingsState(
val individualChatPlaintextExport: Boolean = false,
val storyArchive: Boolean = false,
val incognito: Boolean = false,
val groupSuggestionsForMembers: Boolean = false
val groupSuggestionsForMembers: Boolean = false,
val betterSearch: Boolean = false
)

View File

@@ -33,6 +33,10 @@ class LabsSettingsViewModel : ViewModel() {
SignalStore.labs.groupSuggestionsForMembers = event.enabled
_state.value = _state.value.copy(groupSuggestionsForMembers = event.enabled)
}
is LabsSettingsEvents.ToggleBetterSearch -> {
SignalStore.labs.betterSearch = event.enabled
_state.value = _state.value.copy(betterSearch = event.enabled)
}
}
}
@@ -41,7 +45,8 @@ class LabsSettingsViewModel : ViewModel() {
individualChatPlaintextExport = SignalStore.labs.individualChatPlaintextExport,
storyArchive = SignalStore.labs.storyArchive,
incognito = SignalStore.labs.incognito,
groupSuggestionsForMembers = SignalStore.labs.groupSuggestionsForMembers
groupSuggestionsForMembers = SignalStore.labs.groupSuggestionsForMembers,
betterSearch = SignalStore.labs.betterSearch
)
}
}