feat(apple): storage screen, About content, and fixes

- Settings: add Storage screen (size breakdown + delete-all-transfers) and
  expand About (what it is/isn't, privacy & security, license/source)
- Move Report a bug to a toolbar sheet (cancel-only unless empty)
- Send progress: derive the list-row bar from receiver delivery status so it
  clears once every receiver completes
- Fixes: iPad orientations, onChange(of:) iOS 17 API, weak-self captures,
  invalid SF Symbol, macOS bug-report form labels; bump core build target to
  match the app (18.2/15.0)
This commit is contained in:
2026-07-19 13:58:20 +02:00
parent ceccfcda71
commit bfa489def1
13 changed files with 685 additions and 132 deletions

View File

@@ -94,30 +94,3 @@ struct Field: View {
}
}
// MARK: - EmptyStateView
/// Native-styled empty state (iOS 16 compatible; avoids iOS 17
/// `ContentUnavailableView`).
struct EmptyStateView<Actions: View>: View {
let systemImage: String
let title: String
let message: String
@ViewBuilder var actions: () -> Actions
var body: some View {
VStack(spacing: 12) {
Image(systemName: systemImage)
.font(.system(size: 52))
.foregroundStyle(.secondary)
Text(title).font(.title2).fontWeight(.semibold).multilineTextAlignment(.center)
Text(message)
.font(.body).foregroundStyle(.secondary)
.multilineTextAlignment(.center)
.frame(maxWidth: 420)
actions().padding(.top, 4)
}
.frame(maxWidth: .infinity)
.padding(.horizontal, 24)
.padding(.vertical, 48)
}
}