Join room by address (#3840)

* Implemented join room by address

* improved the text field typing

* some improvements to how the text is edited

* remove navigation link

* moved room directory search to the start chat flow

* updated preview tests

* added unit tests and improved the code

* updated strings

* some pr suggestions:

- moving the file
- changing the name of the action
- reintroduce the debounce text queries
- add comments

* renamed the auth text field style to Element

updated tests
This commit is contained in:
Mauro
2025-02-28 13:35:15 +01:00
committed by GitHub
parent 2b58f57483
commit 7f6ea1c2ae
54 changed files with 611 additions and 340 deletions
@@ -20,6 +20,7 @@ struct StartChatScreenCoordinatorParameters {
enum StartChatScreenCoordinatorAction {
case close
case openRoom(withIdentifier: String)
case openRoomDirectorySearch
}
final class StartChatScreenCoordinator: CoordinatorProtocol {
@@ -48,7 +49,8 @@ final class StartChatScreenCoordinator: CoordinatorProtocol {
viewModel = StartChatScreenViewModel(userSession: parameters.userSession,
analytics: ServiceLocator.shared.analytics,
userIndicatorController: parameters.userIndicatorController,
userDiscoveryService: parameters.userDiscoveryService)
userDiscoveryService: parameters.userDiscoveryService,
appSettings: ServiceLocator.shared.settings)
}
func start() {
@@ -60,8 +62,10 @@ final class StartChatScreenCoordinator: CoordinatorProtocol {
case .createRoom:
// before creating a room we select the users we would like to invite in that room
presentInviteUsersScreen()
case .openRoom(let identifier):
case .showRoom(let identifier):
actionsSubject.send(.openRoom(withIdentifier: identifier))
case .openRoomDirectorySearch:
actionsSubject.send(.openRoomDirectorySearch)
}
}
.store(in: &cancellables)