From 42e4a0621b17006a61ebfbe057b51f70091e3d55 Mon Sep 17 00:00:00 2001
From: Dan Finlay <dan@danfinlay.com>
Date: Wed, 8 Mar 2017 15:37:37 -0800
Subject: Add ENS click to copy

Also bump ethjs-ens version to get proper error for unregistered names.
---
 ui/app/components/ens-input.js | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

(limited to 'ui/app/components/ens-input.js')

diff --git a/ui/app/components/ens-input.js b/ui/app/components/ens-input.js
index f018cc632..ffc4eab4a 100644
--- a/ui/app/components/ens-input.js
+++ b/ui/app/components/ens-input.js
@@ -3,6 +3,7 @@ const h = require('react-hyperscript')
 const inherits = require('util').inherits
 const extend = require('xtend')
 const debounce = require('debounce')
+const copyToClipboard = require('copy-to-clipboard')
 const ENS = require('ethjs-ens')
 const ensRE = /.+\.eth$/
 
@@ -27,7 +28,6 @@ EnsInput.prototype.render = function () {
 
       const recipient = document.querySelector('input[name="address"]').value
       if (recipient.match(ensRE) === null) {
-        console.dir(recipient)
         return this.setState({
           loadingEns: false,
           ensResolution: null,
@@ -76,20 +76,15 @@ EnsInput.prototype.lookupEnsName = function () {
   log.info(`ENS attempting to resolve name: ${recipient}`)
   this.ens.lookup(recipient.trim())
   .then((address) => {
-    console.log('ens called back with ' + address)
-
     if (address !== ensResolution) {
       this.setState({
         loadingEns: false,
         ensResolution: address,
-        hoverText: address,
+        hoverText: address + '\nClick to Copy',
       })
     }
   })
   .catch((reason) => {
-    console.log('ens threw error: ' + reason.message)
-    console.trace(reason)
-    debugger
     return this.setState({
       loadingEns: false,
       ensFailure: true,
@@ -103,7 +98,6 @@ EnsInput.prototype.componentDidUpdate = function (prevProps, prevState) {
   const { ensResolution } = state
   if (ensResolution && this.props.onChange &&
       ensResolution !== prevState.ensResolution) {
-    console.log('Firing on change to parent')
     this.props.onChange(ensResolution)
   }
 }
@@ -139,8 +133,13 @@ EnsInput.prototype.ensIconContents = function (recipient) {
   }
 
   if (ensResolution) {
-    return h('i.fa.fa-check-circle.fa-lg', {
+    return h('i.fa.fa-check-circle.fa-lg.cursor-pointer', {
       style: { color: 'green' },
+      onClick: (event) => {
+        event.preventDefault()
+        event.stopPropagation()
+        copyToClipboard(ensResolution)
+      },
     })
   }
 }
-- 
cgit