还原顶栏、浮动卡片、时间侧栏与底部交互;照片路径改为 CameraDownloads 相对路径并兼容旧数据;格式 Chip 固定 JPG 且不可点击。 Co-authored-by: Cursor <cursoragent@cursor.com>
40 lines
1.1 KiB
Swift
40 lines
1.1 KiB
Swift
//
|
|
// WiredTransferStatusBadge.swift
|
|
// suixinkan
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
/// 有线传图上传状态 Badge。
|
|
struct WiredTransferStatusBadge: View {
|
|
let status: WiredTransferUploadStatus
|
|
|
|
var body: some View {
|
|
Text(status.displayLabel)
|
|
.font(.system(size: 9))
|
|
.foregroundStyle(textColor)
|
|
.padding(.horizontal, 4)
|
|
.padding(.vertical, 1)
|
|
.background(backgroundColor)
|
|
.clipShape(RoundedRectangle(cornerRadius: 3))
|
|
}
|
|
|
|
private var textColor: Color {
|
|
switch status {
|
|
case .uploaded: WiredTransferDesign.success
|
|
case .pending: WiredTransferDesign.text666
|
|
case .transferring, .uploading: AppDesign.primary
|
|
case .failed: WiredTransferDesign.danger
|
|
}
|
|
}
|
|
|
|
private var backgroundColor: Color {
|
|
switch status {
|
|
case .uploaded: WiredTransferDesign.success.opacity(0.12)
|
|
case .pending: WiredTransferDesign.pageBackground
|
|
case .transferring, .uploading: AppDesign.primary.opacity(0.12)
|
|
case .failed: WiredTransferDesign.danger.opacity(0.12)
|
|
}
|
|
}
|
|
}
|