diff options
| author | Adam Soltys <[email protected]> | 2017-01-15 18:24:09 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2017-01-15 18:24:09 -0800 |
| commit | 7762ceaa7e2bb34f8758e17a4c8f512fa6a81b9e (patch) | |
| tree | 91bb1d1b8fe6ad77a48f0e429d9bfd35834c78d9 /static/js/register.js | |
| parent | 0ae266bf88f9f79c7e99b272688126898303daa4 (diff) | |
| download | coinos-server-7762ceaa7e2bb34f8758e17a4c8f512fa6a81b9e.tar.gz coinos-server-7762ceaa7e2bb34f8758e17a4c8f512fa6a81b9e.zip | |
Initial Vueification
Diffstat (limited to 'static/js/register.js')
| -rw-r--r-- | static/js/register.js | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/static/js/register.js b/static/js/register.js new file mode 100644 index 00000000..6e623ae4 --- /dev/null +++ b/static/js/register.js @@ -0,0 +1,60 @@ +(function() { + var g; + + g = this; + + $(function() { + $('#username').focus(); + $('#username').blur(function() { + $(this).parent().next('.alert').remove(); + if (/^[a-z]+$/.test($(this).val())) { + return $(this).parent().removeClass('has-error'); + } else { + $(this).parent().addClass('has-error'); + return $(this).parent().after('<div class="alert alert-danger">Username must be lowercase</div>'); + } + }); + $('#password').blur(function() { + $('#confirm').blur(); + return $(this).parent().next('.alert').remove(); + }); + $('#confirm').blur(function() { + if ($(this).val() === '') { + return; + } + $(this).parent().next('.alert').remove(); + if ($('#password').val() === $('#confirm').val()) { + return $('#confirm').parent().removeClass('has-error'); + } else { + $('#confirm').parent().addClass('has-error'); + return $('#confirm').parent().after('<div class="alert alert-danger">Passwords don\'t match</div>'); + } + }); + $('#email').blur(function() { + if ($(this).val() === '') { + return; + } + $(this).parent().next('.alert').remove(); + if (validateEmail($(this).val())) { + return $(this).parent().removeClass('has-error'); + } else { + $(this).parent().addClass('has-error'); + return $(this).parent().after('<div class="alert alert-danger">Invalid email</div>'); + } + }); + return $('#register').submit(function() { + var key, mnemonic; + $('.form-control').blur(); + if ($('.has-error').length > 0) { + $('.has-error').effect('shake', 500); + return false; + } else { + mnemonic = bip39.generateMnemonic(); + key = bitcoin.HDNode.fromSeedBuffer(bip39.mnemonicToSeed(mnemonic)).deriveHardened(44).deriveHardened(0); + $('#pubkey').val(key.neutered().toString()); + return $('#privkey').val(CryptoJS.AES.encrypt(key.toString(), $('#password').val()).toString()); + } + }); + }); + +}).call(this); |
