import React from 'react' import PropTypes from 'prop-types' import ImmutablePropTypes from 'react-immutable-proptypes' import ImmutablePureComponent from 'react-immutable-pure-component' import { connect } from 'react-redux' import { defineMessages, injectIntl } from 'react-intl' import { openModal } from '../../actions/modal' import { closePopover } from '../../actions/popover' import PopoverLayout from './popover_layout' import Button from '../button' import Heading from '../heading' import Text from '../text' import List from '../list' class StatusSharePopover extends ImmutablePureComponent { handleCopy = () => { const url = this.props.status.get('url') const textarea = document.createElement('textarea') textarea.textContent = url textarea.style.position = 'fixed' document.body.appendChild(textarea) try { textarea.select() document.execCommand('copy') } catch (e) { // } document.body.removeChild(textarea) this.handleClosePopover() } handleClosePopover = () => { this.props.onClosePopover() } render() { const { intl, status } = this.props if (!status) return
const encodedStatusUrl = encodeURIComponent(status.get('url')) const mailToHref = `mailto:?subject=Gab&body=${encodedStatusUrl}` const content = status.get('contentHtml') return (
Share Gab
) } } const messages = defineMessages({ email: { id: 'status.email', defaultMessage: 'Email this gab' }, copy: { id: 'status.copy', defaultMessage: 'Copy link to status' }, }) const mapDispatchToProps = (dispatch) => ({ onClosePopover: () => dispatch(closePopover()), }) StatusSharePopover.propTypes = { intl: PropTypes.object.isRequired, onClosePopover: PropTypes.func.isRequired, status: ImmutablePropTypes.map.isRequired, } export default injectIntl(connect(null, mapDispatchToProps)(StatusSharePopover))