From 2fe1ceebd6287ed4835798c82498834102cb7e18 Mon Sep 17 00:00:00 2001 From: Robert Zorko Date: Wed, 14 Oct 2015 14:04:11 +0200 Subject: moved the signup to its own screen (and file) --- js/codeq/signup.js | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 js/codeq/signup.js (limited to 'js/codeq/signup.js') diff --git a/js/codeq/signup.js b/js/codeq/signup.js new file mode 100644 index 0000000..aab831f --- /dev/null +++ b/js/codeq/signup.js @@ -0,0 +1,72 @@ +/** + * Created by robert on 10/14/15. + */ +(function(){ + + var jqUsername = $("#modalSignUpUsername"), + jqName = $("#modalSignUpName"), + jqEmail = $("#modalSignUpEmail"), + jqPassword = $("#modalSignUpPassword"), + jqVerify = $("#modalSignUpVerify"); + + codeq.globalStateMachine.register('signup',{ + 'enter': function(){ + $('#navigation-home').off('click');//remove the click listener of this element here + $('.nav.navbar-nav.navbar-right').css('display','none');//hide settings etc. + $('#signed-in-title').html(''); + $("#screen_signup").css('display', ''); + $('#disabled').css('display', 'none'); + $('#exit_signup_btn').on('click',function(){ + codeq.globalStateMachine.transition('login'); + }); + + //prepare listener for successfull signup + $('#formSignUp').on('submit',function(event) { + console.log($(this).serialize()); + if (jqPassword.val() != jqVerify.val()) { + alert('Passwords do not match.'); + } + else { + codeq.comms.signup(jqUsername.val(), jqName.val(), jqEmail.val(), jqPassword.val()) + .then(function (data) { + if (data.code !== 0) throw new Error('Signup failed, code: ' + data.code + ', message: ' + data.message); + + var newUsername = jqUsername.val();//saving before transition (which will reset the value of the field) + //back to login + codeq.globalStateMachine.transition('login'); + alert('Welcome '+ newUsername +'. Thanks for signing up.'); + //assume user wants to sign-in with signed username + $("#username").val(newUsername); + + }) + .fail(function (reason) { + codeq.log.error('Signup failed: ' + reason, reason); + alert('Signup failed: ' + reason); + }) + .done(); + } + event.preventDefault(); // Prevent the form from submitting via the browser. + }); + }, + 'exit' : function(){ + $("#screen_signup").css('display', 'none'); + //re-enable the click listener + $('#navigation-home').on('click', function(e){ + codeq.globalStateMachine.transition('language'); + e.preventDefault(); + }); + //disable listeners on stuff from this page only + $('#exit_signup_btn').off('click'); + $('#formSignUp').off('submit'); + //show the menu buttons + $('.nav.navbar-nav.navbar-right').css('display',''); + + jqUsername.val(''); + jqName.val(''); + jqEmail.val(''); + jqPassword.val(''); + jqVerify.val(''); + } + }); + +})(); -- cgit v1.2.1