Add support for initiating and responding to user verification requests (#3759)

This commit is contained in:
Stefan Ceriu
2025-02-10 20:07:11 +02:00
committed by GitHub
parent 22d0fae423
commit 8680d8437b
94 changed files with 528 additions and 208 deletions
@@ -20,6 +20,7 @@ struct UserProfileScreenCoordinatorParameters {
enum UserProfileScreenCoordinatorAction {
case openDirectChat(roomID: String)
case startCall(roomID: String)
case verifyUser(userID: String)
case dismiss
}
@@ -51,6 +52,8 @@ final class UserProfileScreenCoordinator: CoordinatorProtocol {
actionsSubject.send(.openDirectChat(roomID: roomID))
case .startCall(let roomID):
actionsSubject.send(.startCall(roomID: roomID))
case .verifyUser(let userID):
actionsSubject.send(.verifyUser(userID: userID))
case .dismiss:
actionsSubject.send(.dismiss)
}
@@ -10,6 +10,7 @@ import Foundation
enum UserProfileScreenViewModelAction {
case openDirectChat(roomID: String)
case startCall(roomID: String)
case verifyUser(userID: String)
case dismiss
}
@@ -47,6 +48,7 @@ enum UserProfileScreenViewAction {
case openDirectChat
case createDirectChat
case startCall(roomID: String)
case verifyUser
case dismiss
}
@@ -66,6 +66,8 @@ class UserProfileScreenViewModel: UserProfileScreenViewModelType, UserProfileScr
Task { await createDirectChat() }
case .startCall(let roomID):
actionsSubject.send(.startCall(roomID: roomID))
case .verifyUser:
actionsSubject.send(.verifyUser(userID: state.userID))
case .dismiss:
actionsSubject.send(.dismiss)
}
@@ -88,11 +88,10 @@ struct UserProfileScreen: View {
var verificationSection: some View {
if context.viewState.showVerificationSection {
Section {
ListRow(label: .default(title: L10n.commonVerifyIdentity,
description: L10n.screenRoomMemberDetailsVerifyButtonSubtitle,
icon: \.lock),
kind: .button { })
.disabled(true)
ListRow(label: .default(title: L10n.commonVerifyUser, icon: \.lock),
kind: .button {
context.send(viewAction: .verifyUser)
})
}
}
}