mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-04 00:49:44 +00:00
Space filters (#4977)
* Add support for SpaceFilters on the SpaceServiceProxy level and a screen that renders them * Add aliases to a couple of space room mocks * Update translations and related snapshots * Add a feature flag for space filters * Add a new room summary provider filter that takes a list of room identifiers next to the normal state filters This will take the SpaceFilter's descendants and combine it with the normal filters to reduce the rooms shown * Add a new space filter button to the home screen and link it to the SpaceFiltersScreen and the actual RoomSummaryProvider room list filters * Bump the RustSDK to v26.01.20-2 for SpaceFilter support. * Add a cancellation button to the space filters screen * Make the filter presentation mode liquidy, move the sheet to within the home screen. * Address PR comments
This commit is contained in:
@@ -108,6 +108,7 @@ enum A11yIdentifiers {
|
||||
let userAvatar = "home_screen-user_avatar"
|
||||
let recoveryKeyConfirmationBannerContinue = "home_screen-recovery_key_confirmation_continue"
|
||||
let startChat = "home_screen-start_chat"
|
||||
let spaceFilters = "home_screen-space_filters"
|
||||
|
||||
let roomNamePrefix = "home_screen-room_name"
|
||||
func roomName(_ name: String) -> String {
|
||||
|
||||
@@ -141,6 +141,7 @@ enum RoomAvatarSizeOnScreen {
|
||||
case chats
|
||||
case spaces
|
||||
case spaceSettings
|
||||
case spaceFilters
|
||||
case authorizedSpaces
|
||||
case timeline
|
||||
case leaveSpace
|
||||
@@ -161,7 +162,7 @@ enum RoomAvatarSizeOnScreen {
|
||||
case .chats, .spaces, .spaceSettings:
|
||||
return 52
|
||||
case .timeline, .leaveSpace, .roomDirectorySearch,
|
||||
.completionSuggestions, .authorizedSpaces:
|
||||
.completionSuggestions, .authorizedSpaces, .spaceFilters:
|
||||
return 32
|
||||
case .notificationSettings:
|
||||
return 30
|
||||
|
||||
@@ -113,6 +113,10 @@ extension SDKListener: SpaceRoomListSpaceListener where T == SpaceRoom? {
|
||||
func onUpdate(space: SpaceRoom?) { onUpdateClosure(space) }
|
||||
}
|
||||
|
||||
extension SDKListener: SpaceServiceSpaceFiltersListener where T == [SpaceFilterUpdate] {
|
||||
func onUpdate(filterUpdates: [SpaceFilterUpdate]) { onUpdateClosure(filterUpdates) }
|
||||
}
|
||||
|
||||
// MARK: Room
|
||||
|
||||
extension SDKListener: RoomInfoListener where T == RoomInfo {
|
||||
|
||||
@@ -26,6 +26,8 @@ enum TestablePreviewsDictionary {
|
||||
"BugReportScreen_Previews" : BugReportScreen_Previews.self,
|
||||
"CallInviteRoomTimelineView_Previews" : CallInviteRoomTimelineView_Previews.self,
|
||||
"CallNotificationRoomTimelineView_Previews" : CallNotificationRoomTimelineView_Previews.self,
|
||||
"ChatsSpaceFilterCell_Previews" : ChatsSpaceFilterCell_Previews.self,
|
||||
"ChatsSpaceFiltersScreen_Previews" : ChatsSpaceFiltersScreen_Previews.self,
|
||||
"CollapsibleRoomTimelineView_Previews" : CollapsibleRoomTimelineView_Previews.self,
|
||||
"CompletionSuggestion_Previews" : CompletionSuggestion_Previews.self,
|
||||
"ComposerToolbar_Previews" : ComposerToolbar_Previews.self,
|
||||
|
||||
Reference in New Issue
Block a user