Skip to content

Commit

Permalink
use built-in clipboard functionality
Browse files Browse the repository at this point in the history
  • Loading branch information
vinceau committed Apr 15, 2024
1 parent 08e98a2 commit be7b785
Show file tree
Hide file tree
Showing 7 changed files with 44 additions and 25 deletions.
6 changes: 1 addition & 5 deletions src/main/preload.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import consoleApi from "@console/api";
import dolphinApi from "@dolphin/api";
import replaysApi from "@replays/api";
import settingsApi from "@settings/api";
import { clipboard, contextBridge, ipcRenderer, shell } from "electron";
import { contextBridge, ipcRenderer, shell } from "electron";
import path from "path";
import { isSubdirectory } from "utils/is_subdirectory";

Expand All @@ -24,10 +24,6 @@ const api = {
path: {
join: path.join,
},
clipboard: {
writeText: clipboard.writeText,
readText: clipboard.readText,
},
shell: {
openPath: shell.openPath,
openExternal: shell.openExternal,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,12 @@ export const ManageCodesContainer = ({
};

const handleCopy = (geckoCode: GeckoCode) => {
window.electron.clipboard.writeText(geckoCodeToString(geckoCode).trim());
showSuccess("Code copied to clipboard!");
navigator.clipboard
.writeText(geckoCodeToString(geckoCode).trim())
.then(() => {
showSuccess("Code copied to clipboard!");
})
.catch(console.error);
};

const handleToggle = (code: GeckoCode) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,13 @@ export const CgnatCommandSection = ({ address }: CgnatCommandSectionProps) => {
const displayedCgnatCommand = `${tracerouteCommand} ${cgnatCommandHidden ? hiddenIpAddress : address}`;
const [cgnatCommandCopied, setCgnatCommandCopied] = React.useState(false);
const onCgnatCommandCopy = React.useCallback(() => {
window.electron.clipboard.writeText(cgnatCommand);
setCgnatCommandCopied(true);
window.setTimeout(() => setCgnatCommandCopied(false), 2000);
navigator.clipboard
.writeText(cgnatCommand)
.then(() => {
setCgnatCommandCopied(true);
window.setTimeout(() => setCgnatCommandCopied(false), 2000);
})
.catch(console.error);
}, [cgnatCommand]);

return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,13 @@ export const NatTypeSection = ({ address, description, natType, title }: NatType
const ipAddressTitle = getIpAddressTitle(natType);
const [ipAddressCopied, setIpAddressCopied] = React.useState(false);
const onIpAddressCopy = React.useCallback(() => {
window.electron.clipboard.writeText(address);
setIpAddressCopied(true);
window.setTimeout(() => setIpAddressCopied(false), 2000);
navigator.clipboard
.writeText(address)
.then(() => {
setIpAddressCopied(true);
window.setTimeout(() => setIpAddressCopied(false), 2000);
})
.catch(console.error);
}, [address]);
const [ipAddressHidden, setIpAddressHidden] = React.useState(true);
const onIpAddressShowHide = () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,9 +109,13 @@ export const NetworkDiagnosticsResult = React.memo(
const [diagnosticResultsCopied, setDiagnosticResultsCopied] = React.useState(false);
const onDiagnosticResultsCopy = React.useCallback(() => {
const diagnosticResults = `${natTypeTitle}\n${natTypeDescription}\n\n${portMappingTitle}\n${portMappingDescription}\n\n${cgnatTitle}\n${cgnatDescription}`;
window.electron.clipboard.writeText(diagnosticResults);
setDiagnosticResultsCopied(true);
window.setTimeout(() => setDiagnosticResultsCopied(false), 2000);
navigator.clipboard
.writeText(diagnosticResults)
.then(() => {
setDiagnosticResultsCopied(true);
window.setTimeout(() => setDiagnosticResultsCopied(false), 2000);
})
.catch(console.error);
}, [cgnatDescription, cgnatTitle, natTypeDescription, natTypeTitle, portMappingDescription, portMappingTitle]);

return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,10 +126,14 @@ export const StartBroadcastDialog = ({ open, onClose, onSubmit }: StartBroadcast
<IconButton
size="small"
onClick={() => {
const text = window.electron.clipboard.readText();
if (text) {
handleChange(text);
}
navigator.clipboard
.readText()
.then((text) => {
if (text) {
handleChange(text);
}
})
.catch(console.error);
}}
>
<AssignmentIcon />
Expand Down
13 changes: 8 additions & 5 deletions src/renderer/pages/spectate/spectator_id_block.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,14 @@ export const SpectatorIdBlock = ({ userId, className }: SpectatorIdBlockProps) =

const onCopy = React.useCallback(() => {
// Set the clipboard text
window.electron.clipboard.writeText(userId);

// Set copied indication
setCopied(true);
window.setTimeout(() => setCopied(false), 2000);
navigator.clipboard
.writeText(userId)
.then(() => {
// Set copied indication
setCopied(true);
window.setTimeout(() => setCopied(false), 2000);
})
.catch(console.error);
}, [userId]);

return (
Expand Down

0 comments on commit be7b785

Please sign in to comment.