feat(client/web): Set clipboard export

This commit is contained in:
Luke
2022-04-17 18:22:19 +02:00
parent e00ef6cbf5
commit 96d1f74f14
3 changed files with 22 additions and 0 deletions

View File

@@ -8,3 +8,10 @@ lib = setmetatable({}, {
rawset(self, name, fn)
end
})
function lib.setClipboard(value)
SendNUIMessage({
action = 'setClipboard',
data = value
})
end

View File

@@ -4,8 +4,14 @@ import Progressbar from "./features/progress/Progressbar";
import TextUI from "./features/textui/TextUI";
import InputDialog from "./features/dialog/InputDialog";
import ContextMenu from "./features/menu/ContextMenu";
import { useNuiEvent } from "./hooks/useNuiEvent";
import { setClipboard } from "./utils/setClipboard";
const App: React.FC = () => {
useNuiEvent("setClipboard", (data: string) => {
setClipboard(data);
});
return (
<>
<Progressbar />

View File

@@ -0,0 +1,9 @@
// yoinked from https://github.com/project-error/npwd/blob/d8dc5b7f47faf5fc581ffee30f31ff61d184cfe7/phone/src/os/phone/hooks/useClipboard.ts#L1
export const setClipboard = (value: string) => {
const clipElem = document.createElement('input');
clipElem.value = value;
document.body.appendChild(clipElem);
clipElem.select();
document.execCommand('copy');
document.body.removeChild(clipElem);
};