65 lines
2.1 KiB
Swift
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
|
|
}
|
|
}
|