feat(ui): migrate all clipboard stuff to useClipboard

This commit is contained in:
psychedelicious
2025-02-07 09:57:55 +11:00
parent ecb38c2bae
commit e7aafdfdbf
10 changed files with 67 additions and 80 deletions

View File

@@ -19,6 +19,7 @@ import {
useDisclosure,
} from '@invoke-ai/ui-library';
import ScrollableContent from 'common/components/OverlayScrollbars/ScrollableContent';
import { useClipboard } from 'common/hooks/useClipboard';
import { discordLink, githubLink, websiteLink } from 'features/system/store/constants';
import { map } from 'lodash-es';
import InvokeLogoYellow from 'public/assets/images/invoke-tag-lrg.svg';
@@ -36,6 +37,7 @@ type AboutModalProps = {
const AboutModal = ({ children }: AboutModalProps) => {
const { isOpen, onOpen, onClose } = useDisclosure();
const { t } = useTranslation();
const clipboard = useClipboard();
const { depsArray, depsObject } = useGetAppDepsQuery(undefined, {
selectFromResult: ({ data }) => ({
depsObject: data,
@@ -45,8 +47,8 @@ const AboutModal = ({ children }: AboutModalProps) => {
const { data: appVersion } = useGetAppVersionQuery();
const handleCopy = useCallback(() => {
navigator.clipboard.writeText(JSON.stringify(depsObject, null, 2));
}, [depsObject]);
clipboard.writeText(JSON.stringify(depsObject, null, 2));
}, [clipboard, depsObject]);
return (
<>

View File

@@ -1,10 +0,0 @@
/**
* Copies a blob to the clipboard by calling navigator.clipboard.write().
*/
export const copyBlobToClipboard = (blob: Promise<Blob> | Blob, type = 'image/png') => {
navigator.clipboard.write([
new ClipboardItem({
[type]: blob,
}),
]);
};