summaryrefslogtreecommitdiff
path: root/macos/Sources/Features/Update/UpdatePill.swift
diff options
context:
space:
mode:
Diffstat (limited to 'macos/Sources/Features/Update/UpdatePill.swift')
-rw-r--r--macos/Sources/Features/Update/UpdatePill.swift18
1 files changed, 17 insertions, 1 deletions
diff --git a/macos/Sources/Features/Update/UpdatePill.swift b/macos/Sources/Features/Update/UpdatePill.swift
index dda9ad607..1dc29e250 100644
--- a/macos/Sources/Features/Update/UpdatePill.swift
+++ b/macos/Sources/Features/Update/UpdatePill.swift
@@ -15,13 +15,29 @@ struct UpdatePill: View {
UpdatePopoverView(model: model)
}
.transition(.opacity.combined(with: .scale(scale: 0.95)))
+ .onChange(of: model.state) { newState in
+ if case .notFound = newState {
+ Task {
+ try? await Task.sleep(for: .seconds(5))
+ if case .notFound = model.state {
+ model.state = .idle
+ }
+ }
+ }
+ }
}
}
/// The pill-shaped button view that displays the update badge and text
@ViewBuilder
private var pillButton: some View {
- Button(action: { showPopover.toggle() }) {
+ Button(action: {
+ if case .notFound = model.state {
+ model.state = .idle
+ } else {
+ showPopover.toggle()
+ }
+ }) {
HStack(spacing: 6) {
UpdateBadge(model: model)
.frame(width: 14, height: 14)