import { faCopy as copyIcon, faImage as pictureIcon } from '@fortawesome/free-regular-svg-icons'; import { faTags as tagsIcon, faChartPie as pieChartIcon, faEllipsisV as menuIcon, faQrcode as qrIcon, faMinusCircle as deleteIcon, } from '@fortawesome/free-solid-svg-icons'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import React from 'react'; import { CopyToClipboard } from 'react-copy-to-clipboard'; import { Link } from 'react-router-dom'; import { ButtonDropdown, DropdownItem, DropdownMenu, DropdownToggle } from 'reactstrap'; import PropTypes from 'prop-types'; import { serverType } from '../../servers/prop-types'; import { shortUrlType } from '../reducers/shortUrlsList'; import PreviewModal from './PreviewModal'; import QrCodeModal from './QrCodeModal'; import './ShortUrlsRowMenu.scss'; const ShortUrlsRowMenu = (DeleteShortUrlModal, EditTagsModal) => class ShortUrlsRowMenu extends React.Component { static propTypes = { onCopyToClipboard: PropTypes.func, selectedServer: serverType, shortUrl: shortUrlType, }; state = { isOpen: false, isQrModalOpen: false, isPreviewModalOpen: false, isTagsModalOpen: false, isDeleteModalOpen: false, }; toggle = () => this.setState(({ isOpen }) => ({ isOpen: !isOpen })); render() { const { onCopyToClipboard, shortUrl, selectedServer } = this.props; const completeShortUrl = shortUrl && shortUrl.shortUrl ? shortUrl.shortUrl : ''; const toggleModal = (prop) => () => this.setState((prevState) => ({ [prop]: !prevState[prop] })); const toggleQrCode = toggleModal('isQrModalOpen'); const togglePreview = toggleModal('isPreviewModalOpen'); const toggleTags = toggleModal('isTagsModalOpen'); const toggleDelete = toggleModal('isDeleteModalOpen'); return (     Visit stats  Edit tags  Delete short URL  Preview  QR code  Copy to clipboard ); } }; export default ShortUrlsRowMenu;