mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-02 12:07:55 +00:00
Permalink Tweaks (#2768)
* Revert back to creating a new flow when re-selecting the same room. Fix the composer bug by adding IDs to the all of the module AnyViews. * Don't show the live timeline when starting with a focussed event.
This commit is contained in:
@@ -62,6 +62,7 @@ struct RoomDetailsScreen: View {
|
||||
}
|
||||
}
|
||||
.navigationTitle(L10n.screenRoomDetailsTitle)
|
||||
.navigationBarTitleDisplayMode(.inline)
|
||||
.track(screen: .RoomDetails)
|
||||
.interactiveQuickLook(item: $context.mediaPreviewItem, shouldHideControls: true)
|
||||
}
|
||||
|
||||
@@ -95,28 +95,28 @@ class RoomScreenViewModel: RoomScreenViewModelType, RoomScreenViewModelProtocol
|
||||
bindings: .init(reactionsCollapsed: [:])),
|
||||
imageProvider: mediaProvider)
|
||||
|
||||
// This may change to load the detached timeline directly.
|
||||
if let focussedEventID {
|
||||
Task { await focusOnEvent(eventID: focussedEventID) }
|
||||
if focussedEventID != nil {
|
||||
// The timeline controller will start loading a detached timeline.
|
||||
showFocusLoadingIndicator()
|
||||
}
|
||||
|
||||
setupSubscriptions()
|
||||
setupDirectRoomSubscriptionsIfNeeded()
|
||||
|
||||
state.timelineItemMenuActionProvider = { [weak self] itemId -> TimelineItemMenuActions? in
|
||||
state.timelineItemMenuActionProvider = { [weak self] itemID -> TimelineItemMenuActions? in
|
||||
guard let self else {
|
||||
return nil
|
||||
}
|
||||
|
||||
return self.roomScreenInteractionHandler.timelineItemMenuActionsForItemId(itemId)
|
||||
return self.roomScreenInteractionHandler.timelineItemMenuActionsForItemId(itemID)
|
||||
}
|
||||
|
||||
state.audioPlayerStateProvider = { [weak self] itemId -> AudioPlayerState? in
|
||||
state.audioPlayerStateProvider = { [weak self] itemID -> AudioPlayerState? in
|
||||
guard let self else {
|
||||
return nil
|
||||
}
|
||||
|
||||
return self.roomScreenInteractionHandler.audioPlayerState(for: itemId)
|
||||
return self.roomScreenInteractionHandler.audioPlayerState(for: itemID)
|
||||
}
|
||||
|
||||
buildTimelineViews()
|
||||
@@ -191,8 +191,10 @@ class RoomScreenViewModel: RoomScreenViewModelType, RoomScreenViewModelProtocol
|
||||
case .focusLive:
|
||||
focusLive()
|
||||
case .scrolledToFocussedItem:
|
||||
// Use a Task to mutate view state after the current view update.
|
||||
Task { state.timelineViewState.focussedEventNeedsDisplay = false }
|
||||
Task { // Use a Task to mutate view state after the current view update.
|
||||
state.timelineViewState.focussedEventNeedsDisplay = false
|
||||
hideFocusLoadingIndicator()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user