mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-01-15 13:43:39 +01:00
28 lines
698 B
TypeScript
28 lines
698 B
TypeScript
import { clear, writeText } from '@tauri-apps/plugin-clipboard-manager';
|
|
import { useCallback } from 'react';
|
|
import { useToast } from '../components/ToastContext';
|
|
|
|
export function useCopy({ disableToast }: { disableToast?: boolean } = {}) {
|
|
const toast = useToast();
|
|
|
|
const copy = useCallback(
|
|
(text: string | null) => {
|
|
if (text == null) {
|
|
clear().catch(console.error);
|
|
} else {
|
|
writeText(text).catch(console.error);
|
|
}
|
|
if (text != '' && !disableToast) {
|
|
toast.show({
|
|
id: 'copied',
|
|
variant: 'copied',
|
|
message: 'Copied to clipboard',
|
|
});
|
|
}
|
|
},
|
|
[disableToast, toast],
|
|
);
|
|
|
|
return copy;
|
|
}
|