aboutsummaryrefslogtreecommitdiffstats
path: root/static/js/register.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2017-01-15 18:24:09 -0800
committerAdam Soltys <[email protected]>2017-01-15 18:24:09 -0800
commit7762ceaa7e2bb34f8758e17a4c8f512fa6a81b9e (patch)
tree91bb1d1b8fe6ad77a48f0e429d9bfd35834c78d9 /static/js/register.js
parent0ae266bf88f9f79c7e99b272688126898303daa4 (diff)
downloadcoinos-server-7762ceaa7e2bb34f8758e17a4c8f512fa6a81b9e.tar.gz
coinos-server-7762ceaa7e2bb34f8758e17a4c8f512fa6a81b9e.zip
Initial Vueification
Diffstat (limited to 'static/js/register.js')
-rw-r--r--static/js/register.js60
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);