


























@@ -3,7 +3,6 @@ import SwiftUI
33private struct NotificationPermissionGuidanceDialogModifier: ViewModifier {
44@Environment(NodeAppModel.self) private var appModel: NodeAppModel
55let openNotifications: (String) -> Void
6-@State private var suppressFuture = false
7687func body(content: Content) -> some View {
98 content
@@ -14,18 +13,19 @@ private struct NotificationPermissionGuidanceDialogModifier: ViewModifier {
1413.ignoresSafeArea()
15141615NotificationPermissionGuidanceCard(
17- suppressFuture: self.$suppressFuture,
1816 onOpenNotifications: {
1917let approvalId = prompt.approvalId
2018self.appModel.dismissNotificationPermissionGuidancePrompt(
21- suppressFuture: self.suppressFuture)
22-self.suppressFuture = false
19+ suppressFuture: false)
2320self.openNotifications(approvalId)
2421},
2522 onDismiss: {
2623self.appModel.dismissNotificationPermissionGuidancePrompt(
27- suppressFuture: self.suppressFuture)
28-self.suppressFuture = false
24+ suppressFuture: false)
25+},
26+ onSuppressFuture: {
27+self.appModel.dismissNotificationPermissionGuidancePrompt(
28+ suppressFuture: true)
2929})
3030.padding(.horizontal, 20)
3131.frame(maxWidth: 460)
@@ -38,16 +38,13 @@ private struct NotificationPermissionGuidanceDialogModifier: ViewModifier {
3838.animation(
3939.easeInOut(duration: 0.18),
4040 value: self.appModel.pendingNotificationPermissionGuidancePrompt?.id)
41-.onChange(of: self.appModel.pendingNotificationPermissionGuidancePrompt?.id) { _, _ in
42-self.suppressFuture = false
43-}
4441}
4542}
46434744private struct NotificationPermissionGuidanceCard: View {
48-@Binding var suppressFuture: Bool
4945let onOpenNotifications: () -> Void
5046let onDismiss: () -> Void
47+let onSuppressFuture: () -> Void
51485249var body: some View {
5350VStack(alignment: .leading, spacing: 14) {
@@ -65,22 +62,6 @@ private struct NotificationPermissionGuidanceCard: View {
6562.fixedSize(horizontal: false, vertical: true)
6663}
676468-Button {
69-self.suppressFuture.toggle()
70-} label: {
71-HStack(spacing: 10) {
72-Image(systemName: self.suppressFuture ? "checkmark.square.fill" : "square")
73-.font(.system(size: 20, weight: .semibold))
74-Text("Don't show again")
75-.font(.subheadline)
76-Spacer(minLength: 0)
77-}
78-.contentShape(Rectangle())
79-}
80-.buttonStyle(.plain)
81-.accessibilityLabel("Don't show again")
82-.accessibilityValue(self.suppressFuture ? "On" : "Off")
83-8465VStack(spacing: 10) {
8566Button {
8667self.onOpenNotifications()
@@ -97,6 +78,14 @@ private struct NotificationPermissionGuidanceCard: View {
9778.frame(maxWidth: .infinity)
9879}
9980.buttonStyle(.bordered)
81+82+Button {
83+self.onSuppressFuture()
84+} label: {
85+Text("Don't show again")
86+.frame(maxWidth: .infinity)
87+}
88+.buttonStyle(.bordered)
10089}
10190.controlSize(.large)
10291.frame(maxWidth: .infinity)
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。