Skip to content

Commit 215f728

Browse files
refactor: Replace of injectIntl with useIntl() part 6 (#2298)
1 parent 60417a7 commit 215f728

File tree

11 files changed

+53
-66
lines changed

11 files changed

+53
-66
lines changed

src/editors/containers/VideoEditor/components/VideoSettingsModal/components/VideoPreviewWidget/index.jsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
1+
import { useIntl } from '@edx/frontend-platform/i18n';
22
import {
33
Collapsible, Image, Stack, Hyperlink,
44
} from '@openedx/paragon';
@@ -17,8 +17,8 @@ export const VideoPreviewWidget = ({
1717
videoSource,
1818
transcripts,
1919
blockTitle,
20-
intl,
2120
}) => {
21+
const intl = useIntl();
2222
const imgRef = React.useRef();
2323
const videoType = intl.formatMessage(hooks.getVideoType(videoSource));
2424
const thumbnailImage = thumbnail || videoThumbnail;
@@ -65,7 +65,6 @@ export const VideoPreviewWidget = ({
6565
};
6666

6767
VideoPreviewWidget.propTypes = {
68-
intl: intlShape.isRequired,
6968
videoSource: PropTypes.string.isRequired,
7069
thumbnail: PropTypes.string.isRequired,
7170
transcripts: PropTypes.arrayOf(PropTypes.string).isRequired,
@@ -79,4 +78,4 @@ export const mapStateToProps = (state) => ({
7978
blockTitle: selectors.app.blockTitle(state),
8079
});
8180

82-
export default injectIntl(connect(mapStateToProps)(VideoPreviewWidget));
81+
export default connect(mapStateToProps)(VideoPreviewWidget);

src/files-and-videos/files-page/FileThumbnail.jsx

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22
import PropTypes from 'prop-types';
3-
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
3+
import { useIntl } from '@edx/frontend-platform/i18n';
44
import {
55
Icon,
66
Image,
@@ -14,9 +14,9 @@ const FileThumbnail = ({
1414
externalUrl,
1515
displayName,
1616
imageSize,
17-
// injected
18-
intl,
1917
}) => {
18+
const intl = useIntl();
19+
2020
const src = getSrc({
2121
thumbnail,
2222
externalUrl,
@@ -65,8 +65,6 @@ FileThumbnail.propTypes = {
6565
width: PropTypes.string,
6666
height: PropTypes.string.isRequired,
6767
}).isRequired,
68-
// injected
69-
intl: intlShape.isRequired,
7068
};
7169

72-
export default injectIntl(FileThumbnail);
70+
export default FileThumbnail;

src/files-and-videos/generic/ApiStatusToast.jsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22
import PropTypes from 'prop-types';
3-
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
3+
import { useIntl } from '@edx/frontend-platform/i18n';
44
import { Toast } from '@openedx/paragon';
55
import messages from './messages';
66

@@ -11,9 +11,8 @@ const ApiStatusToast = ({
1111
setClose,
1212
setSelectedRows,
1313
fileType,
14-
// injected
15-
intl,
1614
}) => {
15+
const intl = useIntl();
1716
const handleClose = () => {
1817
setSelectedRows([]);
1918
setClose();
@@ -36,8 +35,6 @@ ApiStatusToast.propTypes = {
3635
setClose: PropTypes.func.isRequired,
3736
setSelectedRows: PropTypes.func.isRequired,
3837
fileType: PropTypes.string.isRequired,
39-
// injected
40-
intl: intlShape.isRequired,
4138
};
4239

43-
export default injectIntl(ApiStatusToast);
40+
export default ApiStatusToast;

src/files-and-videos/generic/DeleteConfirmationModal.jsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React, { useContext } from 'react';
22
import PropTypes from 'prop-types';
3-
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
3+
import { useIntl } from '@edx/frontend-platform/i18n';
44
import { getConfig } from '@edx/frontend-platform';
55
import {
66
ActionRow,
@@ -20,9 +20,8 @@ const DeleteConfirmationModal = ({
2020
handleBulkDelete,
2121
selectedRows,
2222
fileType,
23-
// injected
24-
intl,
2523
}) => {
24+
const intl = useIntl();
2625
const { clearSelection } = useContext(DataTableContext);
2726

2827
const handleConfirmDeletion = () => {
@@ -133,8 +132,6 @@ DeleteConfirmationModal.propTypes = {
133132
closeDeleteConfirmation: PropTypes.func.isRequired,
134133
handleBulkDelete: PropTypes.func.isRequired,
135134
fileType: PropTypes.string.isRequired,
136-
// injected
137-
intl: intlShape.isRequired,
138135
};
139136

140-
export default injectIntl(DeleteConfirmationModal);
137+
export default DeleteConfirmationModal;

src/generic/ConnectionErrorAlert.jsx

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,26 @@
11
import React from 'react';
2-
import { injectIntl, intlShape, FormattedMessage } from '@edx/frontend-platform/i18n';
2+
import { useIntl, FormattedMessage } from '@edx/frontend-platform/i18n';
33
import { Alert } from '@openedx/paragon';
44
import { getConfig } from '@edx/frontend-platform';
55

66
import messages from '../messages';
77

8-
const ConnectionErrorAlert = ({ intl }) => (
9-
<Alert variant="danger" data-testid="connectionErrorAlert">
10-
<FormattedMessage
11-
{...messages.connectionError}
12-
values={{
13-
supportLink: (
14-
<Alert.Link href={getConfig().SUPPORT_URL}>
15-
{intl.formatMessage(messages.supportText)}
16-
</Alert.Link>
17-
),
18-
}}
19-
/>
20-
</Alert>
21-
);
22-
23-
ConnectionErrorAlert.propTypes = {
24-
intl: intlShape.isRequired,
8+
const ConnectionErrorAlert = () => {
9+
const intl = useIntl();
10+
return (
11+
<Alert variant="danger" data-testid="connectionErrorAlert">
12+
<FormattedMessage
13+
{...messages.connectionError}
14+
values={{
15+
supportLink: (
16+
<Alert.Link href={getConfig().SUPPORT_URL}>
17+
{intl.formatMessage(messages.supportText)}
18+
</Alert.Link>
19+
),
20+
}}
21+
/>
22+
</Alert>
23+
);
2524
};
2625

27-
export default injectIntl(ConnectionErrorAlert);
26+
export default ConnectionErrorAlert;

src/generic/configure-modal/BasicTab.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import PropTypes from 'prop-types';
22
import { Stack, Form } from '@openedx/paragon';
3-
import { FormattedMessage, injectIntl, useIntl } from '@edx/frontend-platform/i18n';
3+
import { FormattedMessage, useIntl } from '@edx/frontend-platform/i18n';
44

55
import { DatepickerControl, DATEPICKER_TYPES } from '../datepicker-control';
66
import messages from './messages';
@@ -111,4 +111,4 @@ BasicTab.propTypes = {
111111
isSelfPaced: PropTypes.bool.isRequired,
112112
};
113113

114-
export default injectIntl(BasicTab);
114+
export default BasicTab;

src/grading-settings/deadline-section/index.jsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
import React, { useState, useEffect } from 'react';
22
import PropTypes from 'prop-types';
33
import { Form } from '@openedx/paragon';
4-
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
4+
import { useIntl } from '@edx/frontend-platform/i18n';
55
import classNames from 'classnames';
66

77
import { DEFAULT_TIME_STAMP, TIME_FORMAT } from '../../constants';
88
import { formatTime, timerValidation } from './utils';
99
import messages from './messages';
1010

1111
const DeadlineSection = ({
12-
intl, setShowSavePrompt, gracePeriod, setGradingData, setShowSuccessAlert,
12+
setShowSavePrompt, gracePeriod, setGradingData, setShowSuccessAlert,
1313
}) => {
14+
const intl = useIntl();
1415
const timeStampValue = gracePeriod
1516
? `${formatTime(gracePeriod.hours)}:${formatTime(gracePeriod.minutes)}`
1617
: DEFAULT_TIME_STAMP;
@@ -70,7 +71,6 @@ DeadlineSection.defaultProps = {
7071
};
7172

7273
DeadlineSection.propTypes = {
73-
intl: intlShape.isRequired,
7474
setShowSavePrompt: PropTypes.func.isRequired,
7575
setGradingData: PropTypes.func.isRequired,
7676
setShowSuccessAlert: PropTypes.func.isRequired,
@@ -80,4 +80,4 @@ DeadlineSection.propTypes = {
8080
}),
8181
};
8282

83-
export default injectIntl(DeadlineSection);
83+
export default DeadlineSection;

src/import-page/file-section/FileSection.jsx

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
import React from 'react';
2-
import {
3-
injectIntl,
4-
intlShape,
5-
} from '@edx/frontend-platform/i18n';
2+
import { useIntl } from '@edx/frontend-platform/i18n';
63
import PropTypes from 'prop-types';
74
import { useDispatch, useSelector } from 'react-redux';
85
import { Card, Dropzone } from '@openedx/paragon';
@@ -14,7 +11,8 @@ import {
1411
import messages from './messages';
1512
import { handleProcessUpload } from '../data/thunks';
1613

17-
const FileSection = ({ intl, courseId }) => {
14+
const FileSection = ({ courseId }) => {
15+
const intl = useIntl();
1816
const dispatch = useDispatch();
1917
const importTriggered = useSelector(getImportTriggered);
2018
const currentStage = useSelector(getCurrentStage);
@@ -52,8 +50,7 @@ const FileSection = ({ intl, courseId }) => {
5250
};
5351

5452
FileSection.propTypes = {
55-
intl: intlShape.isRequired,
5653
courseId: PropTypes.string.isRequired,
5754
};
5855

59-
export default injectIntl(FileSection);
56+
export default FileSection;

src/pages-and-resources/discussions/app-config-form/AppConfigForm.jsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import PropTypes from 'prop-types';
66
import { useDispatch, useSelector } from 'react-redux';
77
import { useNavigate, useParams } from 'react-router-dom';
88

9-
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
9+
import { useIntl } from '@edx/frontend-platform/i18n';
1010
import {
1111
ActionRow,
1212
Container,
@@ -29,8 +29,9 @@ import AppConfigFormSaveButton from './AppConfigFormSaveButton';
2929
import messages from './messages';
3030

3131
const AppConfigForm = ({
32-
courseId, intl,
32+
courseId,
3333
}) => {
34+
const intl = useIntl();
3435
const dispatch = useDispatch();
3536
const navigate = useNavigate();
3637

@@ -146,10 +147,9 @@ const AppConfigForm = ({
146147

147148
AppConfigForm.propTypes = {
148149
courseId: PropTypes.string.isRequired,
149-
intl: intlShape.isRequired,
150150
};
151151

152-
const IntlAppConfigForm = injectIntl(AppConfigForm);
152+
const IntlAppConfigForm = AppConfigForm;
153153

154154
IntlAppConfigForm.Provider = AppConfigFormProvider;
155155
IntlAppConfigForm.SaveButton = AppConfigFormSaveButton;

src/pages-and-resources/discussions/app-config-form/apps/lti/LtiConfigForm.jsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
33

44
import { ensureConfig } from '@edx/frontend-platform';
55
import { getAuthenticatedUser } from '@edx/frontend-platform/auth';
6-
import { FormattedMessage, injectIntl, intlShape } from '@edx/frontend-platform/i18n';
6+
import { FormattedMessage, useIntl } from '@edx/frontend-platform/i18n';
77
import { Card, Form, MailtoLink } from '@openedx/paragon';
88

99
import { useFormik } from 'formik';
@@ -18,7 +18,8 @@ import { useModel } from '../../../../../generic/model-store';
1818

1919
ensureConfig(['SITE_NAME', 'SUPPORT_EMAIL'], 'LTI Config Form');
2020

21-
const LtiConfigForm = ({ onSubmit, intl, formRef }) => {
21+
const LtiConfigForm = ({ onSubmit, formRef }) => {
22+
const intl = useIntl();
2223
const dispatch = useDispatch();
2324

2425
const { selectedAppId, piiConfig } = useSelector((state) => state.discussions);
@@ -180,10 +181,9 @@ const LtiConfigForm = ({ onSubmit, intl, formRef }) => {
180181
};
181182

182183
LtiConfigForm.propTypes = {
183-
intl: intlShape.isRequired,
184184
onSubmit: PropTypes.func.isRequired,
185185
// eslint-disable-next-line react/forbid-prop-types
186186
formRef: PropTypes.object.isRequired,
187187
};
188188

189-
export default injectIntl(LtiConfigForm);
189+
export default LtiConfigForm;

0 commit comments

Comments
 (0)