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>
This commit is contained in:
2026-07-07 09:12:06 +08:00
parent 87696a4774
commit fe84a7e8f4
17 changed files with 1235 additions and 379 deletions

View File

@ -0,0 +1,44 @@
//
// OrderTokens.swift
// suixinkan
//
import CoreGraphics
import UIKit
/// Android `OrderListScreen` / `DepositOrderListScreen` inline
enum OrderTokens {
// MARK: - Colors
static let filterBackground = UIColor(hex: 0xF4F4F4)
static let searchPlaceholder = UIColor(hex: 0xB6BECA)
static let label563 = UIColor(hex: 0x4B5563)
static let timestamp = UIColor(hex: 0x6B7280)
static let orderNumber = UIColor.black
static let chipBackground = UIColor(hex: 0xEFF6FF)
static let phoneIconBackground = UIColor(hex: 0xEFF6FF)
static let giftBorder = UIColor(hex: 0xE5E7EB)
static let sourceBorder = UIColor(hex: 0xE6EAF0)
static let sourceBackground = UIColor(hex: 0xF9FAFC)
static let depositSuccess = UIColor(hex: 0x27AE60)
static let depositSuccessBackground = UIColor(hex: 0xE8F8F0)
static let depositRefunded = UIColor(hex: 0x6B7280)
static let depositRefundedBackground = UIColor(hex: 0xF3F4F6)
static let remarkDivider = UIColor(hex: 0xF4F4F4)
static let valueBlack = UIColor.black
// MARK: - Layout
static let searchHeight: CGFloat = 36
static let filterPillHeight: CGFloat = 35
static let actionButtonHeight: CGFloat = 48
static let cardRadius: CGFloat = 12
static let pillRadius: CGFloat = 4
static let cardPadding: CGFloat = 16
static let cardGap: CGFloat = 12
static let filterGap: CGFloat = 8
static let infoRowSpacing: CGFloat = 8
static let dividerHeight: CGFloat = 0.5
static let refundButtonWidthRatio: CGFloat = 0.3
}