Files
suixinkan_uikit/suixinkan/UI/Orders/Views/OrderActionButton.swift
汉秋 fe84a7e8f4 Rebuild order list UI to strictly match Android OrderView and DepositOrderCard.
Add OrderTokens and shared order components, restore filter bar pills, list loading states, and role-specific card layouts with deposit badge mapping tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 09:12:06 +08:00

50 lines
1.4 KiB
Swift
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// OrderActionButton.swift
// suixinkan
//
import SnapKit
import UIKit
/// Android `AppButton`
final class OrderActionButton: UIButton {
enum Style {
case destructiveLight
case primaryFilled
case primaryLight
case dangerFilled
}
init(title: String, style: Style) {
super.init(frame: .zero)
setTitle(title, for: .normal)
titleLabel?.font = .app(.subtitle)
layer.cornerRadius = AppRadius.sm
clipsToBounds = true
switch style {
case .destructiveLight:
setTitleColor(AppColor.danger, for: .normal)
backgroundColor = AppColor.dangerBackground
case .primaryFilled:
setTitleColor(.white, for: .normal)
backgroundColor = AppColor.primary
case .primaryLight:
setTitleColor(AppColor.primary, for: .normal)
backgroundColor = OrderTokens.chipBackground
layer.cornerRadius = AppRadius.lg
case .dangerFilled:
setTitleColor(.white, for: .normal)
backgroundColor = AppColor.danger
}
snp.makeConstraints { make in
make.height.equalTo(OrderTokens.actionButtonHeight)
}
}
@available(*, unavailable)
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}