import Dropdown from 'react-bootstrap/Dropdown' import ShareIcon from '../svgs/share-fill.svg' import copy from 'clipboard-copy' import { useMe } from './me' import { useToast } from './toast' export default function Share ({ item }) { const me = useMe() const toaster = useToast() const url = `https://stacker.news/items/${item.id}${me ? `/r/${me.name}` : ''}` return typeof window !== 'undefined' && navigator?.share ? (
{ try { await navigator.share({ title: item.title || '', text: '', url }) toaster.success('link shared') } catch (err) { console.error(err) toaster.danger('failed to share link') } }} />
) : ( { try { await copy(url) toaster.success('link copied') } catch (err) { console.error(err) toaster.danger('failed to copy link') } }} > copy link ) } export function CopyLinkDropdownItem ({ item }) { const me = useMe() const toaster = useToast() const url = `https://stacker.news/items/${item.id}${me ? `/r/${me.name}` : ''}` return ( { try { if (navigator.share) { await navigator.share({ title: item.title || '', text: '', url }) } else { await copy(url) } toaster.success('link copied') } catch (err) { console.error(err) toaster.danger('failed to copy link') } }} > copy link ) }