AutoCat2/AutoCat2SUI/Extensions/Alert.swift

35 lines
828 B
Swift

//
// Alert.swift
// AutoCat2SUI
//
// Created by Selim Mustafaev on 24.07.2022.
//
import SwiftUI
enum AlertMessage: Identifiable {
case info(title: String, body: String)
case error(error: Error)
var id: Int {
switch self {
case .info(let title, let body):
return title.hashValue + body.hashValue
case .error(let error):
return error.localizedDescription.hashValue
}
}
}
extension Alert {
init(_ message: AlertMessage) {
switch message {
case .info(let title, let body):
self.init(title: Text(title), message: Text(body))
case .error(let error):
//let msg = (error as NSError).displayMessage
self.init(title: Text(""), message: Text(error.localizedDescription))
}
}
}