diff --git a/src/shell/components/DisplayResultView.tsx b/src/shell/components/DisplayResultView.tsx index 743f943..d082e85 100644 --- a/src/shell/components/DisplayResultView.tsx +++ b/src/shell/components/DisplayResultView.tsx @@ -1,7 +1,8 @@ -import { faTrashAlt, faHashtag } from '@fortawesome/free-solid-svg-icons'; +import { faTrashAlt, faHashtag, faLink, faCheck } from '@fortawesome/free-solid-svg-icons'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import React from 'react'; +import React, { useState } from 'react'; import AppState from '../AppState'; +import loglevel from 'loglevel'; type DisplayResultProps = { @@ -16,15 +17,28 @@ type DisplayResultProps = { const DisplayResultView: React.FunctionComponent = (props) => { - const resultKey : number = props.resultKey; const appState = props.appState; + const link = window.location.origin + window.location.pathname + '#' + props.inputHash; + const [copied, setCopied] = useState(false); + + async function copyLink(e: any) { + try { + await navigator.clipboard.writeText(link); + setCopied(true); + setTimeout(() => setCopied(false), 2000); + return false; + } catch (err) { + loglevel.debug(err); + return true; + } + } return
> {props.input} - - + {return await copyLink(e)}} href={link}> +