Skip to content

Commit e9820e6

Browse files
authored
fix: Display feedback modal on button click in mobile (#1181)
Fixes [AC-3370](https://sendbird.atlassian.net/browse/AC-3370) ### Changelogs - Fixed a bug where feedback modal not being displayed on feedback button click in mobile view ### Discussion https://sendbird.slack.com/archives/C0585965FFA/p1721798651897159?thread_ts=1719659850.599669&cid=C0585965FFA ### After fix [Testing App (7).webm](https://github.com/user-attachments/assets/7720d18d-4f48-453e-a638-33638bb8b4ba) No change in desktop view behaviour [Testing App (8).webm](https://github.com/user-attachments/assets/b8c87b40-af65-4320-a751-755578356acc) [AC-3370]: https://sendbird.atlassian.net/browse/AC-3370?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
1 parent 0bf5a29 commit e9820e6

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

src/ui/MessageContent/index.tsx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,7 @@ export default function MessageContent(props: MessageContentProps): ReactElement
194194
&& !!message?.myFeedbackStatus
195195
&& message.myFeedbackStatus !== SbFeedbackStatus.NOT_APPLICABLE;
196196
const isFeedbackEnabled = !!config?.groupChannel?.enableFeedback && isFeedbackMessage;
197+
const hasFeedback = message?.myFeedback?.rating;
197198

198199
/**
199200
* For TemplateMessage, do not display:
@@ -232,8 +233,8 @@ export default function MessageContent(props: MessageContentProps): ReactElement
232233
setShowFeedbackModal(false);
233234
};
234235

235-
const openFeedbackFormOrMenu = () => {
236-
if (isMobile) {
236+
const openFeedbackFormOrMenu = (hasFeedback = false) => {
237+
if (isMobile && hasFeedback) {
237238
setShowFeedbackOptionsMenu(true);
238239
} else {
239240
setShowFeedbackModal(true);
@@ -468,7 +469,7 @@ export default function MessageContent(props: MessageContentProps): ReactElement
468469
<FeedbackIconButton
469470
isSelected={message?.myFeedback?.rating === FeedbackRating.GOOD}
470471
onClick={async () => {
471-
if (!message?.myFeedback?.rating) {
472+
if (!hasFeedback) {
472473
try {
473474
await message.submitFeedback({
474475
rating: FeedbackRating.GOOD,
@@ -479,7 +480,7 @@ export default function MessageContent(props: MessageContentProps): ReactElement
479480
setFeedbackFailedText(stringSet.FEEDBACK_FAILED_SUBMIT);
480481
}
481482
} else {
482-
openFeedbackFormOrMenu();
483+
openFeedbackFormOrMenu(true);
483484
}
484485
}}
485486
disabled={!!message?.myFeedback && message.myFeedback.rating !== FeedbackRating.GOOD}
@@ -493,7 +494,7 @@ export default function MessageContent(props: MessageContentProps): ReactElement
493494
<FeedbackIconButton
494495
isSelected={message?.myFeedback?.rating === FeedbackRating.BAD}
495496
onClick={async () => {
496-
if (!message?.myFeedback?.rating) {
497+
if (!hasFeedback) {
497498
try {
498499
await message.submitFeedback({
499500
rating: FeedbackRating.BAD,
@@ -504,7 +505,7 @@ export default function MessageContent(props: MessageContentProps): ReactElement
504505
setFeedbackFailedText(stringSet.FEEDBACK_FAILED_SUBMIT);
505506
}
506507
} else {
507-
openFeedbackFormOrMenu();
508+
openFeedbackFormOrMenu(true);
508509
}
509510
}}
510511
disabled={!!message?.myFeedback && message.myFeedback.rating !== FeedbackRating.BAD}

0 commit comments

Comments
 (0)