[iOS] Create public space #143

- Update after design review
This commit is contained in:
Gil Eluard
2021-12-01 23:56:59 +01:00
parent 1217be55ab
commit 4890ce2108
109 changed files with 1122 additions and 529 deletions
@@ -22,8 +22,33 @@ import Combine
@available(iOS 14.0, *)
class SpaceCreationEmailInvitesService: SpaceCreationEmailInvitesServiceProtocol {
private let session: MXSession
private(set) var isLoadingSubject: CurrentValueSubject<Bool, Never>
var isIdentityServiceReady: Bool {
if let identityService = session.identityService {
return identityService.areAllTermsAgreed
}
return false
}
init(session: MXSession) {
self.session = session
isLoadingSubject = CurrentValueSubject(false)
}
func validate(_ emailAddresses: [String]) -> [Bool] {
return emailAddresses.map { $0.isEmpty || MXTools.isEmailAddress($0) }
}
func prepareIdentityService(prepared: ((String?, String?) -> Void)?, failure: ((Error?) -> Void)?) {
isLoadingSubject.send(true)
session.prepareIdentityServiceForTerms(withDefault: RiotSettings.shared.identityServerUrlString) { [weak self] session, baseURL, accessToken in
self?.isLoadingSubject.send(false)
prepared?(baseURL, accessToken)
} failure: { [weak self] error in
self?.isLoadingSubject.send(false)
failure?(error)
}
}
}