From ff54200c64bbb31c4997173b3b870f7882925787 Mon Sep 17 00:00:00 2001 From: Innders <49156310+Innders@users.noreply.github.com> Date: Wed, 13 Dec 2023 09:53:07 +0000 Subject: [PATCH] fix: all navigator.write to use helper func --- src/components/ApiKeyManager.jsx | 4 ++-- src/components/ShareDialog.jsx | 4 +--- src/containers/AddonSettings/AddonSettings.jsx | 8 +++----- src/containers/Breadcrumbs/Breadcrumbs.jsx | 5 ++--- .../RawSettingsDialog/RawSettingsDialog.jsx | 10 ++-------- src/containers/SettingsEditor/fields.jsx | 12 +++--------- 6 files changed, 13 insertions(+), 30 deletions(-) diff --git a/src/components/ApiKeyManager.jsx b/src/components/ApiKeyManager.jsx index 7a5e81328..70ccd1f76 100644 --- a/src/components/ApiKeyManager.jsx +++ b/src/components/ApiKeyManager.jsx @@ -7,6 +7,7 @@ import { useUpdateUserAPIKeyMutation } from '../services/user/updateUser' import { toast } from 'react-toastify' import styled from 'styled-components' import confirmDelete from '../helpers/confirmDelete' +import copyToClipboard from '../helpers/copyToClipboard' const PanelStyled = styled(Panel)` flex-direction: row; @@ -76,8 +77,7 @@ const ApiKeyManager = ({ preview, name }) => { } const handleCopyKey = () => { - navigator.clipboard.writeText(newKey.key) - toast.success('API Key Copied') + copyToClipboard(newKey.key) } if (preview || newKey?.key) diff --git a/src/components/ShareDialog.jsx b/src/components/ShareDialog.jsx index 820c3e334..52d471aa0 100644 --- a/src/components/ShareDialog.jsx +++ b/src/components/ShareDialog.jsx @@ -5,7 +5,6 @@ import { closeShare } from '../features/context' import { Button } from '@ynput/ayon-react-components' import copyToClipboard from '../helpers/copyToClipboard' import { TabView, TabPanel } from 'primereact/tabview' -import { toast } from 'react-toastify' import { Dialog } from 'primereact/dialog' const ShareStyled = styled.div` @@ -73,8 +72,7 @@ const ShareDialog = () => { const copyImage = async (img) => { const blob = await convertToBlob(img) // copies image to clipboard - navigator.clipboard.write([new ClipboardItem({ [blob.type]: blob })]) - toast.info('Image copied to clipboard') + copyToClipboard([new ClipboardItem({ [blob.type]: blob })]) } const string = JSON.stringify(data, null, 2).replace(/"/g, '').replace(/{|}/g, '').slice(1, -1) diff --git a/src/containers/AddonSettings/AddonSettings.jsx b/src/containers/AddonSettings/AddonSettings.jsx index 18830fa29..876339ce5 100644 --- a/src/containers/AddonSettings/AddonSettings.jsx +++ b/src/containers/AddonSettings/AddonSettings.jsx @@ -410,15 +410,13 @@ const AddonSettings = ({ projectName, showSites = false }) => { } const onPasteValue = async (addon, siteId, path) => { - const text = await navigator.clipboard.readText() - let value try { - value = JSON.parse(text) + const text = await navigator.clipboard.readText() + const value = JSON.parse(text) + pushValueToPath(addon, siteId, path, value) } catch (e) { toast.error('Cannot paste, invalid clipboard contents') - return } - pushValueToPath(addon, siteId, path, value) } // paste const onPushToProduction = async () => { diff --git a/src/containers/Breadcrumbs/Breadcrumbs.jsx b/src/containers/Breadcrumbs/Breadcrumbs.jsx index eef511d84..ce9473b98 100644 --- a/src/containers/Breadcrumbs/Breadcrumbs.jsx +++ b/src/containers/Breadcrumbs/Breadcrumbs.jsx @@ -1,12 +1,12 @@ import { useEffect, useState, useRef } from 'react' import { useSelector } from 'react-redux' import { useLocation } from 'react-router-dom' -import { toast } from 'react-toastify' import { Button, InputText } from '@ynput/ayon-react-components' import * as Styled from './Breadcrumbs.styled' import { upperFirst } from 'lodash' import useUriNavigate from '/src/hooks/useUriNavigate' +import copyToClipboard from '/src/helpers/copyToClipboard' const uri2crumbs = (uri = '', pathname) => { // parse uri to path and query params @@ -104,8 +104,7 @@ const Breadcrumbs = () => { } const onCopy = () => { - navigator.clipboard.writeText(localUri) - toast.success('Copied to clipboard') + copyToClipboard(localUri) } const handleKeyDown = (e) => { diff --git a/src/containers/RawSettingsDialog/RawSettingsDialog.jsx b/src/containers/RawSettingsDialog/RawSettingsDialog.jsx index 94dadddfe..9a831e87e 100644 --- a/src/containers/RawSettingsDialog/RawSettingsDialog.jsx +++ b/src/containers/RawSettingsDialog/RawSettingsDialog.jsx @@ -11,6 +11,7 @@ import { useSetRawAddonSettingsOverridesMutation, useLazyGetRawAddonSettingsOverridesQuery, } from '/src/services/addonSettings' +import copyToClipboard from '/src/helpers/copyToClipboard' const EditorWrapper = styled.div` position: relative; @@ -124,14 +125,7 @@ const RawSettingsDialog = ({ const footer = (