* 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
55 lines
1.6 KiB
JavaScript
55 lines
1.6 KiB
JavaScript
import React from 'react';
|
|
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
|
|
import PropTypes from 'prop-types';
|
|
import FormikControl from 'CourseAuthoring/generic/FormikControl';
|
|
|
|
import messages from './messages';
|
|
import { providerNames } from './constants';
|
|
import LiveCommonFields from './LiveCommonFields';
|
|
|
|
const ZoomSettings = ({
|
|
intl,
|
|
values,
|
|
}) => (
|
|
// eslint-disable-next-line react/jsx-no-useless-fragment
|
|
<>
|
|
{!values.piiSharingEnable ? (
|
|
<p data-testid="request-pii-sharing">
|
|
{intl.formatMessage(messages.requestPiiSharingEnable, { provider: providerNames[values.provider] })}
|
|
</p>
|
|
) : (
|
|
<>
|
|
{(values.piiSharingEmail || values.piiSharingUsername)
|
|
&& (
|
|
<p data-testid="helper-text">
|
|
{intl.formatMessage(messages.providerHelperText, { providerName: providerNames[values.provider] })}
|
|
</p>
|
|
)}
|
|
<LiveCommonFields values={values} />
|
|
<FormikControl
|
|
name="launchEmail"
|
|
value={values.launchEmail}
|
|
floatingLabel={intl.formatMessage(messages.launchEmail)}
|
|
type="input"
|
|
/>
|
|
</>
|
|
)}
|
|
</>
|
|
);
|
|
|
|
ZoomSettings.propTypes = {
|
|
intl: intlShape.isRequired,
|
|
values: PropTypes.shape({
|
|
consumerKey: PropTypes.string,
|
|
consumerSecret: PropTypes.string,
|
|
launchUrl: PropTypes.string,
|
|
launchEmail: PropTypes.string,
|
|
provider: PropTypes.string,
|
|
piiSharingEmail: PropTypes.bool,
|
|
piiSharingUsername: PropTypes.bool,
|
|
piiSharingEnable: PropTypes.bool,
|
|
}).isRequired,
|
|
};
|
|
|
|
export default injectIntl(ZoomSettings);
|