fix: errors could be displayed unnecessarily

This commit is contained in:
Tom (plebeius.eth)
2025-06-03 22:02:54 +02:00
parent d1f364dfc1
commit 9fbfcb3630
6 changed files with 139 additions and 8 deletions
+30
View File
@@ -0,0 +1,30 @@
/**
* Universal clipboard utility that works in both Electron and web environments
*/
export const copyToClipboard = async (text: string): Promise<void> => {
// Check if we're in Electron and use its clipboard API
if (typeof window !== 'undefined' && (window as any).electronApi?.copyToClipboard) {
try {
const result = await (window as any).electronApi.copyToClipboard(text);
if (!result.success) {
throw new Error(result.error || 'Failed to copy to clipboard');
}
return;
} catch (error) {
console.error('Electron clipboard failed:', error);
// Fall back to web clipboard API
}
}
// Fallback to web clipboard API
if (navigator.clipboard) {
try {
await navigator.clipboard.writeText(text);
} catch (error) {
console.error('Web clipboard failed:', error);
throw new Error('Failed to copy to clipboard. Your browser may not support this feature.');
}
} else {
throw new Error('Your browser does not support clipboard API');
}
};