51 lines
1.2 KiB
Swift
51 lines
1.2 KiB
Swift
//
|
|
// ProfileStatusBadgeView.swift
|
|
// suixinkan
|
|
//
|
|
|
|
import SnapKit
|
|
import UIKit
|
|
|
|
/// 个人信息页状态标签,内部委托 `AppStatusBadge`。
|
|
final class ProfileStatusBadgeView: UIView {
|
|
|
|
enum Style {
|
|
case accountActive
|
|
case scenic
|
|
case auditPending
|
|
case auditApproved
|
|
case auditRejected
|
|
case bankPending
|
|
case bankApproved
|
|
case bankRejected
|
|
}
|
|
|
|
private let badge = AppStatusBadge()
|
|
|
|
override init(frame: CGRect) {
|
|
super.init(frame: frame)
|
|
addSubview(badge)
|
|
badge.snp.makeConstraints { make in
|
|
make.edges.equalToSuperview()
|
|
}
|
|
}
|
|
|
|
@available(*, unavailable)
|
|
required init?(coder: NSCoder) {
|
|
fatalError("init(coder:) has not been implemented")
|
|
}
|
|
|
|
func apply(style: Style, text: String) {
|
|
switch style {
|
|
case .accountActive:
|
|
badge.apply(tone: .success, text: text)
|
|
case .scenic, .auditApproved, .bankApproved:
|
|
badge.apply(tone: .info, text: text)
|
|
case .auditPending, .bankPending:
|
|
badge.apply(tone: .warning, text: text)
|
|
case .auditRejected, .bankRejected:
|
|
badge.apply(tone: .danger, text: text)
|
|
}
|
|
}
|
|
}
|