From e11bd9f141e33f0d89c83fa419f75dbb25aee0e5 Mon Sep 17 00:00:00 2001 From: AhtishamShahid Date: Wed, 22 Mar 2023 16:20:47 +0500 Subject: [PATCH] feat: added support for dual feedback forms --- .../discussions-home/FeedbackWrapper.jsx | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/discussions/discussions-home/FeedbackWrapper.jsx diff --git a/src/discussions/discussions-home/FeedbackWrapper.jsx b/src/discussions/discussions-home/FeedbackWrapper.jsx new file mode 100644 index 00000000..ecfb8270 --- /dev/null +++ b/src/discussions/discussions-home/FeedbackWrapper.jsx @@ -0,0 +1,37 @@ +import { useEffect } from 'react'; + +import { useSelector } from 'react-redux'; + +import { logError } from '@edx/frontend-platform/logging'; + +import { + selectIsCourseAdmin, + selectIsCourseStaff, + selectUserIsGroupTa, + selectUserIsStaff, + selectconfigLoadingStatus +} from '../data/selectors'; +import { RequestStatus } from '../../data/constants'; + +export default function useFeedbackWrapper() { + const isStaff = useSelector(selectUserIsStaff); + const isUserGroupTA = useSelector(selectUserIsGroupTa); + const isCourseAdmin = useSelector(selectIsCourseAdmin); + const isCourseStaff = useSelector(selectIsCourseStaff); + const configStatus = useSelector(selectconfigLoadingStatus); + + useEffect(() => { + if (configStatus === RequestStatus.SUCCESSFUL) { + let url = '//w.usabilla.com/9e6036348fa1.js'; + if (isStaff || isUserGroupTA || isCourseAdmin || isCourseStaff) { + url = '//w.usabilla.com/767740a06856.js'; + } + try { + // eslint-disable-next-line no-undef + window.usabilla_live = lightningjs.require('usabilla_live', url); + } catch (err) { + logError(err); + } + } + }, [isStaff, isUserGroupTA, isCourseAdmin, isCourseStaff, configStatus]); +}