Files
frontend-app-authoring/plugins/course-apps/wiki/Settings.jsx
Braden MacDonald 3c661e15cb Convert "Pages & Resources" page to a plugin system (#638)
* feat: Make "Pages & Resources" course apps into plugins

* feat: move ora_settings

* feat: move proctoring

* feat: move progress

* feat: move teams

* feat: move wiki

* feat: move Xpert settings

* fix: add webpack.prod.config.js

* fix: clean up unused parts of package.json files

* feat: Add an error message when displaying a Course App Plugin fails

* chore: fix various eslint warnings

* chore: fix jest tests

* fix: error preventing "npm ci" from working

* feat: better tests for <SettingsComponent>

* chore: move xpert_unit_summary into same dir as other plugins

* fix: eslint-import-resolver-webpack is a dev dependency

* chore: move learning_assistant to be a plugin too

* feat: for compatibility, install 2U plugins by default

* fix: bug with learning_assistant package.json
2024-02-28 11:50:54 -05:00

50 lines
1.7 KiB
JavaScript

import { injectIntl, intlShape } 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 = ({ intl, onClose }) => {
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}
onBlue={handleBlur}
checked={values.enablePublicWiki}
/>
)
}
</AppSettingsModal>
);
};
WikiSettings.propTypes = {
intl: intlShape.isRequired,
onClose: PropTypes.func.isRequired,
};
export default injectIntl(WikiSettings);