Skip to content

Commit ce5ed8e

Browse files
committed
fix: better handling of plural and singular titles
1 parent 9f6b3fc commit ce5ed8e

File tree

9 files changed

+68
-18
lines changed

9 files changed

+68
-18
lines changed

Sources/Screens/File/FileCopy.swift

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,11 @@ struct FileCopy: View {
3030
VStack {
3131
if isProcessing, !errorIsPresented {
3232
VOSheetProgressView()
33-
Text("Copying \(fileStore.selection.count) item(s).")
33+
if fileStore.selection.count > 1 {
34+
Text("Copying (\(fileStore.selection.count)) item.")
35+
} else {
36+
Text("Copying item.")
37+
}
3438
} else if errorIsPresented, errorSeverity == .full {
3539
VOErrorIcon()
3640
if let errorMessage {
@@ -74,7 +78,11 @@ struct FileCopy: View {
7478
if result.failed.isEmpty {
7579
return true
7680
} else {
77-
errorMessage = "Failed to copy \(result.failed.count) item(s)."
81+
if result.failed.count > 1 {
82+
errorMessage = "Failed to copy (\(result.failed.count)) items."
83+
} else {
84+
errorMessage = "Failed to copy item."
85+
}
7886
if result.failed.count < fileStore.selection.count {
7987
errorSeverity = .partial
8088
} else if result.failed.count == fileStore.selection.count {
@@ -88,7 +96,11 @@ struct FileCopy: View {
8896
errorIsPresented = false
8997
dismiss()
9098
} failure: { _ in
91-
errorMessage = "Failed to copy \(fileStore.selection.count) item(s)."
99+
if fileStore.selection.count > 1 {
100+
errorMessage = "Failed to copy (\(fileStore.selection.count)) items."
101+
} else {
102+
errorMessage = "Failed to copy item."
103+
}
92104
errorSeverity = .full
93105
errorIsPresented = true
94106
} anyways: {

Sources/Screens/File/FileDelete.swift

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ struct FileDelete: View {
2828
VStack {
2929
if isProcessing, !errorIsPresented {
3030
VOSheetProgressView()
31-
Text("Deleting \(fileStore.selection.count) item(s).")
31+
if fileStore.selection.count > 1 {
32+
Text("Deleting (\(fileStore.selection.count)) items.")
33+
} else {
34+
Text("Deleting item.")
35+
}
3236
} else if errorIsPresented, errorSeverity == .full {
3337
VOErrorIcon()
3438
if let errorMessage {
@@ -70,7 +74,11 @@ struct FileDelete: View {
7074
if result.failed.isEmpty {
7175
return true
7276
} else {
73-
errorMessage = "Failed to delete \(result.failed.count) item(s)."
77+
if result.failed.count > 1 {
78+
errorMessage = "Failed to delete (\(result.failed.count)) items."
79+
} else {
80+
errorMessage = "Failed to delete item."
81+
}
7482
if result.failed.count < fileStore.selection.count {
7583
errorSeverity = .partial
7684
} else if result.failed.count == fileStore.selection.count {
@@ -84,7 +92,11 @@ struct FileDelete: View {
8492
errorIsPresented = false
8593
dismiss()
8694
} failure: { _ in
87-
errorMessage = "Failed to delete \(fileStore.selection.count) item(s)."
95+
if fileStore.selection.count > 1 {
96+
errorMessage = "Failed to delete (\(fileStore.selection.count)) items."
97+
} else {
98+
errorMessage = "Failed to delete item."
99+
}
88100
errorSeverity = .full
89101
errorIsPresented = true
90102
} anyways: {

Sources/Screens/File/FileDownload.swift

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,11 @@ struct FileDownload: View {
3131
VStack {
3232
if isProcessing, !errorIsPresented {
3333
VOSheetProgressView()
34-
Text("Downloading \(fileStore.selectionFiles.count) item(s).")
34+
if fileStore.selectionFiles.count > 1 {
35+
Text("Downloading (\(fileStore.selectionFiles.count)) items.")
36+
} else {
37+
Text("Downloading item.")
38+
}
3539
} else if errorIsPresented, errorSeverity == .full {
3640
VOErrorIcon()
3741
if let errorMessage {
@@ -110,7 +114,11 @@ struct FileDownload: View {
110114
dismiss()
111115
} else {
112116
let count = fileStore.selection.count - urls.count
113-
errorMessage = "Failed to download \(count) item(s)."
117+
if count > 1 {
118+
errorMessage = "Failed to download (\(count)) items."
119+
} else {
120+
errorMessage = "Failed to download item."
121+
}
114122
if count < fileStore.selection.count {
115123
errorSeverity = .partial
116124
} else {

Sources/Screens/File/FileMove.swift

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,11 @@ struct FileMove: View {
3030
VStack {
3131
if isProcessing, !errorIsPresented {
3232
VOSheetProgressView()
33-
Text("Moving \(fileStore.selection.count) item(s).")
33+
if fileStore.selection.count > 1 {
34+
Text("Moving (\(fileStore.selection.count)) items.")
35+
} else {
36+
Text("Moving item.")
37+
}
3438
} else if errorIsPresented, errorSeverity == .full {
3539
VOErrorIcon()
3640
if let errorMessage {
@@ -72,7 +76,11 @@ struct FileMove: View {
7276
if result.failed.isEmpty {
7377
return true
7478
} else {
75-
errorMessage = "Failed to move \(result.failed.count) item(s)."
79+
if result.failed.count > 1 {
80+
errorMessage = "Failed to move (\(result.failed.count)) items."
81+
} else {
82+
errorMessage = "Failed to move item."
83+
}
7684
if result.failed.count < fileStore.selection.count {
7785
errorSeverity = .partial
7886
} else if result.failed.count == fileStore.selection.count {
@@ -86,7 +94,11 @@ struct FileMove: View {
8694
errorIsPresented = false
8795
dismiss()
8896
} failure: { _ in
89-
errorMessage = "Failed to move \(fileStore.selection.count) item(s)."
97+
if fileStore.selection.count > 1 {
98+
errorMessage = "Failed to move (\(fileStore.selection.count)) items."
99+
} else {
100+
errorMessage = "Failed to move item."
101+
}
90102
errorSeverity = .full
91103
errorIsPresented = true
92104
} anyways: {

Sources/Screens/File/FileStore.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class FileStore: ObservableObject {
3838
}
3939

4040
@Published var renameIsPresented = false
41-
@Published var deleteIsPresented = false
41+
@Published var deleteConfirmationIsPresented = false
4242
@Published var downloadIsPresented = false
4343
@Published var browserForMoveIsPresented = false
4444
@Published var browserForCopyIsPresented = false

Sources/Screens/File/FileUpload.swift

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,11 @@ struct FileUpload: View {
3232
VStack {
3333
if isProcessing, !errorIsPresented {
3434
VOSheetProgressView()
35-
Text("Uploading \(urls.count) item(s).")
35+
if urls.count > 1 {
36+
Text("Uploading (\(urls.count)) items.")
37+
} else {
38+
Text("Uploading item.")
39+
}
3640
} else if errorIsPresented, errorSeverity == .full {
3741
VOErrorIcon()
3842
if let errorMessage {
@@ -94,7 +98,11 @@ struct FileUpload: View {
9498
errorIsPresented = false
9599
dismiss()
96100
} else {
97-
errorMessage = "Failed to upload \(failedCount) item(s)."
101+
if failedCount > 1 {
102+
errorMessage = "Failed to upload (\(failedCount)) items."
103+
} else {
104+
errorMessage = "Failed to upload item."
105+
}
98106
if failedCount == urls.count {
99107
errorSeverity = .full
100108
} else if failedCount < urls.count {

Sources/Screens/Sharing/SharingBatch.swift

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,6 @@ struct SharingBatch: View, TokenDistributing {
5454
}
5555
}
5656
}
57-
.navigationBarTitleDisplayMode(.inline)
58-
.navigationTitle("Sharing")
5957
.onAppear {
6058
if let token = tokenStore.token {
6159
assignTokenToStores(token)

Sources/Screens/Sharing/SharingGroupPermission.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ struct SharingGroupPermission: View, FormValidatable, ErrorPresentable {
100100
}
101101
}
102102
.navigationBarTitleDisplayMode(.inline)
103-
.navigationTitle("Group Permission")
103+
.navigationTitle(fileIDs.count > 1 ? "Sharing (\(fileIDs.count)) Items" : "Sharing")
104104
.toolbar {
105105
if enableCancel {
106106
ToolbarItem(placement: .topBarLeading) {

Sources/Screens/Sharing/SharingUserPermission.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ struct SharingUserPermission: View, FormValidatable, ErrorPresentable {
103103
}
104104
}
105105
.navigationBarTitleDisplayMode(.inline)
106-
.navigationTitle("User Permission")
106+
.navigationTitle(fileIDs.count > 1 ? "Sharing (\(fileIDs.count)) Items" : "Sharing")
107107
.toolbar {
108108
if enableCancel {
109109
ToolbarItem(placement: .topBarLeading) {

0 commit comments

Comments
 (0)