diff options
author | Whymarrh Whitby <whymarrh.whitby@gmail.com> | 2018-08-14 17:53:25 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-14 17:53:25 +0800 |
commit | 9ba91e69c73fe931e2d48cdf72e9592f490d3eed (patch) | |
tree | 3856be05a2bbb572044c92cf7cbc781f7bcd197b | |
parent | e2be22a4b722df608cb764042cc8ade6664414d8 (diff) | |
parent | 4dadeb9a314dc9f61c00e5695ea608aa58f150b7 (diff) | |
download | tangerine-wallet-browser-9ba91e69c73fe931e2d48cdf72e9592f490d3eed.tar tangerine-wallet-browser-9ba91e69c73fe931e2d48cdf72e9592f490d3eed.tar.gz tangerine-wallet-browser-9ba91e69c73fe931e2d48cdf72e9592f490d3eed.tar.bz2 tangerine-wallet-browser-9ba91e69c73fe931e2d48cdf72e9592f490d3eed.tar.lz tangerine-wallet-browser-9ba91e69c73fe931e2d48cdf72e9592f490d3eed.tar.xz tangerine-wallet-browser-9ba91e69c73fe931e2d48cdf72e9592f490d3eed.tar.zst tangerine-wallet-browser-9ba91e69c73fe931e2d48cdf72e9592f490d3eed.zip |
Merge pull request #4961 from whymarrh/download-seed-phrase
Add download seed phrase link to new UI
-rw-r--r-- | mascara/src/app/first-time/index.css | 13 | ||||
-rw-r--r-- | mascara/src/app/first-time/seed-screen.js | 16 | ||||
-rw-r--r-- | ui/app/util.js | 4 |
3 files changed, 30 insertions, 3 deletions
diff --git a/mascara/src/app/first-time/index.css b/mascara/src/app/first-time/index.css index 09e7d378d..2d05a48b8 100644 --- a/mascara/src/app/first-time/index.css +++ b/mascara/src/app/first-time/index.css @@ -340,6 +340,19 @@ min-width: 0; } +.backup-phrase__tips-text--link { + color: #2f9ae0; + cursor: pointer; +} + +.backup-phrase__tips-text--link:hover { + color: #2f9ae0; +} + +.backup-phrase__tips-text--strong { + font-weight: bold; +} + @media only screen and (max-width: 768px) { .backup-phrase__content-wrapper { flex-direction: column; diff --git a/mascara/src/app/first-time/seed-screen.js b/mascara/src/app/first-time/seed-screen.js index d004be77b..97d5d7930 100644 --- a/mascara/src/app/first-time/seed-screen.js +++ b/mascara/src/app/first-time/seed-screen.js @@ -5,6 +5,7 @@ import classnames from 'classnames' import { withRouter } from 'react-router-dom' import { compose } from 'recompose' import Identicon from '../../../../ui/app/components/identicon' +import {exportAsFile} from '../../../../ui/app/util' import Breadcrumbs from './breadcrumbs' import LoadingScreen from './loading-screen' import { DEFAULT_ROUTE, INITIALIZE_CONFIRM_SEED_ROUTE } from '../../../../ui/app/routes' @@ -65,6 +66,12 @@ class BackupPhraseScreen extends Component { } } + exportSeedWords = () => { + const { seedWords } = this.props + + exportAsFile('MetaMask Secret Backup Phrase', seedWords, 'text/plain') + } + renderSecretWordsContainer () { const { isShowingSecret } = this.state @@ -111,7 +118,7 @@ class BackupPhraseScreen extends Component { <div className="backup-phrase__tips"> <div className="backup-phrase__tips-text">Tips:</div> <div className="backup-phrase__tips-text"> - Store this phrase in a password manager like 1password. + Store this phrase in a password manager like 1Password. </div> <div className="backup-phrase__tips-text"> Write this phrase on a piece of paper and store in a secure location. If you want even more security, write it down on multiple pieces of paper and store each in 2 - 3 different locations. @@ -119,6 +126,13 @@ class BackupPhraseScreen extends Component { <div className="backup-phrase__tips-text"> Memorize this phrase. </div> + <div className="backup-phrase__tips-text"> + <strong> + <a className="backup-phrase__tips-text--link backup-phrase__tips-text--strong" onClick={this.exportSeedWords}> + Download this Secret Backup Phrase + </a> + </strong> and keep it stored safely on an external encrypted hard drive or storage medium. + </div> </div> <div className="backup-phrase__next-button"> <button diff --git a/ui/app/util.js b/ui/app/util.js index 8b194e0c7..ade4fec8a 100644 --- a/ui/app/util.js +++ b/ui/app/util.js @@ -271,9 +271,9 @@ function getContractAtAddress (tokenAddress) { return global.eth.contract(abi).at(tokenAddress) } -function exportAsFile (filename, data) { +function exportAsFile (filename, data, type = 'text/csv') { // source: https://stackoverflow.com/a/33542499 by Ludovic Feltz - const blob = new Blob([data], {type: 'text/csv'}) + const blob = new Blob([data], {type}) if (window.navigator.msSaveOrOpenBlob) { window.navigator.msSaveBlob(blob, filename) } else { |