Fix first click on detected update pill (#2117)

This commit is contained in:
Austin Wang 2026-03-25 00:51:34 -07:00 committed by GitHub
parent 57237d9faa
commit ffb660dee8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 77 additions and 3 deletions

View file

@ -11,7 +11,12 @@ struct UpdatePopoverView: View {
VStack(alignment: .leading, spacing: 0) {
switch model.effectiveState {
case .idle:
EmptyView()
if let detectedVersion = model.detectedUpdateVersion,
model.showsDetectedBackgroundUpdate {
DetectedBackgroundUpdateView(version: detectedVersion)
} else {
EmptyView()
}
case .permissionRequest(let request):
PermissionRequestView(request: request, dismiss: dismiss)
@ -42,6 +47,35 @@ struct UpdatePopoverView: View {
}
}
fileprivate struct DetectedBackgroundUpdateView: View {
let version: String
var body: some View {
VStack(alignment: .leading, spacing: 16) {
VStack(alignment: .leading, spacing: 8) {
Text(String(localized: "update.popover.updateAvailable", defaultValue: "Update Available"))
.font(.system(size: 13, weight: .semibold))
HStack(spacing: 6) {
Text(String(localized: "update.popover.version", defaultValue: "Version:"))
.foregroundColor(.secondary)
.frame(width: 60, alignment: .trailing)
Text(version)
}
.font(.system(size: 11))
}
HStack(spacing: 10) {
ProgressView()
.controlSize(.small)
Text(String(localized: "update.popover.checking", defaultValue: "Checking for updates…"))
.font(.system(size: 13))
}
}
.padding(16)
}
}
fileprivate struct PermissionRequestView: View {
let request: UpdateState.PermissionRequest
let dismiss: DismissAction