import { toast } from '@redwoodjs/web/toast' ; function fallbackCopyTextToClipboard ( text ) { const textArea = document . createElement ( 'textarea' ) ; textArea . value = text ; textArea . style . top = '0' ; textArea . style . left = '0' ; textArea . style . position = 'fixed' ; document . body . appendChild ( textArea ) ; textArea . focus ( ) ; textArea . select ( ) ; try { const successful = document . execCommand ( 'copy' ) ; const msg = successful ? 'successful' : 'unsuccessful' ; console . log ( 'Fallback: Copying text command was ' + msg ) ; } catch ( err ) { console . error ( 'Fallback: Oops, unable to copy' , err ) ; } document . body . removeChild ( textArea ) ; } const clipboardSuccessToast = ( ) => toast . success ( ( ) => ( < div className = "overflow-hidden" > < p > link added to clipboard . < /p> < /div>)); const makeClipboardCopier = ( success ) => ( text ) => { if ( ! navigator . clipboard ) { fallbackCopyTextToClipboard ( text ) ; success ( text ) ; return ; } navigator . clipboard . writeText ( text ) . then ( function ( ) { console . log ( 'Async: Copying to clipboard was successful!' ) ; success ( text ) ; } , function ( err ) { console . error ( 'Async: Could not copy text: ' , err ) ; } ) ; } ; export const copyTextToClipboard = makeClipboardCopier ( clipboardSuccessToast ) ;