UNPKG

sportsbet-mobile

Version:
120 lines (99 loc) 3 kB
///<reference path=".#ts/client.d.ts"/> interface Templates { login: Template; } Template.login.onCreated(function() { this.setVar('useGoogleAuth', ''); }); Template.login.helpers({ showGoogleAuth: function () { return Session.get('showGoogleAuth'); } }); Template.login.events({ 'change #squaredOne': function () { Session.set('showGoogleAuth', (Session.get('showGoogleAuth') ? false : true)); }, 'submit form': function (e: MeteorTemplateEvent) { e.preventDefault(); var $form = $(e.target); var data = $form.serializeObject(); var errorContainer = $form.find('.generalError'); errorContainer.html(''); errorContainer.hide(); if (!data.otpCode && data.useGoogleAuth) { errorContainer.append('<li>Please enter Google authenticator code</li>'); errorContainer.show(); $form.find('input[name="otpCode"]').anim('shake'); return; } Otp.loginWithPassword('sportsbet+' + data.username, data.password, data.otpCode == undefined ? '' : data.otpCode, function(err?) { Session.set('loading', false); if (err) { googleSend({ 'eventCategory': 'Login', 'eventAction': 'Login Error', 'pageEventArea': 'Main' }); if (err.details == 'passwordRequired') { errorContainer.append('<li>Your account has 2-step verification enabled. Please enter the Google Authenticator Code below.</li>'); errorContainer.show(); Session.set('showGoogleAuth', true); $("[name='otpCode']").anim('shake'); return; } else if (err.details == 'wrongPassword') { errorContainer.append('<li>Wrong Google Authenticator Code.</li>'); errorContainer.show(); Session.set('showGoogleAuth', true); $("[name='otpCode']").anim('shake'); return; } else if (err.details == 'otpNotEnabled') { errorContainer.append('<li>You do not have OTP enabled.</li>'); errorContainer.show(); Session.set('showGoogleAuth', false); $("[name='otpCode']").val(''); return; } else if (err.details == 'userDisabled') { errorContainer.append('<li>Account is closed.</li>'); errorContainer.show(); return; } else { $form.anim('shake'); errorContainer.append('<li>Incorrect username or password</li>'); errorContainer.show(); return; } } Session.set('betSlipError', false); Meteor.call('Fraud/getDeviceInfo', (err, res) => { if (err) { return; } Meteor.call('Fraud/LoginLookup', res); }); (<HTMLFormElement> $form[0]).reset(); Meteor.apply('customerIoEvent', ['login']); googleSend({ 'eventCategory': 'Login', 'eventAction': 'Logged In', 'pageEventArea': 'Main' }, true); }); }, 'click .forgot-password': function() { googleSend({ 'eventCategory': 'Login', 'eventAction': 'Clicked Forgot Password', 'pageEventArea': 'Main' }); googleSend({ 'eventCategory': 'UP Recovery', 'eventAction': 'Started Password Recovery', 'pageEventArea': 'Main' }); } });