diff --git a/src/constants/litmusExperimentNames.ts b/src/constants/litmusExperimentNames.ts index 2e2ac256..be855f66 100644 --- a/src/constants/litmusExperimentNames.ts +++ b/src/constants/litmusExperimentNames.ts @@ -9,5 +9,6 @@ export enum LITMUS_EXPERIMENT_NAMES { COLLECTION_AMEYO_TELE_V3 = 'collection-ameyo-tele-v3', HRC_RECALIBRATE_ENABLE = 'hrc-recalibrate-enable', SKIP_TRACING_FEEDBACK_FORM = 'collection-skip-tracing-feedback-form', - HRC_AMEYO_V3 = 'hrc-new-ameyo-integration' + HRC_AMEYO_V3 = 'hrc-new-ameyo-integration', + FEEDBACK_BUTTON_FIX_ENABLED = 'feedback-button-fix-enabled' } diff --git a/src/pages/CaseDetails/feedbackForm/component/FeedbackActionButton.tsx b/src/pages/CaseDetails/feedbackForm/component/FeedbackActionButton.tsx index 6c4fb019..2bdc7f12 100644 --- a/src/pages/CaseDetails/feedbackForm/component/FeedbackActionButton.tsx +++ b/src/pages/CaseDetails/feedbackForm/component/FeedbackActionButton.tsx @@ -21,6 +21,9 @@ import { CALL_INTERACTIONS_TYPE } from '../../constants/communicationHistory.con import { RootState } from '@cp/src/store'; import { createKey } from '@cp/utils/CaseDetail.utils'; import { Roles } from '@cp/pages/auth/constants/AuthConstants'; +import { setIsAddFeedbackModalOpen } from '@cp/src/reducers/commonSlice'; +import isLitmusExperimentEnabled from '@cp/src/utils/isLitmusExperimentEnabled'; +import { LITMUS_EXPERIMENT_NAMES } from '@cp/src/constants/litmusExperimentNames'; interface FeedbackActionButtonProps { answerViews: AnswerView[]; @@ -63,6 +66,15 @@ const FeedbackActionButton: React.FC = props => { })); const isGlobalAccessRoleGiven = user?.roles?.includes(Roles.ROLE_GLOBAL_ACCESS); const disableCTAs = isGlobalAccessRoleGiven ? !editAccessFlag : false; + const [isFeedbackRadioButtonFixEnabled, setIsFeedbackRadioButtonFixEnabled] = useState(false); + + useEffect(() => { + isLitmusExperimentEnabled(LITMUS_EXPERIMENT_NAMES.FEEDBACK_BUTTON_FIX_ENABLED, { + 'x-customer-id': user?.referenceId + }).then(res => { + setIsFeedbackRadioButtonFixEnabled(res?.result); + }); + }, []); const removeQueryParams = (query: string) => { const param = searchParams.get(query); @@ -80,6 +92,7 @@ const FeedbackActionButton: React.FC = props => { const removeInteractionIdAndToggle = () => { removeQueryParams(NESTED_BLANK_DISPOSITION_QUERY); dispatch(resetFeedbackQuestionTypes()); + dispatch(setIsAddFeedbackModalOpen(false)); toggleDrawer(); }; const [queryParams] = useSearchParams(); @@ -89,6 +102,9 @@ const FeedbackActionButton: React.FC = props => { if (interactionId && interactionId === referenceId) { toggleDrawer(); } + return () => { + removeInteractionIdAndToggle(); + }; }, [queryParams]); return ( @@ -102,6 +118,7 @@ const FeedbackActionButton: React.FC = props => { addClickstreamEvent(CLICKSTREAM_EVENT_NAMES.LH_Interactions_CallsViewCTA, { interactionId: referenceId }); + isFeedbackRadioButtonFixEnabled && dispatch(setIsAddFeedbackModalOpen(true)); }} variant="text" disabled={ diff --git a/src/pages/CaseDetails/feedbackForm/index.tsx b/src/pages/CaseDetails/feedbackForm/index.tsx index 02e30992..2d7aff6f 100644 --- a/src/pages/CaseDetails/feedbackForm/index.tsx +++ b/src/pages/CaseDetails/feedbackForm/index.tsx @@ -110,6 +110,11 @@ const FeedbackFrom = (props: FeedbackFromProps) => { const ameyoCallDetails = useSelector((state: RootState) => state.common.ameyoCallDetails); const isTeamLead = useSelector((state: RootState) => state.common?.isTeamLead); const isFeedbackFormDirty = useSelector((state: RootState) => state.feedBack.isFeedbackFormDirty); + + const isAddFeedbackModalOpen = useSelector( + (state: RootState) => state.common.isAddFeedbackModalOpen + ); + const skipTracingInitialQuestions = useSelector( (state: RootState) => state.feedBack.skipTracingInitialQuestions ); @@ -858,33 +863,34 @@ const FeedbackFrom = (props: FeedbackFromProps) => { clearErrors={clearErrors} /> )) - ) : ( + ) : !isAddFeedbackModalOpen ? (
{initialQuestions}
- )} + ) : null}
- {feedback.questionMap?.map(question => - question ? ( - - ) : null - )} - {showComments && ( + {!isAddFeedbackModalOpen && + feedback.questionMap?.map(question => + question ? ( + + ) : null + )} + {!isAddFeedbackModalOpen && showComments && (