diff options
Diffstat (limited to 'macos/Sources/Features/Update/UpdatePill.swift')
| -rw-r--r-- | macos/Sources/Features/Update/UpdatePill.swift | 18 |
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) |
