// // WiredTransferEmptyState.swift // suixinkan // import SwiftUI /// 有线传图空态,对齐 Android TransferEmptyState。 struct WiredTransferEmptyState: View { var body: some View { VStack(spacing: 8) { WiredTransferEmptyIllustration() .frame(width: 200, height: 150) Text("暂无传输文件") .font(.system(size: 14)) .foregroundStyle(WiredTransferDesign.text999) .multilineTextAlignment(.center) } .padding(.horizontal, 32) } } /// 空态插图,对齐 Android ic_img_transfer 布局尺寸。 private struct WiredTransferEmptyIllustration: View { var body: some View { ZStack { Ellipse() .fill(Color(hex: 0xE7E9EB)) .frame(width: 180, height: 28) .offset(y: 52) RoundedRectangle(cornerRadius: 14) .fill(Color.white) .frame(width: 56, height: 96) .overlay { RoundedRectangle(cornerRadius: 8) .fill(Color(hex: 0xE7E9EB)) .frame(width: 36, height: 36) .offset(y: -16) } .overlay { RoundedRectangle(cornerRadius: 14) .stroke(Color(hex: 0xDDE1E5), lineWidth: 2) } .offset(x: -36, y: -8) RoundedRectangle(cornerRadius: 8) .fill(WiredTransferDesign.text333) .frame(width: 52, height: 34) .overlay { Circle() .fill(AppDesign.primary) .frame(width: 16, height: 16) .offset(x: 8) } .offset(x: 42, y: 4) HStack(spacing: 0) { Rectangle() .fill(AppDesign.primary) .frame(width: 18, height: 4) Image(systemName: "arrowtriangle.right.fill") .font(.system(size: 8)) .foregroundStyle(AppDesign.primary) } .offset(x: 4, y: 4) } } }