Files
2022-12-30 12:13:27 +03:00

65 lines
2.1 KiB
Swift

//
// CryptoChatViewCreateChat.swift
// Wallet
//
// Created by Saveliy Stavitsky on 8/27/20.
// Copyright © 2020 List. All rights reserved.
//
import UIKit
import EosioSwift
class CryptoChatViewCreateChat: CommonViewCustom {
@IBOutlet private weak var textField: CommonTextField!
@IBOutlet private var submitButton: CommonButtonAction!
weak var parent: CryptoChatControllerChats?
@IBAction private func onSubmit(_ : AnyObject?) {
let username = textField.value.lowercased().trimmingCharacters(in: CharacterSet.whitespaces)
guard username.count > 0,
username != Accounts().current?.name else { return }
let environment = ApplicationEnvironment.shared().current
guard let node = environment.node,
let url = URL(string: node) else {
self.textField.error = L10n.CryptoChat.Chats.createTextFieldError
return
}
EosioRpcProvider(endpoint: url, headers: environment.headers)
.getAccount(requestParameters: EosioRpcAccountRequest(accountName: username), completion: { [weak self] in
switch $0 {
case let .success(account):
self?.parent?.dismiss(animated: true)
self?.parent?.openChat(username: username, unreadCount: 0)
case let .failure(error):
self?.textField.error = L10n.CryptoChat.Chats.createTextFieldError
print(error)
}
})
}
override func setup() {
super.setup()
textField.lzTitle = L10n.CryptoChat.Chats.createTextFieldTitle
textField.lzPlaceholder = L10n.CryptoChat.Chats.createTextFieldTitle
textField.delegate = self
submitButton.isEnabled = false
}
}
extension CryptoChatViewCreateChat: CommonTextFieldDelegate {
func textFieldDidSubmit(_ textField: CommonTextField) {
onSubmit(nil)
}
func textFieldDidChange(_ textField: CommonTextField) {
submitButton.isEnabled = !textField.value.isEmpty
textField.error = nil
}
}