From 31f146b650a95f70600daee114293cdbf5264d5f Mon Sep 17 00:00:00 2001 From: Piotr Rogowski Date: Mon, 18 Jul 2022 20:43:01 +0200 Subject: [PATCH] Refactor `copyToClipboard` --- src/pages/Hub.tsx | 18 +++++------------- src/pages/Upload.tsx | 20 ++++++-------------- src/pages/auth/notifications.ts | 6 ++++++ src/utils/clipboard.ts | 11 +++++++++++ 4 files changed, 28 insertions(+), 27 deletions(-) create mode 100644 src/utils/clipboard.ts diff --git a/src/pages/Hub.tsx b/src/pages/Hub.tsx index 5a4322e..d555329 100644 --- a/src/pages/Hub.tsx +++ b/src/pages/Hub.tsx @@ -4,7 +4,6 @@ import { Input, Space, Table, - Tooltip, Typography, } from 'antd'; import { ColumnsType } from 'antd/lib/table'; @@ -28,6 +27,10 @@ import { Routes } from '../routes'; import { buildFullUrl } from '../utils/url'; import { aspirationMapper } from '../utils/tune/mappers'; import { TuneDbDocument } from '../types/dbData'; +import { + copyToClipboard, + isClipboardSupported, +} from '../utils/clipboard'; const { useBreakpoint } = Grid; @@ -38,17 +41,8 @@ const Hub = () => { const { searchTunes } = useDb(); const navigate = useNavigate(); const [dataSource, setDataSource] = useState([]); - const [copied, setCopied] = useState(false); const [isLoading, setIsLoading] = useState(true); - const copyToClipboard = async (shareUrl: string) => { - if (navigator.clipboard) { - await navigator.clipboard.writeText(shareUrl); - setCopied(true); - setTimeout(() => setCopied(false), 1000); - } - }; - const loadData = debounce(async (searchText?: string) => { setIsLoading(true); const list = await searchTunes(searchText); @@ -153,9 +147,7 @@ const Hub = () => { fixed: 'right', render: (tuneId: string) => ( - -