Skip to content

Commit 7e7437b

Browse files
author
Reed Es
committed
various refinements
1 parent 79bbd06 commit 7e7437b

File tree

3 files changed

+19
-6
lines changed

3 files changed

+19
-6
lines changed

Sources/Internal/EditDetail.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ struct EditDetail<Element, Detail>: View
9595

9696
ToolbarItem(placement: .cancellationAction) {
9797
Button(action: cancelAction) {
98-
Text(isSaveAvailable ? "Cancel" : "Close")
98+
Text("Cancel")
9999
}
100100
.keyboardShortcut(.cancelAction)
101101
}
@@ -104,7 +104,6 @@ struct EditDetail<Element, Detail>: View
104104
Text("Save")
105105
}
106106
.keyboardShortcut(.defaultAction)
107-
.opacity(isSaveAvailable ? 1 : 0)
108107
.disabled(!canSave)
109108
}
110109
}

Sources/Menus/EditDetailerContextMenu.swift

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,18 @@ public struct EditDetailerContextMenu<Element>: ViewModifier
4444
element.wrappedValue)
4545
}
4646

47+
private var isDeleteAvailable: Bool {
48+
config.onDelete != nil
49+
}
50+
4751
public func body(content: Content) -> some View {
4852
content
4953
.contextMenu {
5054
DetailerEditButton(element: element, canEdit: config.canEdit) { toEdit = $0 }
51-
Divider()
52-
DetailerDeleteButton(element: element, canDelete: config.canDelete, onDelete: config.onDelete)
55+
if isDeleteAvailable {
56+
Divider()
57+
DetailerDeleteButton(element: element, canDelete: config.canDelete, onDelete: config.onDelete)
58+
}
5359
}
5460
}
5561
}

Sources/Menus/EditDetailerSwipeMenu.swift

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,23 @@ public struct EditDetailerSwipeMenu<Element>: ViewModifier
4545
element.wrappedValue)
4646
}
4747

48+
private var isDeleteAvailable: Bool {
49+
config.onDelete != nil
50+
}
51+
4852
public func body(content: Content) -> some View {
4953
content
5054
.swipeActions(edge: .leading, allowsFullSwipe: true) {
5155
DetailerEditButton(element: element, canEdit: config.canEdit) { toEdit = $0 }
5256
.tint(.accentColor)
5357
}
5458
.swipeActions(edge: .trailing, allowsFullSwipe: true) {
55-
DetailerDeleteButton(element: element, canDelete: config.canDelete, onDelete: config.onDelete)
56-
.tint(.red)
59+
if isDeleteAvailable {
60+
DetailerDeleteButton(element: element, canDelete: config.canDelete, onDelete: config.onDelete)
61+
.tint(.red)
62+
} else {
63+
EmptyView()
64+
}
5765
}
5866
}
5967
}

0 commit comments

Comments
 (0)