- injectIntl is deprecated, Used useIntl() hook instead.
- ErrorLog
```
React Router caught the following error during render TypeError: r is not a function {
"componentStack": "
at A (https://course-authoring.edx.org/817.bfc0047cf532fb354633.js:2:5259944)
at Suspense
at d (https://course-authoring.edx.org/817.bfc0047cf532fb354633.js:2:65420)
at t (https://course-authoring.edx.org/817.bfc0047cf532fb354633.js:2:7316739)
at g (https://course-authoring.edx.org/817.bfc0047cf532fb354633.js:2:8043115)
at w (https://course-authoring.edx.org/817.bfc0047cf532fb354633.js:2:4746781)
at div
at https://course-authoring.edx.org/817.bfc0047cf532fb354633.js:2:6453516
at div
at https://course-authoring.edx.org/817.bfc0047cf532fb354633.js:2:7617877
at div
at h (https://course-authoring.edx.org/817.bfc0047cf532fb354633.js:2:4740935)
at rR (https://course-authoring.edx.org/app.756074826164c8adbdbb.js:2:1102691)
at r (https://course-authoring.edx.org/817.bfc0047cf532fb354633.js:2:1493518)
at injectIntl(r)
at main
at l (https://course-authoring.edx.org/app.756074826164c8adbdbb.js:2:2224276)
at cR (https://course-authoring.edx.org/app.756074826164c8adbdbb.js:2:1103620)
at r (https://course-authoring.edx.org/817.bfc0047cf532fb354633.js:2:1493518)
at injectIntl(r)"
}
```
50 lines
1.7 KiB
JavaScript
50 lines
1.7 KiB
JavaScript
import { useIntl } from '@edx/frontend-platform/i18n';
|
|
import PropTypes from 'prop-types';
|
|
import React from 'react';
|
|
import * as Yup from 'yup';
|
|
|
|
import FormSwitchGroup from 'CourseAuthoring/generic/FormSwitchGroup';
|
|
import { useAppSetting } from 'CourseAuthoring/utils';
|
|
import AppSettingsModal from 'CourseAuthoring/pages-and-resources/app-settings-modal/AppSettingsModal';
|
|
import messages from './messages';
|
|
|
|
const WikiSettings = ({ onClose }) => {
|
|
const intl = useIntl();
|
|
const [enablePublicWiki, saveSetting] = useAppSetting('allowPublicWikiAccess');
|
|
const handleSettingsSave = (values) => saveSetting(values.enablePublicWiki);
|
|
|
|
return (
|
|
<AppSettingsModal
|
|
appId="wiki"
|
|
title={intl.formatMessage(messages.heading)}
|
|
enableAppHelp={intl.formatMessage(messages.enableWikiHelp)}
|
|
enableAppLabel={intl.formatMessage(messages.enableWikiLabel)}
|
|
learnMoreText={intl.formatMessage(messages.enableWikiLink)}
|
|
onClose={onClose}
|
|
initialValues={{ enablePublicWiki }}
|
|
validationSchema={{ enablePublicWiki: Yup.boolean() }}
|
|
onSettingsSave={handleSettingsSave}
|
|
>
|
|
{
|
|
({ values, handleChange, handleBlur }) => (
|
|
<FormSwitchGroup
|
|
id="enable-public-wiki"
|
|
name="enablePublicWiki"
|
|
label={intl.formatMessage(messages.enablePublicWikiLabel)}
|
|
helpText={intl.formatMessage(messages.enablePublicWikiHelp)}
|
|
onChange={handleChange}
|
|
onBlur={handleBlur}
|
|
checked={values.enablePublicWiki}
|
|
/>
|
|
)
|
|
}
|
|
</AppSettingsModal>
|
|
);
|
|
};
|
|
|
|
WikiSettings.propTypes = {
|
|
onClose: PropTypes.func.isRequired,
|
|
};
|
|
|
|
export default WikiSettings;
|