61 lines
1.9 KiB
Swift
61 lines
1.9 KiB
Swift
//
|
|
// HomeStoreCardView.swift
|
|
// suixinkan
|
|
//
|
|
|
|
import SnapKit
|
|
import UIKit
|
|
|
|
/// 店铺管理员门店信息卡片。
|
|
final class HomeStoreCardView: UIView {
|
|
|
|
private let nameLabel = UILabel()
|
|
private let addressLabel = UILabel()
|
|
private let statusLabel = UILabel()
|
|
|
|
override init(frame: CGRect) {
|
|
super.init(frame: frame)
|
|
backgroundColor = AppColor.cardBackground
|
|
layer.cornerRadius = AppRadius.md
|
|
|
|
nameLabel.font = .app(.title)
|
|
nameLabel.textColor = AppColor.textPrimary
|
|
|
|
addressLabel.font = .app(.body)
|
|
addressLabel.textColor = AppColor.textSecondary
|
|
addressLabel.numberOfLines = 2
|
|
|
|
statusLabel.font = .app(.captionMedium)
|
|
statusLabel.textColor = AppColor.primary
|
|
|
|
addSubview(nameLabel)
|
|
addSubview(addressLabel)
|
|
addSubview(statusLabel)
|
|
|
|
nameLabel.snp.makeConstraints { make in
|
|
make.top.leading.equalToSuperview().offset(AppSpacing.screenHorizontalInset)
|
|
make.trailing.lessThanOrEqualTo(statusLabel.snp.leading).offset(-AppSpacing.xs)
|
|
}
|
|
statusLabel.snp.makeConstraints { make in
|
|
make.top.equalToSuperview().offset(AppSpacing.screenHorizontalInset)
|
|
make.trailing.equalToSuperview().offset(-AppSpacing.screenHorizontalInset)
|
|
}
|
|
addressLabel.snp.makeConstraints { make in
|
|
make.top.equalTo(nameLabel.snp.bottom).offset(AppSpacing.xs)
|
|
make.leading.trailing.equalToSuperview().inset(AppSpacing.screenHorizontalInset)
|
|
make.bottom.equalToSuperview().offset(-AppSpacing.screenHorizontalInset)
|
|
}
|
|
}
|
|
|
|
@available(*, unavailable)
|
|
required init?(coder: NSCoder) {
|
|
fatalError("init(coder:) has not been implemented")
|
|
}
|
|
|
|
func apply(store: StoreItem) {
|
|
nameLabel.text = store.name
|
|
addressLabel.text = store.address
|
|
statusLabel.text = store.statusText.isEmpty ? "营业中" : store.statusText
|
|
}
|
|
}
|