aboutsummaryrefslogtreecommitdiffstats
path: root/static/js/register.coffee
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.coffee
parent0ae266bf88f9f79c7e99b272688126898303daa4 (diff)
downloadcoinos-server-7762ceaa7e2bb34f8758e17a4c8f512fa6a81b9e.tar.gz
coinos-server-7762ceaa7e2bb34f8758e17a4c8f512fa6a81b9e.zip
Initial Vueification
Diffstat (limited to 'static/js/register.coffee')
-rw-r--r--static/js/register.coffee53
1 files changed, 53 insertions, 0 deletions
diff --git a/static/js/register.coffee b/static/js/register.coffee
new file mode 100644
index 00000000..98842328
--- /dev/null
+++ b/static/js/register.coffee
@@ -0,0 +1,53 @@
+g = this
+
+$(->
+ $('#username').focus()
+
+ $('#username').blur(->
+ $(this).parent().next('.alert').remove()
+
+ if /^[a-z]+$/.test($(this).val())
+ $(this).parent().removeClass('has-error')
+ else
+ $(this).parent().addClass('has-error')
+ $(this).parent().after('<div class="alert alert-danger">Username must be lowercase</div>')
+ )
+
+ $('#password').blur(->
+ $('#confirm').blur()
+ $(this).parent().next('.alert').remove()
+ )
+
+ $('#confirm').blur(->
+ return if $(this).val() == ''
+ $(this).parent().next('.alert').remove()
+
+ if $('#password').val() == $('#confirm').val()
+ $('#confirm').parent().removeClass('has-error')
+ else
+ $('#confirm').parent().addClass('has-error')
+ $('#confirm').parent().after('<div class="alert alert-danger">Passwords don\'t match</div>')
+ )
+
+ $('#email').blur(->
+ return if $(this).val() == ''
+ $(this).parent().next('.alert').remove()
+ if validateEmail($(this).val())
+ $(this).parent().removeClass('has-error')
+ else
+ $(this).parent().addClass('has-error')
+ $(this).parent().after('<div class="alert alert-danger">Invalid email</div>')
+ )
+
+ $('#register').submit(->
+ $('.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())
+ $('#privkey').val(CryptoJS.AES.encrypt(key.toString(), $('#password').val()).toString())
+ )
+)