Refactor Alerts

This commit is contained in:
世界
2025-12-01 18:22:06 +08:00
parent 8e764c56eb
commit 4ddfcdb324
40 changed files with 324 additions and 224 deletions
+4 -4
View File
@@ -49,7 +49,7 @@ private struct LogViewContent: View {
}
}
}
.alertBinding($viewModel.alert)
.alert($viewModel.alert)
.background(
LogExportView(
showFileExporter: $viewModel.showFileExporter,
@@ -242,7 +242,7 @@ private struct LogViewContent: View {
private struct LogExportView: View {
@Binding var showFileExporter: Bool
@Binding var logFileURL: URL?
@Binding var alert: Alert?
@Binding var alert: AlertState?
@State private var showShareSheet = false
let cleanup: () -> Void
@@ -257,7 +257,7 @@ private struct LogViewContent: View {
cleanup()
logFileURL = nil
if case let .failure(error) = result {
alert = Alert(error)
alert = AlertState(error: error)
}
}
.sheet(isPresented: $showShareSheet) {
@@ -320,7 +320,7 @@ private struct LogViewContent: View {
#elseif os(macOS)
private struct ShareView: NSViewRepresentable {
let items: [Any]
@Binding var alert: Alert?
@Binding var alert: AlertState?
func makeNSView(context _: Context) -> NSView {
let view = NSView()
@@ -16,7 +16,7 @@ public class LogViewModel: ObservableObject {
@Published public var searchText = ""
@Published public var isSearching = false
@Published public var filteredLogs: [LogEntry] = []
@Published public var alert: Alert?
@Published public var alert: AlertState?
@Published public var showFileExporter = false
@Published public var logFileURL: URL?
@@ -146,7 +146,7 @@ public class LogViewModel: ObservableObject {
try text.write(to: fileURL, atomically: true, encoding: .utf8)
logFileURL = fileURL
} catch {
alert = Alert(error)
alert = AlertState(error: error)
}
}
#endif