// // CryptoChatViewCreateChat.swift // PayCash // // 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?.username else { return } EosioRpcProvider(endpoint: URL(string: Network.servers.current.node)!).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 } }