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 } from 'plugin-api/beta/client/components/ui'; import EmailVerificationBanner from '../containers/EmailVerificationBanner'; import cn from 'classnames'; class Settings extends React.Component { childFactory = el => { const pluginName = el.type.talkPluginName; const props = { indicateOn: () => this.props.indicateOn(pluginName), indicateOff: () => this.props.indicateOff(pluginName), }; return React.cloneElement(el, props); }; render() { const { root, setTurnOffInputFragment, updateNotificationSettings, turnOffAll, turnOffButtonDisabled, needEmailVerification, email, } = this.props; return (

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

{needEmailVerification && }

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

{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, turnOffButtonDisabled: PropTypes.bool.isRequired, needEmailVerification: PropTypes.bool.isRequired, email: PropTypes.string, }; export default Settings;