39 lines
925 B
Swift
39 lines
925 B
Swift
import SFSafeSymbols
|
|
import SwiftUICore
|
|
|
|
enum SaveState {
|
|
case storageNotInitialized
|
|
case savingPausedDueToLoadErrors
|
|
case isSaved
|
|
case needsSave
|
|
case failedToSave
|
|
|
|
var symbol: SFSymbol {
|
|
switch self {
|
|
case .storageNotInitialized:
|
|
return .folderCircleFill
|
|
case .savingPausedDueToLoadErrors:
|
|
return .exclamationmarkCircleFill
|
|
case .isSaved:
|
|
return .checkmarkCircleFill
|
|
case .needsSave:
|
|
return .hourglassCircleFill
|
|
case .failedToSave:
|
|
return .exclamationmarkTriangleFill
|
|
}
|
|
}
|
|
|
|
var color: Color {
|
|
switch self {
|
|
case .storageNotInitialized:
|
|
return .red
|
|
case .isSaved:
|
|
return .green
|
|
case .needsSave:
|
|
return .yellow
|
|
case .failedToSave, .savingPausedDueToLoadErrors:
|
|
return .red
|
|
}
|
|
}
|
|
}
|