File tree Expand file tree Collapse file tree 4 files changed +23
-5
lines changed
modules/Channel/components/MessageFeedbackModal Expand file tree Collapse file tree 4 files changed +23
-5
lines changed Original file line number Diff line number Diff 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 />
Original file line number Diff line number Diff line change 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 {
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 {
Original file line number Diff line number Diff 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
1516const 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 }
Original file line number Diff line number Diff 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 }
You can’t perform that action at this time.
0 commit comments