fix: show sidebar update banner from background checks (#1543)
This commit is contained in:
parent
3b507d361f
commit
971b2b4e77
7 changed files with 167 additions and 20 deletions
|
|
@ -6,6 +6,7 @@ import Sparkle
|
|||
class UpdateViewModel: ObservableObject {
|
||||
@Published var state: UpdateState = .idle
|
||||
@Published var overrideState: UpdateState?
|
||||
@Published var detectedUpdateVersion: String?
|
||||
#if DEBUG
|
||||
@Published var debugOverrideText: String?
|
||||
#endif
|
||||
|
|
@ -14,6 +15,14 @@ class UpdateViewModel: ObservableObject {
|
|||
overrideState ?? state
|
||||
}
|
||||
|
||||
func recordDetectedUpdate(_ item: SUAppcastItem) {
|
||||
detectedUpdateVersion = Self.normalizedDetectedUpdateVersion(from: item.displayVersionString)
|
||||
}
|
||||
|
||||
func clearDetectedUpdate() {
|
||||
detectedUpdateVersion = nil
|
||||
}
|
||||
|
||||
var text: String {
|
||||
#if DEBUG
|
||||
if let debugOverrideText { return debugOverrideText }
|
||||
|
|
@ -334,6 +343,11 @@ class UpdateViewModel: ObservableObject {
|
|||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
static func normalizedDetectedUpdateVersion(from version: String) -> String? {
|
||||
let trimmed = version.trimmingCharacters(in: .whitespacesAndNewlines)
|
||||
return trimmed.isEmpty ? nil : trimmed
|
||||
}
|
||||
}
|
||||
|
||||
enum UpdateState: Equatable {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue