Skip to content

Commit ce03921

Browse files
authored
1 parent e7e2e09 commit ce03921

File tree

4 files changed

+23
-5
lines changed

4 files changed

+23
-5
lines changed

src/modules/Channel/components/MessageFeedbackModal/index.tsx

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ export default function MessageFeedbackModal(props: MessageFeedbackModalProps):
3030
const { stringSet } = useContext(LocalizationContext);
3131
const { isMobile } = useMediaQueryContext();
3232

33+
const isEdit = message?.myFeedback && selectedFeedback === message.myFeedback.rating;
34+
3335
const modalRef = useRef(null);
3436
const inputRef = useRef(null);
3537
const onKeyDown = useKeyDown(modalRef, {
@@ -79,7 +81,7 @@ export default function MessageFeedbackModal(props: MessageFeedbackModalProps):
7981
</Button>
8082
<Button onClick={() => onSubmit?.(inputRef.current.value ?? '')}>
8183
<Label type={LabelTypography.BUTTON_3} color={LabelColors.ONCONTENT_1}>
82-
{stringSet.BUTTON__SUBMIT}
84+
{ isEdit ? stringSet.BUTTON__SAVE : stringSet.BUTTON__SUBMIT }
8385
</Label>
8486
</Button>
8587
</div>
@@ -90,10 +92,7 @@ export default function MessageFeedbackModal(props: MessageFeedbackModalProps):
9092
<Input
9193
name='sendbird-message-feedback-modal-body__root'
9294
ref={inputRef}
93-
value={(message?.myFeedback && selectedFeedback === message.myFeedback.rating)
94-
? message.myFeedback?.comment
95-
: undefined
96-
}
95+
value={isEdit ? message.myFeedback?.comment : undefined}
9796
placeHolder={stringSet.FEEDBACK_CONTENT_PLACEHOLDER}
9897
autoFocus={true}
9998
/>

src/ui/FeedbackIconButton/index.scss

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414
@include themed() {
1515
border-color: t(on-bg-4);
1616
}
17+
18+
&.sendbird-iconbutton__feedback__disabled {
19+
cursor: not-allowed;
20+
}
1721
}
1822

1923
.sendbird-iconbutton__feedback__pressed {
@@ -33,6 +37,14 @@
3337
fill: t(on-bg-2);
3438
}
3539
}
40+
41+
&.sendbird-iconbutton__feedback__inner__disabled {
42+
svg path {
43+
@include themed() {
44+
fill: t(on-bg-4);
45+
}
46+
}
47+
}
3648
}
3749

3850
.sendbird-iconbutton__feedback__inner__pressed {

src/ui/FeedbackIconButton/index.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ export interface FeedbackIconButtonProps {
1010
children: ReactNode;
1111
isSelected: boolean;
1212
onClick?: (e: MouseEvent<HTMLButtonElement>) => void;
13+
disabled?: boolean;
1314
}
1415

1516
const FeedbackIconButton = React.forwardRef((
@@ -20,23 +21,27 @@ const FeedbackIconButton = React.forwardRef((
2021
children,
2122
isSelected,
2223
onClick = () => { /* noop */ },
24+
disabled = false,
2325
} = props;
2426
return (
2527
<button
2628
className={[
2729
'sendbird-iconbutton__feedback',
2830
isSelected ? 'sendbird-iconbutton__feedback__pressed' : '',
31+
disabled ? 'sendbird-iconbutton__feedback__disabled' : '',
2932
].join(' ')}
3033
ref={ref}
3134
type='button'
3235
onClick={(e) => {
3336
onClick?.(e);
3437
}}
38+
disabled={disabled}
3539
>
3640
<span
3741
className={[
3842
'sendbird-iconbutton__feedback__inner',
3943
isSelected ? 'sendbird-iconbutton__feedback__inner__pressed' : '',
44+
disabled ? 'sendbird-iconbutton__feedback__inner__disabled' : '',
4045
].join(' ')}
4146
>
4247
{children}

src/ui/MessageContent/index.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,7 @@ export default function MessageContent(props: MessageContentProps): ReactElement
333333
setShowFeedbackModal(true);
334334
}
335335
}}
336+
disabled={message?.myFeedback && message.myFeedback.rating !== FeedbackRating.GOOD}
336337
>
337338
<Icon
338339
type={IconTypes.FEEDBACK_LIKE}
@@ -350,6 +351,7 @@ export default function MessageContent(props: MessageContentProps): ReactElement
350351
setShowFeedbackModal(true);
351352
}
352353
}}
354+
disabled={message?.myFeedback && message.myFeedback.rating !== FeedbackRating.BAD}
353355
>
354356
<Icon
355357
type={IconTypes.FEEDBACK_DISLIKE}

0 commit comments

Comments
 (0)