diff --git a/www/app/transcripts/finalSummary.tsx b/www/app/transcripts/finalSummary.tsx index 0e76c869..68869292 100644 --- a/www/app/transcripts/finalSummary.tsx +++ b/www/app/transcripts/finalSummary.tsx @@ -1,12 +1,41 @@ +import { useRef, useState } from "react"; + type FinalSummaryProps = { text: string; }; export default function FinalSummary(props: FinalSummaryProps) { + const finalSummaryRef = useRef(null); + const [isCopied, setIsCopied] = useState(false); + + const handleCopyClick = () => { + let text_to_copy = finalSummaryRef.current?.innerText; + + text_to_copy && + navigator.clipboard.writeText(text_to_copy).then(() => { + setIsCopied(true); + // Reset the copied state after 2 seconds + setTimeout(() => setIsCopied(false), 2000); + }); + }; + return (
-

Final Summary

-

{props.text}

+
+

Final Summary

+ +
+ +

{props.text}

); } diff --git a/www/app/transcripts/shareLink.tsx b/www/app/transcripts/shareLink.tsx index ea64c9e3..d5166d47 100644 --- a/www/app/transcripts/shareLink.tsx +++ b/www/app/transcripts/shareLink.tsx @@ -11,12 +11,14 @@ const ShareLink = () => { const handleCopyClick = () => { if (inputRef.current) { - inputRef.current.select(); - document.execCommand("copy"); - setIsCopied(true); + let text_to_copy = inputRef.current.value; - // Reset the copied state after 2 seconds - setTimeout(() => setIsCopied(false), 2000); + text_to_copy && + navigator.clipboard.writeText(text_to_copy).then(() => { + setIsCopied(true); + // Reset the copied state after 2 seconds + setTimeout(() => setIsCopied(false), 2000); + }); } };