41 lines
1.2 KiB
Swift
41 lines
1.2 KiB
Swift
//
|
|
// Copyright 2021-2024 New Vector Ltd.
|
|
//
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
// Please see LICENSE in the repository root for full details.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
enum SpaceCreationSettingsAddressValidationStatus {
|
|
case none(_ address: String)
|
|
case current(_ address: String)
|
|
case valid(_ address: String)
|
|
case alreadyExists(_ address: String)
|
|
case invalidCharacters(_ address: String)
|
|
|
|
var message: String {
|
|
switch self {
|
|
case .none(let fullAddress):
|
|
return VectorL10n.spacesCreationAddressDefaultMessage(fullAddress)
|
|
case .current(let fullAddress):
|
|
return VectorL10n.spaceSettingsCurrentAddressMessage(fullAddress)
|
|
case .valid(let fullAddress):
|
|
return VectorL10n.spacesCreationAddressDefaultMessage(fullAddress)
|
|
case .alreadyExists(let fullAddress):
|
|
return VectorL10n.spacesCreationAddressAlreadyExists(fullAddress)
|
|
case .invalidCharacters(let fullAddress):
|
|
return VectorL10n.spacesCreationAddressInvalidCharacters(fullAddress)
|
|
}
|
|
}
|
|
|
|
var isValid: Bool {
|
|
switch self {
|
|
case .none, .current, .valid:
|
|
return true
|
|
default:
|
|
return false
|
|
}
|
|
}
|
|
}
|