Files
suixinkan_uikit/suixinkan/UI/Profile/ProfileStatusBadgeView.swift
T

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