import React, { PureComponent } from 'react'; import { defineMessages, injectIntl } from 'react-intl'; import PropTypes from 'prop-types'; import Styled from './styles'; const ASK_MODERATOR = 'ASK_MODERATOR'; const ALWAYS_ACCEPT = 'ALWAYS_ACCEPT'; const ALWAYS_DENY = 'ALWAYS_DENY'; const intlMessages = defineMessages({ ariaModalTitle: { id: 'app.guest-policy.ariaTitle', description: 'Guest policy aria title', }, guestPolicyTitle: { id: 'app.guest-policy.title', description: 'Guest policy title', }, guestPolicyDescription: { id: 'app.guest-policy.description', description: 'Guest policy description', }, policyBtnDesc: { id: 'app.guest-policy.policyBtnDesc', description: 'aria description for guest policy button', }, askModerator: { id: 'app.guest-policy.button.askModerator', description: 'Ask moderator button label', }, alwaysAccept: { id: 'app.guest-policy.button.alwaysAccept', description: 'Always accept button label', }, alwaysDeny: { id: 'app.guest-policy.button.alwaysDeny', description: 'Always deny button label', }, }); const propTypes = { closeModal: PropTypes.func.isRequired, intl: PropTypes.shape({ formatMessage: PropTypes.func.isRequired, }).isRequired, guestPolicy: PropTypes.string.isRequired, changeGuestPolicy: PropTypes.func.isRequired, }; class GuestPolicyComponent extends PureComponent { componentWillUnmount() { const { closeModal } = this.props; closeModal(); } render() { const { closeModal, intl, guestPolicy, changeGuestPolicy, } = this.props; return ( {intl.formatMessage(intlMessages.guestPolicyDescription)} { changeGuestPolicy(ASK_MODERATOR); closeModal(); }} /> { changeGuestPolicy(ALWAYS_ACCEPT); closeModal(); }} /> { changeGuestPolicy(ALWAYS_DENY); closeModal(); }} />
{intl.formatMessage(intlMessages.policyBtnDesc)}
); } } GuestPolicyComponent.propTypes = propTypes; export default injectIntl(GuestPolicyComponent);