import UIKit import Shared import InputField import AppResources final class SettingsDeleteView: UIView { let titleLabel = UILabel() let subtitleView = TextWithInfoView() let iconImageView = UIImageView() let inputField = InputField() let stackView = UIStackView() let confirmButton = CapsuleButton() let cancelButton = CapsuleButton() var didTapInfo: (() -> Void)? init() { super.init(frame: .zero) backgroundColor = Asset.neutralWhite.color iconImageView.image = Asset.settingsDeleteLarge.image iconImageView.contentMode = .center inputField.setup( style: .regular, title: Localized.Settings.Delete.input, placeholder: "", leftView: .image(Asset.personGray.image), subtitleColor: Asset.neutralDisabled.color, allowsEmptySpace: false, autocapitalization: .none ) titleLabel.text = Localized.Settings.Delete.title titleLabel.textAlignment = .center titleLabel.textColor = Asset.neutralActive.color titleLabel.font = Fonts.Mulish.bold.font(size: 32.0) let paragraph = NSMutableParagraphStyle() paragraph.alignment = .center paragraph.lineHeightMultiple = 1.1 subtitleView.setup( text: Localized.Settings.Delete.subtitle, attributes: [ .foregroundColor: Asset.neutralActive.color, .font: Fonts.Mulish.regular.font(size: 16.0), .paragraphStyle: paragraph ], didTapInfo: { self.didTapInfo?() } ) confirmButton.setStyle(.red) confirmButton.isEnabled = false confirmButton.setTitle(Localized.Settings.Delete.delete, for: .normal) cancelButton.setStyle(.simplestColoredRed) cancelButton.setTitle(Localized.Settings.Delete.cancel, for: .normal) stackView.spacing = 12 stackView.axis = .vertical stackView.addArrangedSubview(confirmButton) stackView.addArrangedSubview(cancelButton) addSubview(iconImageView) addSubview(inputField) addSubview(titleLabel) addSubview(subtitleView) addSubview(stackView) iconImageView.snp.makeConstraints { $0.top.equalToSuperview().offset(30) $0.centerX.equalToSuperview() } titleLabel.snp.makeConstraints { $0.top.equalTo(iconImageView.snp.bottom).offset(34) $0.centerX.equalToSuperview() } subtitleView.snp.makeConstraints { $0.top.equalTo(titleLabel.snp.bottom).offset(20) $0.left.equalToSuperview().offset(50) $0.right.equalToSuperview().offset(-50) } inputField.snp.makeConstraints { $0.top.equalTo(subtitleView.snp.bottom).offset(50) $0.left.equalToSuperview().offset(24) $0.right.equalToSuperview().offset(-24) } stackView.snp.makeConstraints { $0.top.greaterThanOrEqualTo(inputField.snp.bottom).offset(20) $0.left.equalToSuperview().offset(50) $0.right.equalToSuperview().offset(-50) $0.bottom.equalToSuperview().offset(-44) } } required init?(coder: NSCoder) { nil } func setInfoClosure(_ closure: @escaping () -> Void) { didTapInfo = closure } }