diff --git a/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/View/ComposerToolbar.swift b/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/View/ComposerToolbar.swift index 04cd67085..94a0eac33 100644 --- a/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/View/ComposerToolbar.swift +++ b/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/View/ComposerToolbar.swift @@ -110,13 +110,6 @@ struct ComposerToolbar: View { RoomAttachmentPicker(context: context) } messageComposer - .environmentObject(context) - .onTapGesture { - guard !composerFocused else { return } - composerFocused = true - } - .padding(.leading, context.composerActionsEnabled ? 7 : 0) - .padding(.trailing, context.composerActionsEnabled ? 4 : 0) } .opacity(context.viewState.isVoiceMessageModeActivated ? 0 : 1) @@ -177,7 +170,14 @@ struct ComposerToolbar: View { } onAppearAction: { context.send(viewAction: .composerAppeared) } + .environmentObject(context) .focused($composerFocused) + .padding(.leading, context.composerActionsEnabled ? 7 : 0) + .padding(.trailing, context.composerActionsEnabled ? 4 : 0) + .onTapGesture { + guard !composerFocused else { return } + composerFocused = true + } .onChange(of: context.composerFocused) { newValue in guard composerFocused != newValue else { return } diff --git a/ElementX/Sources/Screens/RoomScreen/RoomScreenViewModel.swift b/ElementX/Sources/Screens/RoomScreen/RoomScreenViewModel.swift index 049d65bba..f0331b637 100644 --- a/ElementX/Sources/Screens/RoomScreen/RoomScreenViewModel.swift +++ b/ElementX/Sources/Screens/RoomScreen/RoomScreenViewModel.swift @@ -787,7 +787,7 @@ extension EnvironmentValues { get { self[RoomContextKey.self] } set { self[RoomContextKey.self] = newValue } } - + /// An event ID which will be non-nil when a timeline item should show as focussed. var focussedEventID: String? { get { self[FocussedEventID.self] } diff --git a/ElementX/Sources/Screens/RoomScreen/View/RoomScreen.swift b/ElementX/Sources/Screens/RoomScreen/View/RoomScreen.swift index fdc36c319..583168139 100644 --- a/ElementX/Sources/Screens/RoomScreen/View/RoomScreen.swift +++ b/ElementX/Sources/Screens/RoomScreen/View/RoomScreen.swift @@ -45,7 +45,7 @@ struct RoomScreen: View { } .padding(.top, 8) .background(Color.compound.bgCanvasDefault.ignoresSafeArea()) - .environmentObject(context) + .environment(\.roomContext, context) } .navigationTitle(L10n.screenRoomTitle) // Hidden but used for back button text. .navigationBarTitleDisplayMode(.inline) diff --git a/UnitTests/Sources/RoomPollsHistoryScreenViewModelTests.swift b/UnitTests/Sources/RoomPollsHistoryScreenViewModelTests.swift index bcc1744bf..a934e335a 100644 --- a/UnitTests/Sources/RoomPollsHistoryScreenViewModelTests.swift +++ b/UnitTests/Sources/RoomPollsHistoryScreenViewModelTests.swift @@ -27,7 +27,6 @@ class RoomPollsHistoryScreenViewModelTests: XCTestCase { override func setUpWithError() throws { interactionHandler = PollInteractionHandlerMock() timelineController = MockRoomTimelineController() - let roomProxyMockConfiguration = RoomProxyMockConfiguration(name: "Polls") viewModel = RoomPollsHistoryScreenViewModel(pollInteractionHandler: interactionHandler, roomTimelineController: timelineController, userIndicatorController: UserIndicatorControllerMock())