Files
coco-app/src/utils/index.ts

53 lines
1.1 KiB
TypeScript
Raw Normal View History

2024-11-12 09:44:49 +08:00
import { useEffect, useState } from "react";
// 1
export async function copyToClipboard(text: string) {
try {
if (window.__TAURI__) {
window.__TAURI__.writeText(text);
} else {
await navigator.clipboard.writeText(text);
}
console.info("Copy Success");
} catch (error) {
const textArea = document.createElement("textarea");
textArea.value = text;
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
try {
document.execCommand("copy");
console.info("Copy Success");
} catch (error) {
console.info("Copy Failed");
}
document.body.removeChild(textArea);
}
}
// 2
export function useWindowSize() {
const [size, setSize] = useState({
width: window.innerWidth,
height: window.innerHeight,
});
useEffect(() => {
const onResize = () => {
setSize({
width: window.innerWidth,
height: window.innerHeight,
});
};
window.addEventListener("resize", onResize);
return () => {
window.removeEventListener("resize", onResize);
};
}, []);
return size;
}