mirror of
https://github.com/omnivore-app/omnivore.git
synced 2026-03-11 08:54:26 +00:00
Proper case-insensitive compare on the labels in the share extension
This commit is contained in:
parent
86bd9ec66e
commit
8f6b2663c4
3 changed files with 10 additions and 2 deletions
|
|
@ -14,6 +14,7 @@ public struct ShareExtensionView: View {
|
|||
@State var hideUntilReminded = false
|
||||
@State var previousLabels: [LinkedItemLabel]?
|
||||
@State var messageText: String?
|
||||
@State var searchTerm: String = ""
|
||||
|
||||
@State var viewState = ViewState.mainView
|
||||
@State var showHighlightInstructionAlert = false
|
||||
|
|
@ -175,6 +176,7 @@ public struct ShareExtensionView: View {
|
|||
} else {
|
||||
VStack {
|
||||
ScrollView {
|
||||
SearchBar(searchTerm: $searchTerm)
|
||||
LabelsMasonaryView(labels: labelsViewModel.labels,
|
||||
selectedLabels: labelsViewModel.selectedLabels,
|
||||
onLabelTap: onLabelTap)
|
||||
|
|
|
|||
|
|
@ -30,7 +30,9 @@ struct LabelsMasonaryView: View {
|
|||
let selected = selectedLabels.map { (label: $0, selected: true) }
|
||||
let unselected = allLabels.filter { !selectedLabels.contains($0) }.map { (label: $0, selected: false) }
|
||||
labelItems = (selected + unselected).sorted(by: { left, right in
|
||||
(left.label.name ?? "") < (right.label.name ?? "")
|
||||
let aTrimmed = left.label.unwrappedName.trimmingCharacters(in: .whitespaces)
|
||||
let bTrimmed = right.label.unwrappedName.trimmingCharacters(in: .whitespaces)
|
||||
return aTrimmed.caseInsensitiveCompare(bTrimmed) == .orderedAscending
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,11 @@ import Views
|
|||
@Published var labelSearchFilter = ""
|
||||
|
||||
func setLabels(_ labels: [LinkedItemLabel]) {
|
||||
self.labels = labels.sorted { $0.unwrappedName.trimmingCharacters(in: .whitespaces) < $1.unwrappedName.trimmingCharacters(in: .whitespaces) }
|
||||
self.labels = labels.sorted { left, right in
|
||||
let aTrimmed = left.unwrappedName.trimmingCharacters(in: .whitespaces)
|
||||
let bTrimmed = right.unwrappedName.trimmingCharacters(in: .whitespaces)
|
||||
return aTrimmed.caseInsensitiveCompare(bTrimmed) == .orderedAscending
|
||||
}
|
||||
}
|
||||
|
||||
func loadLabels(
|
||||
|
|
|
|||
Loading…
Reference in a new issue