Skip to content

Commit 064f3e7

Browse files
authored
fix: 🐛 keep only one vote state in W.A. feedback flow (SAP#1155)
1 parent d1da779 commit 064f3e7

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

Sources/FioriSwiftUICore/AIWritingAssistant/WritingAssistantContext.swift

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,17 @@ class WritingAssistantContext: NSObject, ObservableObject {
7474
let menuHandler: (WAMenu, String) async -> WAResult
7575
let feedbackOptions: [String]
7676
let feedbackHandler: ((AIUserFeedbackVoteState, [String]) async -> WAFeedbackResult)?
77-
@Published var feedbackUpvoted: Bool = false
78-
@Published var feedbackDownvoted: Bool = false
77+
@Published var feedbackVoteState: AIUserFeedbackVoteState = .notDetermined
7978
@Published var feedbackSubmitButtonState: AIUserFeedbackSubmitButtonState = .normal
8079

80+
var feedbackDownvoted: Bool {
81+
self.feedbackVoteState == .downVote
82+
}
83+
84+
var feedbackUpvoted: Bool {
85+
self.feedbackVoteState == .upVote
86+
}
87+
8188
@State private var task: Task<Void, Never>? = nil
8289

8390
var textIsChanged: Bool {
@@ -154,9 +161,9 @@ class WritingAssistantContext: NSObject, ObservableObject {
154161
switch result {
155162
case .success:
156163
if voteState == .upVote {
157-
self.feedbackUpvoted = true
164+
self.feedbackVoteState = .upVote
158165
} else if voteState == .downVote {
159-
self.feedbackDownvoted = true
166+
self.feedbackVoteState = .downVote
160167
}
161168
self.showFeedbackSuccessToast.toggle()
162169
case .failure(let error):
@@ -298,7 +305,6 @@ class WritingAssistantContext: NSObject, ObservableObject {
298305
self.canResetSelectedRange = true
299306
self.customDestination = nil
300307
self.showFeedbackSuccessToast = false
301-
self.feedbackUpvoted = false
302-
self.feedbackDownvoted = false
308+
self.feedbackVoteState = .notDetermined
303309
}
304310
}

0 commit comments

Comments
 (0)