import { siteConfig } from '@/lib/config' import { useGlobal } from '@/lib/global' import copy from 'copy-to-clipboard' import dynamic from 'next/dynamic' import { useRouter } from 'next/router' import { useState } from 'react' import { FacebookShareButton, FacebookIcon, FacebookMessengerShareButton, FacebookMessengerIcon, RedditShareButton, RedditIcon, LineShareButton, LineIcon, EmailShareButton, EmailIcon, TwitterShareButton, TwitterIcon, TelegramShareButton, TelegramIcon, WhatsappShareButton, WhatsappIcon, LinkedinShareButton, LinkedinIcon, PinterestShareButton, PinterestIcon, VKIcon, VKShareButton, OKShareButton, OKIcon, TumblrShareButton, TumblrIcon, LivejournalIcon, LivejournalShareButton, MailruShareButton, MailruIcon, ViberIcon, ViberShareButton, WorkplaceShareButton, WorkplaceIcon, WeiboShareButton, WeiboIcon, PocketShareButton, PocketIcon, InstapaperShareButton, InstapaperIcon, HatenaShareButton, HatenaIcon } from 'react-share' const QrCode = dynamic(() => import('@/components/QrCode'), { ssr: false }) /** * @author https://github.com/txs * @param {*} param0 * @returns */ const ShareButtons = ({ post }) => { const router = useRouter() const shareUrl = siteConfig('LINK') + router.asPath const title = post.title || siteConfig('TITLE') const image = post.pageCover const body = post?.title + ' | ' + title + ' ' + shareUrl + ' ' + post?.summary const services = siteConfig('POSTS_SHARE_SERVICES').split(',') const titleWithSiteInfo = title + ' | ' + siteConfig('TITLE') const { locale } = useGlobal() const [qrCodeShow, setQrCodeShow] = useState(false) const copyUrl = () => { copy(shareUrl) alert(locale.COMMON.URL_COPIED) } const openPopover = () => { setQrCodeShow(true) } const closePopover = () => { setQrCodeShow(false) } return ( <> {services.map(singleService => { if (singleService === 'facebook') { return ( ) } if (singleService === 'messenger') { return ( ) } if (singleService === 'line') { return ( ) } if (singleService === 'reddit') { return ( ) } if (singleService === 'email') { return ( ) } if (singleService === 'twitter') { return ( ) } if (singleService === 'telegram') { return ( ) } if (singleService === 'whatsapp') { return ( ) } if (singleService === 'linkedin') { return ( ) } if (singleService === 'pinterest') { return ( ) } if (singleService === 'vkshare') { return ( ) } if (singleService === 'okshare') { return ( ) } if (singleService === 'tumblr') { return ( ) } if (singleService === 'livejournal') { return ( ) } if (singleService === 'mailru') { return ( ) } if (singleService === 'viber') { return ( ) } if (singleService === 'workplace') { return ( ) } if (singleService === 'weibo') { return ( ) } if (singleService === 'pocket') { return ( ) } if (singleService === 'instapaper') { return ( ) } if (singleService === 'hatena') { return ( ) } if (singleService === 'qq') { return } if (singleService === 'wechat') { return } if (singleService === 'link') { return } return <> })} ) } export default ShareButtons