import React from 'react'; import PropTypes from 'prop-types'; import * as ReactShare from 'react-share'; import { useIntl } from '@edx/frontend-platform/i18n'; import { Dropdown } from '@openedx/paragon'; import track from 'tracking'; import { reduxHooks } from 'hooks'; import messages from './messages'; export const testIds = { emailSettingsModalToggle: 'emailSettingsModalToggle', }; export const SocialShareMenu = ({ cardId, emailSettings }) => { const { formatMessage } = useIntl(); const { courseName } = reduxHooks.useCardCourseData(cardId); const { isEmailEnabled, isExecEd2UCourse } = reduxHooks.useCardEnrollmentData(cardId); const { twitter, facebook } = reduxHooks.useCardSocialSettingsData(cardId); const { isMasquerading } = reduxHooks.useMasqueradeData(); const handleTwitterShare = reduxHooks.useTrackCourseEvent(track.socialShare, cardId, 'twitter'); const handleFacebookShare = reduxHooks.useTrackCourseEvent(track.socialShare, cardId, 'facebook'); if (isExecEd2UCourse) { return null; } return ( <> {isEmailEnabled && ( {formatMessage(messages.emailSettings)} )} {facebook.isEnabled && ( {formatMessage(messages.shareToFacebook)} )} {twitter.isEnabled && ( {formatMessage(messages.shareToTwitter)} )} ); }; SocialShareMenu.propTypes = { cardId: PropTypes.string.isRequired, emailSettings: PropTypes.shape({ show: PropTypes.func, }).isRequired, }; export default SocialShareMenu;