From 0b392248f82891330f3fcc8a9a5da3a1f831dca5 Mon Sep 17 00:00:00 2001 From: iris salcedo Date: Wed, 30 Jun 2021 15:35:29 +0200 Subject: [PATCH 1/5] Reset state on input change --- .../signMultiSignTransaction/importData/importData.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/components/screens/signMultiSignTransaction/importData/importData.js b/src/components/screens/signMultiSignTransaction/importData/importData.js index 778c7c46cb..e0ed2c2898 100644 --- a/src/components/screens/signMultiSignTransaction/importData/importData.js +++ b/src/components/screens/signMultiSignTransaction/importData/importData.js @@ -23,6 +23,11 @@ const ImportData = ({ t, nextStep }) => { } }; + const resetState = () => { + setTransaction(undefined); + setError(undefined); + }; + const validateAndSetTransaction = (input) => { try { const parsedInput = JSON.parse(input); @@ -34,12 +39,14 @@ const ImportData = ({ t, nextStep }) => { const onFileInputChange = ({ target }) => reader.readAsText(target.files[0]); const onPaste = (evt) => { + resetState(); const paste = evt.clipboardData.getData('text'); validateAndSetTransaction(paste); }; useEffect(() => { reader.onload = ({ target }) => { + resetState(); validateAndSetTransaction(target.result); }; }, []); From f363c6e6eb69cbcca60ba05237d2186bfdd78977 Mon Sep 17 00:00:00 2001 From: iris salcedo Date: Thu, 1 Jul 2021 10:57:38 +0200 Subject: [PATCH 2/5] Remove upload icon --- .../screens/signMultiSignTransaction/importData/styles.css | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/screens/signMultiSignTransaction/importData/styles.css b/src/components/screens/signMultiSignTransaction/importData/styles.css index a0e534af01..252dfde0d0 100644 --- a/src/components/screens/signMultiSignTransaction/importData/styles.css +++ b/src/components/screens/signMultiSignTransaction/importData/styles.css @@ -41,6 +41,9 @@ &.error { border: 1px solid var(--error-background-color); + & > textarea { + background: none; + } } &.filled { From 0cde4bac23dd68cc95a7ea65f9de0980dfcb2c63 Mon Sep 17 00:00:00 2001 From: iris salcedo Date: Thu, 1 Jul 2021 10:59:20 +0200 Subject: [PATCH 3/5] Set input as transaction when parse fails --- .../screens/signMultiSignTransaction/importData/importData.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/screens/signMultiSignTransaction/importData/importData.js b/src/components/screens/signMultiSignTransaction/importData/importData.js index e0ed2c2898..98a35067be 100644 --- a/src/components/screens/signMultiSignTransaction/importData/importData.js +++ b/src/components/screens/signMultiSignTransaction/importData/importData.js @@ -33,6 +33,7 @@ const ImportData = ({ t, nextStep }) => { const parsedInput = JSON.parse(input); setTransaction(parsedInput); } catch (e) { + setTransaction(input); setError('Invalid transaction'); } }; From 82cefca7ed6bf0d6cc458f58d3d51b54810917e4 Mon Sep 17 00:00:00 2001 From: iris salcedo Date: Thu, 1 Jul 2021 11:23:33 +0200 Subject: [PATCH 4/5] Add empty line --- .../screens/signMultiSignTransaction/importData/styles.css | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/screens/signMultiSignTransaction/importData/styles.css b/src/components/screens/signMultiSignTransaction/importData/styles.css index 252dfde0d0..a4fbf9ed31 100644 --- a/src/components/screens/signMultiSignTransaction/importData/styles.css +++ b/src/components/screens/signMultiSignTransaction/importData/styles.css @@ -41,6 +41,7 @@ &.error { border: 1px solid var(--error-background-color); + & > textarea { background: none; } From 27dd8e276e9901594c7ce29165e8323394752a0b Mon Sep 17 00:00:00 2001 From: iris salcedo Date: Thu, 1 Jul 2021 11:44:02 +0200 Subject: [PATCH 5/5] Set error transaction to undefined --- .../importData/importData.js | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/components/screens/signMultiSignTransaction/importData/importData.js b/src/components/screens/signMultiSignTransaction/importData/importData.js index 98a35067be..c5fff0311c 100644 --- a/src/components/screens/signMultiSignTransaction/importData/importData.js +++ b/src/components/screens/signMultiSignTransaction/importData/importData.js @@ -23,35 +23,31 @@ const ImportData = ({ t, nextStep }) => { } }; - const resetState = () => { - setTransaction(undefined); - setError(undefined); - }; - const validateAndSetTransaction = (input) => { try { const parsedInput = JSON.parse(input); setTransaction(parsedInput); + setError(undefined); } catch (e) { - setTransaction(input); + setTransaction(undefined); setError('Invalid transaction'); } }; const onFileInputChange = ({ target }) => reader.readAsText(target.files[0]); const onPaste = (evt) => { - resetState(); const paste = evt.clipboardData.getData('text'); validateAndSetTransaction(paste); }; useEffect(() => { reader.onload = ({ target }) => { - resetState(); validateAndSetTransaction(target.result); }; }, []); + console.log(transaction); + return (
@@ -76,7 +72,7 @@ const ImportData = ({ t, nextStep }) => {