// // 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 } }