Login, Logout enabled

This commit is contained in:
Satinder Grewal 2017-08-21 03:50:58 +12:00
parent 39a2260941
commit 718f5ba127
6 changed files with 168 additions and 5 deletions

View File

@ -15,4 +15,40 @@
.dropdown-menu { .dropdown-menu {
z-index: 2000; z-index: 2000;
}
/* Sign-in Form CSS */
.form-signin {
max-width: 630px;
padding: 15px;
margin: 0 auto;
}
.form-signin .form-signin-heading,
.form-signin .checkbox {
margin-bottom: 10px;
}
.form-signin .checkbox {
font-weight: normal;
}
.form-signin .form-control {
position: relative;
height: auto;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 10px;
font-size: 16px;
}
.form-signin .form-control:focus {
z-index: 2;
}
.form-signin input[type="email"] {
margin-bottom: -1px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.form-signin input[type="password"] {
margin-bottom: 10px;
/*border-top-left-radius: 0;
border-top-right-radius: 0;*/
} }

48
gui/css/spinner.css Normal file
View File

@ -0,0 +1,48 @@
.spinner {
margin: 100px auto;
width: 100px;
height: 100px;
position: relative;
text-align: center;
-webkit-animation: sk-rotate 2.0s infinite linear;
animation: sk-rotate 2.0s infinite linear;
}
.dot1, .dot2 {
width: 60%;
height: 60%;
display: inline-block;
position: absolute;
top: 0;
background-color: #333;
border-radius: 100%;
-webkit-animation: sk-bounce 2.0s infinite ease-in-out;
animation: sk-bounce 2.0s infinite ease-in-out;
}
.dot2 {
top: auto;
bottom: 0;
-webkit-animation-delay: -1.0s;
animation-delay: -1.0s;
}
@-webkit-keyframes sk-rotate { 100% { -webkit-transform: rotate(360deg) }}
@keyframes sk-rotate { 100% { transform: rotate(360deg); -webkit-transform: rotate(360deg) }}
@-webkit-keyframes sk-bounce {
0%, 100% { -webkit-transform: scale(0.0) }
50% { -webkit-transform: scale(1.0) }
}
@keyframes sk-bounce {
0%, 100% {
transform: scale(0.0);
-webkit-transform: scale(0.0);
} 50% {
transform: scale(1.0);
-webkit-transform: scale(1.0);
}
}

View File

@ -15,6 +15,7 @@
<link href="css/toastr.min.css" type="text/css" rel="stylesheet"> <link href="css/toastr.min.css" type="text/css" rel="stylesheet">
<link href="js/amcharts/plugins/export/export.css" type="text/css" rel="stylesheet" media="all" /> <link href="js/amcharts/plugins/export/export.css" type="text/css" rel="stylesheet" media="all" />
<link href="css/custom.css" type="text/css" rel="stylesheet"> <link href="css/custom.css" type="text/css" rel="stylesheet">
<link href="css/spinner.css" type="text/css" rel="stylesheet">
<style type="text/css"> <style type="text/css">
.table-fixed thead { .table-fixed thead {
@ -56,6 +57,31 @@
</head> </head>
<body> <body>
<!-- LOGIN BODY -->
<div class="loginbody">
<div class="container">
<form class="form-signin">
<h2 class="form-signin-heading" style="text-align: center;">Welcome to BarterDEX</h2>
<h4 style="text-align: center;">Please Login</h4>
<label for="loginPassphrase" class="sr-only">Passphrase</label>
<input type="password" id="loginPassphrase" class="form-control loginPassphrase" placeholder="Passphrase" required>
<button class="btn btn-lg btn-primary btn-block login-btn" type="submit">Login</button>
</form>
</div>
</div>
<!-- LOGIN BODY END -->
<!-- LOADING BODY -->
<div class="loadingbody" style="display: none;">
<div class="spinner">
<div class="dot1"></div>
<div class="dot2"></div>
</div>
</div>
<!-- LOADING BODY END -->
<!-- MAIN BODY -->
<div class="mainbody" style="display: none;">
<!-- Section: Navigation Menu --> <!-- Section: Navigation Menu -->
<nav class="navbar navbar-default navbar-fixed-top navmenu_top"> <nav class="navbar navbar-default navbar-fixed-top navmenu_top">
<div class="container-fluid"> <div class="container-fluid">
@ -79,8 +105,8 @@
<li><a href="javascript:void(0)" class="dexnav_myprices">My Prices</a></li> <li><a href="javascript:void(0)" class="dexnav_myprices">My Prices</a></li>
</ul> </ul>
<ul class="nav navbar-nav navbar-right"> <ul class="nav navbar-nav navbar-right">
<!--<li><a href="javascript:void(0)">Link</a></li> <a href="javascript:void(0)" class="btn btn-danger dexlogout-btn" style="margin: 8px 8px 0 0;">Logout</a>
<li><span style="padding: 15px; position: relative; display: block;">BarterDEX - Ugly GUI</span></li>--> <!--<li><span style="padding: 15px; position: relative; display: block;">BarterDEX - Ugly GUI</span></li>-->
</ul> </ul>
</div><!-- /.navbar-collapse --> </div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid --> </div><!-- /.container-fluid -->
@ -523,6 +549,8 @@
</div> </div>
</div> </div>
<!-- Section: My Prices END --> <!-- Section: My Prices END -->
</div>
<!-- MAIN BODY END -->
<script> <script>
var ipc = require('electron').ipcRenderer; var ipc = require('electron').ipcRenderer;

View File

@ -2,12 +2,17 @@ var CheckOrderbook_Interval = null;
var CheckPortfolio_Interval = null; var CheckPortfolio_Interval = null;
$(document).ready(function() { $(document).ready(function() {
var mmstatus = ShepherdIPCTest({"command":"mmstatus"}); var mmstatus = ShepherdIPC({"command":"mmstatus"});
if (mmstatus !== 'closed') { if (mmstatus !== 'closed') {
$('.mainbody').show();
$('.loginbody').hide();
var refresh_data = {"coin":" ", "status": "enable"}; var refresh_data = {"coin":" ", "status": "enable"};
enable_disable_coin(refresh_data); enable_disable_coin(refresh_data);
get_myprices(); get_myprices();
CheckOrderbook_Interval = setInterval(CheckOrderBookFn,3000); CheckOrderbook_Interval = setInterval(CheckOrderBookFn,3000);
} else {
$('.mainbody').hide();
$('.loginbody').show();
} }
$('.set_goal_label_portfolio').html($('.sell_coin_p').selectpicker('val')); $('.set_goal_label_portfolio').html($('.sell_coin_p').selectpicker('val'));
}); });

View File

@ -1,8 +1,9 @@
var CheckMM_Interval = null;
// In renderer process (web page). // In renderer process (web page).
const {ipcRenderer} = require('electron') const {ipcRenderer} = require('electron')
ShepherdIPCTest = function(data) { ShepherdIPC = function(data) {
/*ipcRenderer.on('shepherd-reply', (event, arg) => { /*ipcRenderer.on('shepherd-reply', (event, arg) => {
console.log(arg) // prints "pong" console.log(arg) // prints "pong"
}) })
@ -13,4 +14,49 @@ ShepherdIPCTest = function(data) {
let shepherdreply = ipcRenderer.sendSync('shepherd-command', data); let shepherdreply = ipcRenderer.sendSync('shepherd-command', data);
//console.log(shepherdreply); //console.log(shepherdreply);
return shepherdreply; return shepherdreply;
}
$('.dexlogout-btn').click(function(e) {
e.preventDefault();
var shepherdresult = ShepherdIPC({"command":"logout"});
$('.mainbody').fadeOut();
$('.loginbody').fadeIn();
CheckOrderBookFn(false);
CheckPortfolioFn(false);
});
$('.login-btn').click(function(e) {
e.preventDefault();
var passphrase = $('.loginPassphrase').val();
var shepherdresult = ShepherdIPC({"command":"login","passphrase":passphrase});
$('.loginPassphrase').val('');
$('.mainbody').hide();
$('.loginbody').hide();
CheckMM_Interval = setInterval(CheckMMStatus,1000);
$('.loadingbody').fadeIn();
});
CheckMMStatus = function(sig) {
if (sig == false) {
clearInterval(CheckMM_Interval);
} else {
console.log('Checking MarketMaker Status');
}
var mmstatus = ShepherdIPC({"command":"mmstatus"});
if (mmstatus !== 'closed') {
$('.mainbody').fadeIn();
$('.loginbody').fadeOut();
$('.loadingbody').hide();
var refresh_data = {"coin":" ", "status": "enable"};
enable_disable_coin(refresh_data);
get_myprices();
CheckOrderbook_Interval = setInterval(CheckOrderBookFn,3000);
clearInterval(CheckMM_Interval);
} else {
$('.mainbody').fadeOut();
$('.loginbody').fadeout();
$('.loadingbody').fadeIn();
}
} }

View File

@ -154,7 +154,7 @@ StartMarketMaker = function(data) {
} }
}) })
} else { } else {
console.log(`port ${_port} marketmaker is already in use`); console.log(`port 7779 marketmaker is already in use`);
} }
}); });
} catch(e) { } catch(e) {