mirror of
https://github.com/yattee/yattee.git
synced 2026-07-20 14:22:02 +00:00
Fix duplicate log actions in macOS settings toolbar
The Filter/Export/Clear buttons appeared twice on macOS: inline next to the search bar and again inside the ellipsis toolbar menu. Show them once as plain toolbar buttons on macOS; keep the menu on iOS/tvOS.
This commit is contained in:
@@ -20,38 +20,7 @@ struct LogViewerView: View {
|
|||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
VStack(spacing: 0) {
|
VStack(spacing: 0) {
|
||||||
#if os(macOS)
|
|
||||||
HStack(spacing: 8) {
|
|
||||||
searchBar
|
|
||||||
|
|
||||||
Button {
|
|
||||||
showingFilters = true
|
|
||||||
} label: {
|
|
||||||
Label(String(localized: "settings.advanced.logs.filter"), systemImage: "line.3.horizontal.decrease.circle")
|
|
||||||
.labelStyle(.iconOnly)
|
|
||||||
}
|
|
||||||
.help(String(localized: "settings.advanced.logs.filter"))
|
|
||||||
|
|
||||||
Button {
|
|
||||||
showMacOSSavePanel()
|
|
||||||
} label: {
|
|
||||||
Label(String(localized: "settings.advanced.logs.export"), systemImage: "square.and.arrow.up")
|
|
||||||
.labelStyle(.iconOnly)
|
|
||||||
}
|
|
||||||
.help(String(localized: "settings.advanced.logs.export"))
|
|
||||||
|
|
||||||
Button(role: .destructive) {
|
|
||||||
loggingService.clearLogs()
|
|
||||||
} label: {
|
|
||||||
Label(String(localized: "settings.advanced.logs.clear"), systemImage: "trash")
|
|
||||||
.labelStyle(.iconOnly)
|
|
||||||
}
|
|
||||||
.help(String(localized: "settings.advanced.logs.clear"))
|
|
||||||
}
|
|
||||||
.padding(.trailing)
|
|
||||||
#else
|
|
||||||
searchBar
|
searchBar
|
||||||
#endif
|
|
||||||
|
|
||||||
// Log list
|
// Log list
|
||||||
logList
|
logList
|
||||||
@@ -61,6 +30,34 @@ struct LogViewerView: View {
|
|||||||
.navigationBarTitleDisplayMode(.inline)
|
.navigationBarTitleDisplayMode(.inline)
|
||||||
#endif
|
#endif
|
||||||
.toolbar {
|
.toolbar {
|
||||||
|
#if os(macOS)
|
||||||
|
ToolbarItem(placement: .primaryAction) {
|
||||||
|
Button {
|
||||||
|
showingFilters = true
|
||||||
|
} label: {
|
||||||
|
Label(String(localized: "settings.advanced.logs.filter"), systemImage: "line.3.horizontal.decrease.circle")
|
||||||
|
}
|
||||||
|
.help(String(localized: "settings.advanced.logs.filter"))
|
||||||
|
}
|
||||||
|
|
||||||
|
ToolbarItem(placement: .primaryAction) {
|
||||||
|
Button {
|
||||||
|
showMacOSSavePanel()
|
||||||
|
} label: {
|
||||||
|
Label(String(localized: "settings.advanced.logs.export"), systemImage: "square.and.arrow.up")
|
||||||
|
}
|
||||||
|
.help(String(localized: "settings.advanced.logs.export"))
|
||||||
|
}
|
||||||
|
|
||||||
|
ToolbarItem(placement: .primaryAction) {
|
||||||
|
Button(role: .destructive) {
|
||||||
|
loggingService.clearLogs()
|
||||||
|
} label: {
|
||||||
|
Label(String(localized: "settings.advanced.logs.clear"), systemImage: "trash")
|
||||||
|
}
|
||||||
|
.help(String(localized: "settings.advanced.logs.clear"))
|
||||||
|
}
|
||||||
|
#else
|
||||||
ToolbarItem(placement: .primaryAction) {
|
ToolbarItem(placement: .primaryAction) {
|
||||||
Menu {
|
Menu {
|
||||||
Button {
|
Button {
|
||||||
@@ -70,11 +67,7 @@ struct LogViewerView: View {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Button {
|
Button {
|
||||||
#if os(macOS)
|
|
||||||
showMacOSSavePanel()
|
|
||||||
#else
|
|
||||||
showingExportSheet = true
|
showingExportSheet = true
|
||||||
#endif
|
|
||||||
} label: {
|
} label: {
|
||||||
Label(String(localized: "settings.advanced.logs.export"), systemImage: "square.and.arrow.up")
|
Label(String(localized: "settings.advanced.logs.export"), systemImage: "square.and.arrow.up")
|
||||||
}
|
}
|
||||||
@@ -90,6 +83,7 @@ struct LogViewerView: View {
|
|||||||
Image(systemName: "ellipsis.circle")
|
Image(systemName: "ellipsis.circle")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
.sheet(isPresented: $showingFilters) {
|
.sheet(isPresented: $showingFilters) {
|
||||||
LogFiltersSheet(loggingService: loggingService)
|
LogFiltersSheet(loggingService: loggingService)
|
||||||
|
|||||||
Reference in New Issue
Block a user