Ferrite-backup/Ferrite/Views/ComponentViews/Library/HistoryActionsView.swift
kingbri 3828ffa539 Ferrite: Forward port UI
Remove all iOS 14 specific components and workarounds and comply
with SwiftUI 3.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-03-29 14:43:49 -04:00

55 lines
1.4 KiB
Swift

//
// HistoryActionsView.swift
// Ferrite
//
// Created by Brian Dashore on 9/7/22.
//
import SwiftUI
struct HistoryActionsView: View {
@EnvironmentObject var logManager: LoggingManager
@State private var showActionSheet = false
var body: some View {
Button("Clear") {
showActionSheet.toggle()
}
.tint(.red)
.confirmationDialog(
"Clear watch history",
isPresented: $showActionSheet,
titleVisibility: .visible
) {
Button("Past day", role: .destructive) {
deleteHistory(.day)
}
Button("Past week", role: .destructive) {
deleteHistory(.week)
}
Button("Past month", role: .destructive) {
deleteHistory(.month)
}
Button("All time", role: .destructive) {
deleteHistory(.allTime)
}
} message: {
Text("This is an irreversible action!")
}
}
func deleteHistory(_ deleteRange: HistoryDeleteRange) {
do {
try PersistenceController.shared.batchDeleteHistory(range: deleteRange)
} catch {
logManager.error("History delete error: \(error)")
}
}
}
struct HistoryActionsView_Previews: PreviewProvider {
static var previews: some View {
HistoryActionsView()
}
}