From 36ebd214c1f1aca2eb456dd05156800b5152ca0d Mon Sep 17 00:00:00 2001 From: Aaron Kirkbride Date: Sun, 2 Jun 2024 20:25:12 +0100 Subject: [PATCH] Hook up download markdown button --- src/components/StatusBar/StatusBar.tsx | 38 ++++++++++++++++++++------ src/routes/Session.tsx | 6 ++++ 2 files changed, 35 insertions(+), 9 deletions(-) diff --git a/src/components/StatusBar/StatusBar.tsx b/src/components/StatusBar/StatusBar.tsx index 678530e..d252868 100644 --- a/src/components/StatusBar/StatusBar.tsx +++ b/src/components/StatusBar/StatusBar.tsx @@ -16,24 +16,40 @@ import { buildJoinUrl, type Session } from '@/utils/session'; const COPIED_TO_CLIPBOARD_TIMEOUT = 3000; type StatusBarProps = { + copyMarkdownToClipboard: () => void; isHost: boolean; onEndSession: () => void; session: Session; }; -const StatusBar = ({ isHost, onEndSession, session }: StatusBarProps) => { - const [copiedToClipboard, setCopiedToClipboard] = useState(false); +const StatusBar = ({ + copyMarkdownToClipboard, + isHost, + onEndSession, + session, +}: StatusBarProps) => { + const [copiedJoinUrlToClipboard, setCopiedJoinUrlToClipboard] = + useState(false); + const [copiedMarkdownToClipboard, setCopiedMarkdownToClipboard] = + useState(false); const joinUrl = useMemo(() => buildJoinUrl(session), [session]); const onCopyInviteUrlClick = (event: React.MouseEvent) => { - event.preventDefault(); - copyToClipboard(joinUrl); - setCopiedToClipboard(true); + setCopiedJoinUrlToClipboard(true); setTimeout(() => { - setCopiedToClipboard(false); + setCopiedJoinUrlToClipboard(false); + }, COPIED_TO_CLIPBOARD_TIMEOUT); + }; + + const onDownloadMarkdown = () => { + copyMarkdownToClipboard(); + + setCopiedMarkdownToClipboard(true); + setTimeout(() => { + setCopiedMarkdownToClipboard(false); }, COPIED_TO_CLIPBOARD_TIMEOUT); }; @@ -53,7 +69,7 @@ const StatusBar = ({ isHost, onEndSession, session }: StatusBarProps) => { )} -