From 9c392d31601b06a08c08aedee55951093c99f669 Mon Sep 17 00:00:00 2001 From: Kiryl Kaveryn Date: Fri, 23 May 2025 17:09:24 +0400 Subject: [PATCH] [ios] continues searching when the user tap on suggestion Signed-off-by: Kiryl Kaveryn --- .../Tests/UI/SearchOnMapTests/SearchOnMapTests.swift | 4 +++- .../UI/Search/SearchOnMap/SearchOnMapPresenter.swift | 12 ++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/iphone/Maps/Tests/UI/SearchOnMapTests/SearchOnMapTests.swift b/iphone/Maps/Tests/UI/SearchOnMapTests/SearchOnMapTests.swift index 3ceeae861..86140be75 100644 --- a/iphone/Maps/Tests/UI/SearchOnMapTests/SearchOnMapTests.swift +++ b/iphone/Maps/Tests/UI/SearchOnMapTests/SearchOnMapTests.swift @@ -219,8 +219,9 @@ final class SearchOnMapTests: XCTestCase { interactor.handle(.didSelectResult(result, withQuery: query)) XCTAssertEqual(view.viewModel.searchingText, "cafe") + XCTAssertEqual(view.viewModel.presentationStep, .fullScreen) XCTAssertEqual(view.viewModel.contentState, .searching) - XCTAssertEqual(view.viewModel.isTyping, false) + XCTAssertEqual(view.viewModel.isTyping, true) } func test_GivenSearchIsActive_WhenPasteDeeplink_ThenShowResult() { @@ -235,6 +236,7 @@ final class SearchOnMapTests: XCTestCase { interactor.onSearchCompleted() XCTAssertEqual(view.viewModel.contentState, .results(results)) + XCTAssertEqual(view.viewModel.presentationStep, .halfScreen) XCTAssertEqual(view.viewModel.isTyping, false) // No typing when deeplink is used } } diff --git a/iphone/Maps/UI/Search/SearchOnMap/SearchOnMapPresenter.swift b/iphone/Maps/UI/Search/SearchOnMap/SearchOnMapPresenter.swift index 6ce14565e..4d8978a36 100644 --- a/iphone/Maps/UI/Search/SearchOnMap/SearchOnMapPresenter.swift +++ b/iphone/Maps/UI/Search/SearchOnMap/SearchOnMapPresenter.swift @@ -78,8 +78,16 @@ final class SearchOnMapPresenter { viewModel.skipSuggestions = false viewModel.searchingText = query.text viewModel.contentState = .searching - viewModel.isTyping = false - viewModel.presentationStep = isRouting ? .hidden : .halfScreen + + switch query.source { + case .typedText, .suggestion: + viewModel.isTyping = true + case .category, .deeplink: + viewModel.isTyping = false + viewModel.presentationStep = isRouting ? .hidden : .halfScreen + @unknown default: + fatalError("Unknown search text source") + } case .clearSearch: viewModel.searchingText = "" viewModel.isTyping = true