/** * Universal clipboard utility that works in both Electron and web environments */ export const copyToClipboard = async (text: string): Promise => { // Check if we're in Electron and use its clipboard API if (typeof window !== 'undefined' && window.electronApi?.copyToClipboard) { try { const result = await window.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'); } };