import React from 'react'; import PropTypes from 'prop-types'; import { IfSlotIsNotEmpty } from 'plugin-api/beta/client/components'; import { Slot } from 'plugin-api/beta/client/components'; import { t } from 'plugin-api/beta/client/services'; import styles from './Settings.css'; import { BareButton, Dropdown, Option, } from 'plugin-api/beta/client/components/ui'; import EmailVerificationBanner from '../containers/EmailVerificationBanner'; import cn from 'classnames'; class Settings extends React.Component { childFactory = el => { const key = el.key; const props = { indicateOn: () => this.props.indicateOn(key), indicateOff: () => this.props.indicateOff(key), }; return React.cloneElement(el, props); }; render() { const { root, setTurnOffInputFragment, updateNotificationSettings, turnOffAll, needEmailVerification, email, digestFrequencyValues, digestFrequency, disableDigest, disableTurnoffButton, onChangeDigestFrequency, } = this.props; const slotPassthrough = { root, setTurnOffInputFragment, updateNotificationSettings, disabled: needEmailVerification, }; return (

{t('talk-plugin-notifications.settings_title')}

{needEmailVerification && }

{t('talk-plugin-notifications.settings_subtitle')}

{digestFrequencyValues.length > 1 && (

{t('talk-plugin-notifications.digest_option')}

{digestFrequencyValues.map(v => (
)} {t('talk-plugin-notifications.turn_off_all')}
); } } Settings.propTypes = { root: PropTypes.object, indicateOn: PropTypes.func.isRequired, indicateOff: PropTypes.func.isRequired, setTurnOffInputFragment: PropTypes.func.isRequired, updateNotificationSettings: PropTypes.func.isRequired, turnOffAll: PropTypes.func.isRequired, disableTurnoffButton: PropTypes.bool.isRequired, disableDigest: PropTypes.bool.isRequired, needEmailVerification: PropTypes.bool.isRequired, email: PropTypes.string, digestFrequencyValues: PropTypes.array.isRequired, digestFrequency: PropTypes.string.isRequired, onChangeDigestFrequency: PropTypes.func.isRequired, }; export default Settings;