diff --git a/src/course-checklist/CourseChecklist.jsx b/src/course-checklist/CourseChecklist.jsx index a220cff8fa..f2de03d363 100644 --- a/src/course-checklist/CourseChecklist.jsx +++ b/src/course-checklist/CourseChecklist.jsx @@ -1,7 +1,7 @@ import React, { useEffect } from 'react'; import PropTypes from 'prop-types'; import { getConfig } from '@edx/frontend-platform'; -import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; +import { useIntl } from '@edx/frontend-platform/i18n'; import { Helmet } from 'react-helmet'; import { useDispatch, useSelector } from 'react-redux'; import { Container, Stack } from '@openedx/paragon'; @@ -18,8 +18,8 @@ import ConnectionErrorAlert from '../generic/ConnectionErrorAlert'; const CourseChecklist = ({ courseId, // injected, - intl, }) => { + const intl = useIntl(); const dispatch = useDispatch(); const courseDetails = useModel('courseDetails', courseId); const enableQuality = getConfig().ENABLE_CHECKLIST_QUALITY === 'true'; @@ -98,7 +98,6 @@ const CourseChecklist = ({ CourseChecklist.propTypes = { courseId: PropTypes.string.isRequired, // injected - intl: intlShape.isRequired, }; -export default injectIntl(CourseChecklist); +export default CourseChecklist; diff --git a/src/editors/containers/GameEditor/index.jsx b/src/editors/containers/GameEditor/index.jsx index e14c3bad0f..87ea049133 100644 --- a/src/editors/containers/GameEditor/index.jsx +++ b/src/editors/containers/GameEditor/index.jsx @@ -13,7 +13,7 @@ import { connect } from 'react-redux'; import PropTypes from 'prop-types'; import { Spinner } from '@openedx/paragon'; -import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; +import { useIntl } from '@edx/frontend-platform/i18n'; import EditorContainer from '../EditorContainer'; // This 'module' self-import hack enables mocking during tests. @@ -24,6 +24,7 @@ import * as module from '.'; import { actions, selectors } from '../../data/redux'; import { RequestKeys } from '../../data/constants/requests'; + export const hooks = { getContent: () => ({ some: 'content', @@ -40,9 +41,10 @@ export const thumbEditor = ({ initializeEditor, exampleValue, // inject - intl, -}) => ( - { + const intl = useIntl(); + return ( + @@ -70,7 +72,8 @@ export const thumbEditor = ({ )} -); + ) +}; thumbEditor.defaultProps = { blockValue: null, lmsEndpointUrl: null, @@ -86,7 +89,6 @@ thumbEditor.propTypes = { blockFinished: PropTypes.bool.isRequired, initializeEditor: PropTypes.func.isRequired, // inject - intl: intlShape.isRequired, }; export const mapStateToProps = (state) => ({ @@ -103,4 +105,4 @@ export const mapDispatchToProps = { // TODO fill with dispatches here if needed }; -export default injectIntl(connect(mapStateToProps, mapDispatchToProps)(thumbEditor)); +export default connect(mapStateToProps, mapDispatchToProps)(thumbEditor); diff --git a/src/editors/containers/ProblemEditor/components/EditProblemView/SettingsWidget/settingsComponents/Randomization/index.jsx b/src/editors/containers/ProblemEditor/components/EditProblemView/SettingsWidget/settingsComponents/Randomization/index.jsx index 0b76264217..7f635ba0e2 100644 --- a/src/editors/containers/ProblemEditor/components/EditProblemView/SettingsWidget/settingsComponents/Randomization/index.jsx +++ b/src/editors/containers/ProblemEditor/components/EditProblemView/SettingsWidget/settingsComponents/Randomization/index.jsx @@ -1,5 +1,5 @@ import React from 'react'; -import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; +import { useIntl } from '@edx/frontend-platform/i18n'; import { Form } from '@openedx/paragon'; import PropTypes from 'prop-types'; import SettingsOption from '../../SettingsOption'; @@ -12,8 +12,8 @@ export const RandomizationCard = ({ defaultValue, updateSettings, // inject - intl, }) => { + const intl = useIntl(); const curretRandomization = randomization || defaultValue; const { summary, handleChange } = useRandomizationSettingStatus({ randomization: curretRandomization, @@ -56,7 +56,6 @@ RandomizationCard.propTypes = { defaultValue: PropTypes.string.isRequired, randomization: PropTypes.string.isRequired, updateSettings: PropTypes.func.isRequired, - intl: intlShape.isRequired, }; -export default injectIntl(RandomizationCard); +export default RandomizationCard; diff --git a/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/index.jsx b/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/index.jsx index 5975edf7ae..cafaae2ba3 100644 --- a/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/index.jsx +++ b/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/index.jsx @@ -3,7 +3,7 @@ import { connect } from 'react-redux'; import PropTypes from 'prop-types'; import { Col, Form } from '@openedx/paragon'; -import { injectIntl, intlShape, FormattedMessage } from '@edx/frontend-platform/i18n'; +import { FormattedMessage, useIntl } from '@edx/frontend-platform/i18n'; import { actions, selectors } from '../../../../../../data/redux'; import { keyStore } from '../../../../../../utils'; @@ -22,8 +22,8 @@ const DurationWidget = ({ duration, updateField, // injected - intl, }) => { + const intl = useIntl(); const { unsavedDuration, onBlur, @@ -89,7 +89,6 @@ DurationWidget.propTypes = { duration: PropTypes.objectOf(PropTypes.number).isRequired, updateField: PropTypes.func.isRequired, // injected - intl: intlShape.isRequired, }; export const mapStateToProps = (state) => ({ @@ -101,4 +100,4 @@ export const mapDispatchToProps = { }; export const DurationWidgetInternal = DurationWidget; // For testing only -export default injectIntl(connect(mapStateToProps, mapDispatchToProps)(DurationWidget)); +export default connect(mapStateToProps, mapDispatchToProps)(DurationWidget); diff --git a/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/SocialShareWidget/index.jsx b/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/SocialShareWidget/index.jsx index 253d3bcbfe..2aa65c4cc6 100644 --- a/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/SocialShareWidget/index.jsx +++ b/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/SocialShareWidget/index.jsx @@ -3,8 +3,7 @@ import { connect } from 'react-redux'; import PropTypes from 'prop-types'; import { FormattedMessage, - injectIntl, - intlShape, + useIntl } from '@edx/frontend-platform/i18n'; import { Hyperlink, @@ -21,7 +20,6 @@ import * as hooks from './hooks'; */ const SocialShareWidget = ({ // injected - intl, // redux allowVideoSharing, isLibrary, @@ -30,6 +28,7 @@ const SocialShareWidget = ({ videoSharingLearnMoreLink, updateField, }) => { + const intl = useIntl(); const isSetByCourse = allowVideoSharing.level === 'course'; const videoSharingEnabled = isLibrary ? videoSharingEnabledForAll : videoSharingEnabledForCourse; const learnMoreLink = videoSharingLearnMoreLink || 'https://docs.openedx.org/en/latest/educators/how-tos/course_development/social_sharing.html'; @@ -91,7 +90,6 @@ SocialShareWidget.defaultProps = { SocialShareWidget.propTypes = { // injected - intl: intlShape.isRequired, // redux allowVideoSharing: PropTypes.shape({ level: PropTypes.string.isRequired, @@ -117,4 +115,4 @@ export const mapDispatchToProps = (dispatch) => ({ }); export const SocialShareWidgetInternal = SocialShareWidget; // For testing only -export default injectIntl(connect(mapStateToProps, mapDispatchToProps)(SocialShareWidget)); +export default connect(mapStateToProps, mapDispatchToProps)(SocialShareWidget); diff --git a/src/editors/sharedComponents/CodeEditor/index.jsx b/src/editors/sharedComponents/CodeEditor/index.jsx index 8877fe4ba0..c3df5692bd 100644 --- a/src/editors/sharedComponents/CodeEditor/index.jsx +++ b/src/editors/sharedComponents/CodeEditor/index.jsx @@ -5,7 +5,7 @@ import { Button, } from '@openedx/paragon'; -import { FormattedMessage, injectIntl, intlShape } from '@edx/frontend-platform/i18n'; +import { FormattedMessage, useIntl} from '@edx/frontend-platform/i18n'; import messages from './messages'; import './index.scss'; @@ -16,8 +16,8 @@ const CodeEditor = ({ value, lang, // injected - intl, }) => { + const intl = useIntl(); const DOMref = useRef(); const btnRef = useRef(); hooks.createCodeMirrorDomNode({ @@ -49,9 +49,8 @@ CodeEditor.propTypes = { PropTypes.shape({ current: PropTypes.any }), ]).isRequired, value: PropTypes.string.isRequired, - intl: intlShape.isRequired, lang: PropTypes.string.isRequired, }; export const CodeEditorInternal = CodeEditor; // For testing only -export default injectIntl(CodeEditor); +export default CodeEditor; diff --git a/src/export-page/export-footer/ExportFooter.jsx b/src/export-page/export-footer/ExportFooter.jsx index 358bf474b0..94cacfd342 100644 --- a/src/export-page/export-footer/ExportFooter.jsx +++ b/src/export-page/export-footer/ExportFooter.jsx @@ -1,14 +1,13 @@ import React from 'react'; -import { - injectIntl, - intlShape, -} from '@edx/frontend-platform/i18n'; +import { useIntl } from '@edx/frontend-platform/i18n'; import { Layout } from '@openedx/paragon'; import messages from './messages'; -const ExportFooter = ({ intl }) => ( -