| 
					
				 | 
			
			
				@@ -1,29 +1,31 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { useState } from 'react' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { useCallback, useState } from 'react' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import writeText from 'copy-to-clipboard' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 type CopiedValue = string | null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 type CopyFn = (text: string) => Promise<boolean> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function useCopyToClipboard(): [CopiedValue, CopyFn] { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const [copiedText, setCopiedText] = useState<CopiedValue>(null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const [copiedText, setCopiedText] = useState<CopiedValue>(null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const copy: CopyFn = async text => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (!navigator?.clipboard) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            console.warn('Clipboard not supported') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const copy: CopyFn = useCallback(async (text: string) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!navigator?.clipboard) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      console.warn('Clipboard not supported') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            await navigator.clipboard.writeText(text) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            setCopiedText(text) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } catch (error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            console.warn('Copy failed', error) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            setCopiedText(null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      writeText(text) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      setCopiedText(text) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    catch (error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      console.warn('Copy failed', error) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      setCopiedText(null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return [copiedText, copy] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return [copiedText, copy] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export default useCopyToClipboard 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default useCopyToClipboard 
			 |