mirror of
https://github.com/sudosylabs/vnidrop.git
synced 2026-08-05 10:29:58 +02:00
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:
@@ -176,7 +176,7 @@ final class ReceiveModel: ObservableObject {
|
||||
text: .resource("receive_completed"),
|
||||
tone: .success,
|
||||
actionLabel: canReveal ? .resource("button_show_in_files") : nil,
|
||||
onAction: canReveal ? { [weak self] in self?.revealReceiveFolder(folder) } : nil
|
||||
onAction: canReveal ? { self.revealReceiveFolder(folder) } : nil
|
||||
))
|
||||
case .failure(let error):
|
||||
if error.isUserCancellation {
|
||||
@@ -193,7 +193,7 @@ final class ReceiveModel: ObservableObject {
|
||||
text: uiText,
|
||||
tone: .error,
|
||||
actionLabel: .resource("button_retry"),
|
||||
onAction: { [weak self] in self?.receive() }
|
||||
onAction: { self.receive() }
|
||||
))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ struct ReceiveScreen: View {
|
||||
NavigationStack {
|
||||
Group {
|
||||
if transfers.isEmpty {
|
||||
ScrollView { emptyState }
|
||||
emptyState
|
||||
} else {
|
||||
history
|
||||
}
|
||||
@@ -88,11 +88,11 @@ struct ReceiveScreen: View {
|
||||
}
|
||||
|
||||
private var emptyState: some View {
|
||||
EmptyStateView(
|
||||
systemImage: "tray.and.arrow.down",
|
||||
title: String(localized: "receive_empty_title"),
|
||||
message: String(localized: "receive_empty_body")
|
||||
) {
|
||||
ContentUnavailableView {
|
||||
Label(String(localized: "receive_empty_title"), systemImage: "tray.and.arrow.down")
|
||||
} description: {
|
||||
Text(LocalizedStringKey("receive_empty_body"))
|
||||
} actions: {
|
||||
Button(action: model.openAcquisition) {
|
||||
Label(String(localized: "button_receive_files"), systemImage: "plus")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user