Browse Source

sessionStorage implanted

- Active wallet account’s data stores in sessionStorage temporarily.
- On Logout, sessionStorage data is destroyed.
- On Lock, sessionStorage data is updated, with latest status.
- On Lock some fields are hidden on login screen, as unneeded with
locked status.
- Login to Another Wallet button and code added if screen is locked
- different sections and is code added to change and display relevant
section on sidebar menu click.
master
Satinder Grewal 8 years ago
parent
commit
d83a564724
  1. 187
      assets/pages/scripts/login.js
  2. 10
      index.html

187
assets/pages/scripts/login.js

@ -22,18 +22,12 @@ toastr.options = {
errorClass: 'help-block', // default input error message class
focusInvalid: false, // do not focus the last invalid input
rules: {
username: {
required: true
},
password: {
required: true
}
},
messages: {
username: {
required: "Username is required."
},
password: {
required: "Password is required."
}
@ -59,7 +53,7 @@ toastr.options = {
submitHandler: function(form) {
var IguanaLoginData = {
'handle': $('#username').val(),
'handle': $('#wallet-handle').val(),
'password': $('#password').val(),
'timeout': '2592000'
}
@ -73,7 +67,8 @@ toastr.options = {
dataType: 'text',
success: function(data, textStatus, jqXHR) {
var LoginOutput = JSON.parse(data);
sessionStorage.IguanaActiveAccount = LoginOutput;
var LoginDataToStore = JSON.stringify(data);
sessionStorage.setItem('IguanaActiveAccount', LoginDataToStore);
//console.log(sessionStorage);
console.log('== Data OutPut ==');
console.log(LoginOutput);
@ -81,10 +76,10 @@ toastr.options = {
if (LoginOutput.result === 'success') {
console.log('Success');
//swal("Success", "Login Successfully.", "success");
toastr.success("Login SUccessfull", "Account Notification")
toastr.success("Login Successfull", "Account Notification")
NProgress.done();
$('#username').val('')
$('#wallet-handle').val('')
$('#password').val('')
$('#login-section').hide();
$('body').removeClass( " login" ).addClass( "page-sidebar-closed-hide-logo page-container-bg-solid page-header-fixed" );
@ -274,6 +269,14 @@ toastr.options = {
$('#login-section').show();
$('body').removeClass( "page-sidebar-closed-hide-logo page-container-bg-solid page-header-fixed" ).addClass( " login" );
$('#wallet-section').hide();
//Make sure these fields are unhidden.
$('#login-welcome').text('Welcome.');
$('#wallet-handle').show();
$('.create-account').show();
$('#register-btn').show();
$('#logint-another-wallet').hide();
}
else {
// If something goes wrong, alert the error message that our service returned
@ -298,15 +301,177 @@ toastr.options = {
}
});
});
}
};
var handleLock = function() {
//Begin Lock Active Wallet
$('#lock-screen').click(function() {
$.ajax({
type: 'GET',
url: 'http://127.0.0.1:7778/api/bitcoinrpc/walletlock',
dataType: 'text',
success: function(data, textStatus, jqXHR) {
var LockOutput = JSON.parse(data);
//Begin Check Active Wallet's status
$.ajax({
type: 'GET',
url: 'http://127.0.0.1:7778/api/SuperNET/activehandle',
dataType: 'text',
success: function(data, textStatus, jqXHR) {
var ActiveHandleOutput = JSON.parse(data);
var ActiveHandleDataToStore = JSON.stringify(data);
sessionStorage.setItem('IguanaActiveAccount', ActiveHandleDataToStore);
console.log('== Data OutPut - Active Handle ==');
console.log(ActiveHandleOutput);
if (ActiveHandleOutput.status === 'locked') {
console.log('Success');
//swal("Success", "Wallet Locked Successfully.", "success");
toastr.success("Wallet Locked Successfully", "Account Notification")
NProgress.done();
$('#login-section').show();
$('body').removeClass( "page-sidebar-closed-hide-logo page-container-bg-solid page-header-fixed" ).addClass( " login" );
$('#wallet-section').hide();
//Hide some login fields not needing at lock screen
console.log('Wallet is Locked.');
$('#login-welcome').text('Wallet Locked.');
$('#wallet-handle').hide();
$('#register-btn').hide();
$('#logint-another-wallet').show();
}
else {
// If something goes wrong, alert the error message that our service returned
//swal("Oops...", "Something went wrong!", "error");
toastr.warning("Opps... Something went wrong!", "Account Notification")
console.log(data.statusText);
console.log(textStatus);
console.log(jqXHR);
NProgress.done();
}
},
error: function(xhr, textStatus, error) {
console.log('failure');
console.log(xhr.statusText);
console.log(textStatus);
console.log(error);
//swal("Oops...", "Something went wrong!", "error");
toastr.warning("Opps... Something went wrong!", "Account Notification")
NProgress.done();
}
});
//End Check Active Wallet's status
//console.log('== Data OutPut - Wallet Lock ==');
//console.log(LockOutput);
},
error: function(xhr, textStatus, error) {
console.log('failure');
console.log(xhr.statusText);
console.log(textStatus);
console.log(error);
//swal("Oops...", "Something went wrong!", "error");
toastr.warning("Opps... Something went wrong!", "Account Notification")
NProgress.done();
}
});
});
//End Lock Active Wallet
};
var handleCheckLogin = function() {
if ( sessionStorage.getItem('IguanaActiveAccount') === null ) {
console.log('There\'s no active wallet logged in. Please Login.');
$('#logint-another-wallet').hide();
} else {
var CheckLoginData = JSON.parse(sessionStorage.getItem('IguanaActiveAccount'));
if ( JSON.parse(CheckLoginData).status === 'unlocked' ) {
console.log(JSON.parse(CheckLoginData).status);
$('#wallet-handle').val('')
$('#password').val('')
$('#login-section').hide();
$('body').removeClass( " login" ).addClass( "page-sidebar-closed-hide-logo page-container-bg-solid page-header-fixed" );
$('#wallet-section').fadeIn();
} else if ( JSON.parse(CheckLoginData).status === 'locked' ) {
console.log('Wallet is Locked.');
$('#login-welcome').text('Wallet Locked.');
$('#wallet-handle').hide();
$('#register-btn').hide();
}
}
};
var handleLoginAnotherWallet = function() {
$('#logint-another-wallet').click(function() {
$('#logint-another-wallet').show();
$.ajax({
type: 'GET',
url: 'http://127.0.0.1:7778/api/SuperNET/logout',
dataType: 'text',
success: function(data, textStatus, jqXHR) {
var LogoutOutput = JSON.parse(data);
sessionStorage.clear();
//console.log('== Data OutPut ==');
//console.log(LogoutOutput);
if (LogoutOutput.result === 'logged out') {
console.log('Success');
//swal("Success", "Logout Successfully.", "success");
toastr.success("Logout Successfull", "Account Notification")
NProgress.done();
$('#login-section').show();
$('body').removeClass( "page-sidebar-closed-hide-logo page-container-bg-solid page-header-fixed" ).addClass( " login" );
$('#wallet-section').hide();
//Make sure these fields are unhidden.
$('#login-welcome').text('Welcome.');
$('#wallet-handle').show();
$('.create-account').show();
$('#register-btn').show();
$('#logint-another-wallet').hide();
}
else {
// If something goes wrong, alert the error message that our service returned
//swal("Oops...", "Something went wrong!", "error");
toastr.warning("Opps... Something went wrong!", "Account Notification")
console.log(data.statusText);
console.log(textStatus);
console.log(jqXHR);
NProgress.done();
}
},
error: function(xhr, textStatus, error) {
console.log('failure');
console.log(xhr.statusText);
console.log(textStatus);
console.log(error);
//swal("Oops...", "Something went wrong!", "error");
toastr.warning("Opps... Something went wrong!", "Account Notification")
NProgress.done();
}
});
});
};
return {
//main function to initiate the module
init: function() {
handleLogin();
handleLock();
handleRegister();
handleLogout();
handleCheckLogin();
handleLoginAnotherWallet();
}

10
index.html

@ -65,8 +65,8 @@
<!-- BEGIN LOGIN FORM -->
<form class="login-form" action="#" method="post" onsubmit="return false;">
<div class="form-title">
<span class="form-title">Welcome.</span>
<span class="form-subtitle">Please login.</span>
<span class="form-title" id="login-welcome">Welcome.</span>
<span class="form-subtitle" id="login-welcome-sub">Please login.</span>
</div>
<div class="alert alert-danger display-hide">
<button class="close" data-close="alert"></button>
@ -74,8 +74,8 @@
</div>
<div class="form-group">
<!--ie8, ie9 does not support html5 placeholder, so we just show field title for that-->
<label class="control-label visible-ie8 visible-ie9">Username</label>
<input class="form-control form-control-solid placeholder-no-fix" type="text" autocomplete="off" placeholder="Username" name="username" id="username" /> </div>
<label class="control-label visible-ie8 visible-ie9">Wallet Handle</label>
<input class="form-control form-control-solid placeholder-no-fix" type="text" autocomplete="off" placeholder="Wallet Handle" name="wallet-handle" id="wallet-handle" /> </div>
<div class="form-group">
<label class="control-label visible-ie8 visible-ie9">Password</label>
<input class="form-control form-control-solid placeholder-no-fix" type="password" autocomplete="off" placeholder="Password" name="password" id="password" /> </div>
@ -85,6 +85,7 @@
<div class="create-account">
<p>
<a href="javascript:;" class="btn-primary btn" id="register-btn">Create new wallet</a>
<a href="javascript:;" class="btn-primary btn" id="logint-another-wallet">Login to another wallet</a>
</p>
</div>
</form>
@ -732,7 +733,6 @@
<!-- END PAGE LEVEL SCRIPTS -->
<!-- BEGIN THEME LAYOUT SCRIPTS -->
<script src="assets/layouts/scripts/layout.min.js" type="text/javascript"></script>
<script src="assets/layouts/scripts/demo.min.js" type="text/javascript"></script>
<script src="assets/layouts/scripts/quick-sidebar.min.js" type="text/javascript"></script>
<script src="assets/layouts/scripts/sidebar.js" type="text/javascript"></script>
<!-- END THEME LAYOUT SCRIPTS -->

Loading…
Cancel
Save