Skip to content

Commit 47a7279

Browse files
authored
Fix a couple of bugs in managing terms (#24960)
* Fix deleting tag confirmation dialog location Fixes https://linear.app/a8c/issue/CMM-877 * Hide empty view after adding a term Fixes https://linear.app/a8c/issue/CMM-876
1 parent 81d1c36 commit 47a7279

File tree

2 files changed

+36
-26
lines changed

2 files changed

+36
-26
lines changed

WordPress/Classes/ViewRelated/Tags/EditTagView.swift

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,30 @@ struct EditTagView: View {
5454

5555
if viewModel.isExistingTag {
5656
Section {
57-
Button(action: {
57+
Button(role: .destructive) {
5858
viewModel.showDeleteConfirmation = true
59-
}) {
59+
} label: {
6060
Text(SharedStrings.Button.delete)
6161
.foregroundColor(.red)
6262
}
63+
.frame(maxWidth: .infinity)
64+
}
65+
.confirmationDialog(
66+
Strings.deleteConfirmationTitle,
67+
isPresented: $viewModel.showDeleteConfirmation,
68+
titleVisibility: .visible
69+
) {
70+
Button(SharedStrings.Button.delete, role: .destructive) {
71+
Task {
72+
let success = await viewModel.deleteTag()
73+
if success {
74+
dismiss()
75+
}
76+
}
77+
}
78+
Button(SharedStrings.Button.cancel, role: .cancel) { }
79+
} message: {
80+
Text(Strings.deleteConfirmationMessage)
6381
}
6482
}
6583
}
@@ -78,23 +96,6 @@ struct EditTagView: View {
7896
.disabled(viewModel.tagName.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty)
7997
}
8098
}
81-
.confirmationDialog(
82-
Strings.deleteConfirmationTitle,
83-
isPresented: $viewModel.showDeleteConfirmation,
84-
titleVisibility: .visible
85-
) {
86-
Button(SharedStrings.Button.delete, role: .destructive) {
87-
Task {
88-
let success = await viewModel.deleteTag()
89-
if success {
90-
dismiss()
91-
}
92-
}
93-
}
94-
Button(SharedStrings.Button.cancel, role: .cancel) { }
95-
} message: {
96-
Text(Strings.deleteConfirmationMessage)
97-
}
9899
.alert(SharedStrings.Error.generic, isPresented: $viewModel.showError) {
99100
Button(SharedStrings.Button.ok) { }
100101
} message: {

WordPress/Classes/ViewRelated/Tags/SiteTagsView.swift

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,7 @@ private struct TagsListView: View {
5555
.listStyle(.plain)
5656
.overlay {
5757
if let response = viewModel.response {
58-
if response.isEmpty {
59-
EmptyStateView(
60-
viewModel.labels.empty,
61-
systemImage: "tag",
62-
description: viewModel.labels.emptyDescription
63-
)
64-
}
58+
NoTermView(viewModel: viewModel, response: response)
6559
} else if viewModel.isLoading {
6660
ProgressView()
6761
} else if let error = viewModel.error {
@@ -76,6 +70,21 @@ private struct TagsListView: View {
7670
}
7771
}
7872

73+
private struct NoTermView: View {
74+
@ObservedObject var viewModel: TagsViewModel
75+
@ObservedObject var response: TagsPaginatedResponse
76+
77+
var body: some View {
78+
if response.isEmpty {
79+
EmptyStateView(
80+
viewModel.labels.empty,
81+
systemImage: "tag",
82+
description: viewModel.labels.emptyDescription
83+
)
84+
}
85+
}
86+
}
87+
7988
private struct TagsSearchView: View {
8089
@ObservedObject var viewModel: TagsViewModel
8190

0 commit comments

Comments
 (0)