35 lines
828 B
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))
|
|
}
|
|
}
|
|
}
|