mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-07 12:58:39 +00:00
Add thread specific route mappings
This commit is contained in:
committed by
Stefan Ceriu
parent
4cb8ae3ef6
commit
1ff1813b01
@@ -346,24 +346,24 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
case (.inviteUsersScreen, .dismissInviteUsersScreen, .roomMembersList):
|
case (.inviteUsersScreen, .dismissInviteUsersScreen, .roomMembersList):
|
||||||
break
|
break
|
||||||
|
|
||||||
case (.room, .presentReportContent, .reportContent(let itemID, let senderID)):
|
case (.room, .presentReportContent, .reportContent(let itemID, let senderID, _)):
|
||||||
presentReportContent(for: itemID, from: senderID)
|
presentReportContent(for: itemID, from: senderID)
|
||||||
case (.reportContent, .dismissReportContent, .room):
|
case (.reportContent, .dismissReportContent, .room):
|
||||||
break
|
break
|
||||||
|
|
||||||
case (.room, .presentMediaUploadPicker, .mediaUploadPicker(let source)):
|
case (.room, .presentMediaUploadPicker, .mediaUploadPicker(let source, _)):
|
||||||
presentMediaUploadPickerWithSource(source)
|
presentMediaUploadPickerWithSource(source)
|
||||||
case (.mediaUploadPicker, .dismissMediaUploadPicker, .room):
|
case (.mediaUploadPicker, .dismissMediaUploadPicker, .room):
|
||||||
break
|
break
|
||||||
|
|
||||||
case (.mediaUploadPicker, .presentMediaUploadPreview, .mediaUploadPreview(let fileURL)):
|
case (.mediaUploadPicker, .presentMediaUploadPreview, .mediaUploadPreview(let fileURL, _)):
|
||||||
presentMediaUploadPreviewScreen(for: fileURL, animated: animated)
|
presentMediaUploadPreviewScreen(for: fileURL, animated: animated)
|
||||||
case (.room, .presentMediaUploadPreview, .mediaUploadPreview(let fileURL)):
|
case (.room, .presentMediaUploadPreview, .mediaUploadPreview(let fileURL, _)):
|
||||||
presentMediaUploadPreviewScreen(for: fileURL, animated: animated)
|
presentMediaUploadPreviewScreen(for: fileURL, animated: animated)
|
||||||
case (.mediaUploadPreview, .dismissMediaUploadPreview, .room):
|
case (.mediaUploadPreview, .dismissMediaUploadPreview, .room):
|
||||||
break
|
break
|
||||||
|
|
||||||
case (_, .presentEmojiPicker, .emojiPicker(let itemID, let selectedEmoji)):
|
case (_, .presentEmojiPicker, .emojiPicker(let itemID, let selectedEmoji, _)):
|
||||||
presentEmojiPicker(for: itemID, selectedEmoji: selectedEmoji)
|
presentEmojiPicker(for: itemID, selectedEmoji: selectedEmoji)
|
||||||
case (.emojiPicker, .dismissEmojiPicker, _):
|
case (.emojiPicker, .dismissEmojiPicker, _):
|
||||||
break
|
break
|
||||||
|
|||||||
@@ -57,18 +57,18 @@ extension RoomFlowCoordinator {
|
|||||||
case roomMemberDetails(userID: String, previousState: State)
|
case roomMemberDetails(userID: String, previousState: State)
|
||||||
case userProfile(userID: String, previousState: State)
|
case userProfile(userID: String, previousState: State)
|
||||||
case inviteUsersScreen(previousState: State)
|
case inviteUsersScreen(previousState: State)
|
||||||
case mediaUploadPicker(source: MediaPickerScreenSource)
|
case mediaUploadPicker(source: MediaPickerScreenSource, previousState: State)
|
||||||
case mediaUploadPreview(fileURL: URL)
|
case mediaUploadPreview(fileURL: URL, previousState: State)
|
||||||
case emojiPicker(itemID: TimelineItemIdentifier, selectedEmojis: Set<String>)
|
case emojiPicker(itemID: TimelineItemIdentifier, selectedEmojis: Set<String>, previousState: State)
|
||||||
case mapNavigator
|
case mapNavigator(previousState: State)
|
||||||
case messageForwarding(forwardingItem: MessageForwardingItem)
|
case messageForwarding(forwardingItem: MessageForwardingItem, previousState: State)
|
||||||
case reportContent(itemID: TimelineItemIdentifier, senderID: String)
|
case reportContent(itemID: TimelineItemIdentifier, senderID: String, previousState: State)
|
||||||
case pollForm
|
case pollForm(previousState: State)
|
||||||
case pollsHistory
|
case pollsHistory
|
||||||
case pollsHistoryForm
|
case pollsHistoryForm
|
||||||
case rolesAndPermissions
|
case rolesAndPermissions
|
||||||
case pinnedEventsTimeline(previousState: State)
|
case pinnedEventsTimeline(previousState: State)
|
||||||
case resolveSendFailure
|
case resolveSendFailure(previousState: State)
|
||||||
case knockRequestsList(previousState: State)
|
case knockRequestsList(previousState: State)
|
||||||
case mediaEventsTimeline(previousState: State)
|
case mediaEventsTimeline(previousState: State)
|
||||||
case securityAndPrivacy(previousState: State)
|
case securityAndPrivacy(previousState: State)
|
||||||
@@ -182,41 +182,27 @@ extension RoomFlowCoordinator {
|
|||||||
return .complete
|
return .complete
|
||||||
|
|
||||||
case (.room, .presentReportContent(let itemID, let senderID)):
|
case (.room, .presentReportContent(let itemID, let senderID)):
|
||||||
return .reportContent(itemID: itemID, senderID: senderID)
|
return .reportContent(itemID: itemID, senderID: senderID, previousState: fromState)
|
||||||
case (.reportContent, .dismissReportContent):
|
|
||||||
return .room
|
|
||||||
|
|
||||||
case (.room, .presentMediaUploadPicker(let source)):
|
case (.room, .presentMediaUploadPicker(let source)):
|
||||||
return .mediaUploadPicker(source: source)
|
return .mediaUploadPicker(source: source, previousState: fromState)
|
||||||
case (.mediaUploadPicker, .dismissMediaUploadPicker):
|
|
||||||
return .room
|
|
||||||
|
|
||||||
case (.mediaUploadPicker, .presentMediaUploadPreview(let fileURL)):
|
case (.mediaUploadPicker, .presentMediaUploadPreview(let fileURL)):
|
||||||
return .mediaUploadPreview(fileURL: fileURL)
|
return .mediaUploadPreview(fileURL: fileURL, previousState: fromState)
|
||||||
case (.room, .presentMediaUploadPreview(let fileURL)):
|
case (.room, .presentMediaUploadPreview(let fileURL)):
|
||||||
return .mediaUploadPreview(fileURL: fileURL)
|
return .mediaUploadPreview(fileURL: fileURL, previousState: fromState)
|
||||||
case (.mediaUploadPreview, .dismissMediaUploadPreview):
|
|
||||||
return .room
|
|
||||||
|
|
||||||
case (.room, .presentEmojiPicker(let itemID, let selectedEmoji)):
|
case (.room, .presentEmojiPicker(let itemID, let selectedEmoji)):
|
||||||
return .emojiPicker(itemID: itemID, selectedEmojis: selectedEmoji)
|
return .emojiPicker(itemID: itemID, selectedEmojis: selectedEmoji, previousState: fromState)
|
||||||
case (.emojiPicker, .dismissEmojiPicker):
|
|
||||||
return .room
|
|
||||||
|
|
||||||
case (.room, .presentMessageForwarding(let forwardingItem)):
|
case (.room, .presentMessageForwarding(let forwardingItem)):
|
||||||
return .messageForwarding(forwardingItem: forwardingItem)
|
return .messageForwarding(forwardingItem: forwardingItem, previousState: fromState)
|
||||||
case (.messageForwarding, .dismissMessageForwarding):
|
|
||||||
return .room
|
|
||||||
|
|
||||||
case (.room, .presentMapNavigator):
|
case (.room, .presentMapNavigator):
|
||||||
return .mapNavigator
|
return .mapNavigator(previousState: fromState)
|
||||||
case (.mapNavigator, .dismissMapNavigator):
|
|
||||||
return .room
|
|
||||||
|
|
||||||
case (.room, .presentPollForm):
|
case (.room, .presentPollForm):
|
||||||
return .pollForm
|
return .pollForm(previousState: fromState)
|
||||||
case (.pollForm, .dismissPollForm):
|
|
||||||
return .room
|
|
||||||
|
|
||||||
case (.room, .presentPinnedEventsTimeline):
|
case (.room, .presentPinnedEventsTimeline):
|
||||||
return .pinnedEventsTimeline(previousState: fromState)
|
return .pinnedEventsTimeline(previousState: fromState)
|
||||||
@@ -226,16 +212,61 @@ extension RoomFlowCoordinator {
|
|||||||
return previousState
|
return previousState
|
||||||
|
|
||||||
case (.room, .presentResolveSendFailure):
|
case (.room, .presentResolveSendFailure):
|
||||||
return .resolveSendFailure
|
return .resolveSendFailure(previousState: fromState)
|
||||||
case (.resolveSendFailure, .dismissResolveSendFailure):
|
|
||||||
return .room
|
|
||||||
|
|
||||||
// Thread
|
// Thread
|
||||||
case (_, .presentThread(let itemID)):
|
case (.room, .presentThread(let itemID)):
|
||||||
return .thread(itemID: itemID)
|
return .thread(itemID: itemID)
|
||||||
case (_, .dismissThread):
|
case (.thread, .dismissThread):
|
||||||
return .room
|
return .room
|
||||||
|
|
||||||
|
case (.thread, .presentReportContent(let itemID, let senderID)):
|
||||||
|
return .reportContent(itemID: itemID, senderID: senderID, previousState: fromState)
|
||||||
|
|
||||||
|
case (.thread, .presentMediaUploadPicker(let source)):
|
||||||
|
return .mediaUploadPicker(source: source, previousState: fromState)
|
||||||
|
|
||||||
|
case (.thread, .presentMediaUploadPreview(let fileURL)):
|
||||||
|
return .mediaUploadPreview(fileURL: fileURL, previousState: fromState)
|
||||||
|
|
||||||
|
case (.thread, .presentEmojiPicker(let itemID, let selectedEmoji)):
|
||||||
|
return .emojiPicker(itemID: itemID, selectedEmojis: selectedEmoji, previousState: fromState)
|
||||||
|
|
||||||
|
case (.thread, .presentMessageForwarding(let forwardingItem)):
|
||||||
|
return .messageForwarding(forwardingItem: forwardingItem, previousState: fromState)
|
||||||
|
|
||||||
|
case (.thread, .presentMapNavigator):
|
||||||
|
return .mapNavigator(previousState: fromState)
|
||||||
|
|
||||||
|
case (.thread, .presentPollForm):
|
||||||
|
return .pollForm(previousState: fromState)
|
||||||
|
|
||||||
|
case (.thread, .presentResolveSendFailure):
|
||||||
|
return .resolveSendFailure(previousState: fromState)
|
||||||
|
|
||||||
|
// Room + Thread
|
||||||
|
|
||||||
|
case (.mediaUploadPicker(_, let previousState), .dismissMediaUploadPicker):
|
||||||
|
return previousState
|
||||||
|
|
||||||
|
case (.emojiPicker(_, _, let previouState), .dismissEmojiPicker):
|
||||||
|
return previouState
|
||||||
|
|
||||||
|
case (.reportContent(_, _, let previousState), .dismissReportContent):
|
||||||
|
return previousState
|
||||||
|
|
||||||
|
case (.messageForwarding(_, let previousState), .dismissMessageForwarding):
|
||||||
|
return previousState
|
||||||
|
|
||||||
|
case (.mapNavigator(let previousState), .dismissMapNavigator):
|
||||||
|
return previousState
|
||||||
|
|
||||||
|
case (.pollForm(let previousState), .dismissPollForm):
|
||||||
|
return previousState
|
||||||
|
|
||||||
|
case (.resolveSendFailure(let previousState), .dismissResolveSendFailure):
|
||||||
|
return previousState
|
||||||
|
|
||||||
// Room Details
|
// Room Details
|
||||||
|
|
||||||
case (.initial, .presentRoomDetails):
|
case (.initial, .presentRoomDetails):
|
||||||
@@ -319,6 +350,9 @@ extension RoomFlowCoordinator {
|
|||||||
case (.knockRequestsList(let previousState), .dismissKnockRequestsListScreen):
|
case (.knockRequestsList(let previousState), .dismissKnockRequestsListScreen):
|
||||||
return previousState
|
return previousState
|
||||||
|
|
||||||
|
case (.mediaUploadPreview(_, let previousState), .dismissMediaUploadPreview):
|
||||||
|
return previousState
|
||||||
|
|
||||||
case (.notificationSettings, .presentGlobalNotificationSettingsScreen):
|
case (.notificationSettings, .presentGlobalNotificationSettingsScreen):
|
||||||
return .globalNotificationSettings
|
return .globalNotificationSettings
|
||||||
case (.globalNotificationSettings, .dismissGlobalNotificationSettingsScreen):
|
case (.globalNotificationSettings, .dismissGlobalNotificationSettingsScreen):
|
||||||
|
|||||||
Reference in New Issue
Block a user