还原顶栏、浮动卡片、时间侧栏与底部交互;照片路径改为 CameraDownloads 相对路径并兼容旧数据;格式 Chip 固定 JPG 且不可点击。 Co-authored-by: Cursor <cursoragent@cursor.com>
46 lines
1.4 KiB
Swift
46 lines
1.4 KiB
Swift
//
|
||
// WiredTransferHeaderView.swift
|
||
// suixinkan
|
||
//
|
||
|
||
import SwiftUI
|
||
|
||
/// 有线传图页蓝色顶栏,展示相册名与手机号。
|
||
struct WiredTransferHeaderView: View {
|
||
let albumTitle: String
|
||
let headerPhone: String
|
||
let onBack: () -> Void
|
||
|
||
var body: some View {
|
||
VStack(spacing: 0) {
|
||
HStack(alignment: .center, spacing: 0) {
|
||
Button(action: onBack) {
|
||
Image(systemName: "chevron.left")
|
||
.font(.system(size: 18, weight: .semibold))
|
||
.foregroundStyle(.white)
|
||
.frame(width: 44, height: 44)
|
||
}
|
||
.buttonStyle(.plain)
|
||
|
||
VStack(alignment: .leading, spacing: 2) {
|
||
Text(albumTitle)
|
||
.font(.system(size: 20, weight: .bold))
|
||
.foregroundStyle(.white)
|
||
.lineLimit(1)
|
||
if !headerPhone.isEmpty {
|
||
Text(headerPhone)
|
||
.font(.system(size: 13))
|
||
.foregroundStyle(.white.opacity(0.92))
|
||
.lineLimit(1)
|
||
}
|
||
}
|
||
.frame(maxWidth: .infinity, alignment: .leading)
|
||
.padding(.trailing, 8)
|
||
}
|
||
.padding(.bottom, 22)
|
||
}
|
||
.frame(maxWidth: .infinity)
|
||
.background(AppDesign.primary)
|
||
}
|
||
}
|