对齐有线传图页 Android UI,并改用相对路径持久化本地照片。
还原顶栏、浮动卡片、时间侧栏与底部交互;照片路径改为 CameraDownloads 相对路径并兼容旧数据;格式 Chip 固定 JPG 且不可点击。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@ -0,0 +1,48 @@
|
||||
//
|
||||
// WiredTransferSelectAllBar.swift
|
||||
// suixinkan
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
/// 指定上传勾选模式下的全选栏。
|
||||
struct WiredTransferSelectAllBar: View {
|
||||
let selectedCount: Int
|
||||
let selectableCount: Int
|
||||
let allSelected: Bool
|
||||
let onToggleSelectAll: () -> Void
|
||||
|
||||
var body: some View {
|
||||
VStack(spacing: 0) {
|
||||
Button(action: onToggleSelectAll) {
|
||||
HStack(spacing: 8) {
|
||||
WiredTransferSelectIndicator(selected: allSelected, enabled: selectableCount > 0)
|
||||
Text("全选")
|
||||
.font(.system(size: 14))
|
||||
.foregroundStyle(selectableCount > 0 ? WiredTransferDesign.text333 : WiredTransferDesign.text999)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
Text("已选 \(selectedCount) / \(selectableCount)")
|
||||
.font(.system(size: 12))
|
||||
.foregroundStyle(WiredTransferDesign.text666)
|
||||
}
|
||||
.padding(.horizontal, 16)
|
||||
.padding(.vertical, 10)
|
||||
}
|
||||
.buttonStyle(.plain)
|
||||
Divider().background(WiredTransferDesign.borderLight)
|
||||
}
|
||||
.background(Color.white)
|
||||
}
|
||||
}
|
||||
|
||||
/// 勾选指示器。
|
||||
struct WiredTransferSelectIndicator: View {
|
||||
let selected: Bool
|
||||
var enabled: Bool = true
|
||||
|
||||
var body: some View {
|
||||
Image(systemName: selected ? "checkmark.circle.fill" : "circle")
|
||||
.font(.system(size: 20))
|
||||
.foregroundStyle(enabled ? (selected ? AppDesign.primary : WiredTransferDesign.text999) : WiredTransferDesign.text999.opacity(0.5))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user