Toast Implementation (WIP) #33
This commit is contained in:
@@ -18,7 +18,7 @@
|
|||||||
<link rel="stylesheet" href="./assets/styles/buttons.css">
|
<link rel="stylesheet" href="./assets/styles/buttons.css">
|
||||||
<link rel="stylesheet" href="./assets/styles/style.css">
|
<link rel="stylesheet" href="./assets/styles/style.css">
|
||||||
<link rel="stylesheet" href="./assets/styles/forms.css">
|
<link rel="stylesheet" href="./assets/styles/forms.css">
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/semantic-ui@2.4.2/dist/components/button.css">
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/fomantic-ui@2.7.8/dist/components/transition.min.css">
|
||||||
<!-- Insert this line above script imports -->
|
<!-- Insert this line above script imports -->
|
||||||
<script>
|
<script>
|
||||||
if (typeof module === 'object') {
|
if (typeof module === 'object') {
|
||||||
@@ -50,9 +50,7 @@
|
|||||||
<script src="./assets/scripts/jquery.qrcode.min.js"></script>
|
<script src="./assets/scripts/jquery.qrcode.min.js"></script>
|
||||||
<script src="./assets/scripts/all.min.js"></script>
|
<script src="./assets/scripts/all.min.js"></script>
|
||||||
<script src="./assets/scripts/Chart.js"></script>
|
<script src="./assets/scripts/Chart.js"></script>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/semantic-ui@2.4.2/dist/semantic.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/fomantic-ui@2.7.8/dist/semantic.min.js"></script>
|
||||||
<!-- ethoFS Js -->
|
|
||||||
<!--<script src="assets/dashboard/plugins/bootstrap-select/js/bootstrap-select.js"></script>-->
|
|
||||||
<script src="assets/dashboard/plugins/jquery-slimscroll/jquery.slimscroll.js"></script>
|
<script src="assets/dashboard/plugins/jquery-slimscroll/jquery.slimscroll.js"></script>
|
||||||
<script src="assets/dashboard/plugins/node-waves/waves.js"></script>
|
<script src="assets/dashboard/plugins/node-waves/waves.js"></script>
|
||||||
<script src="assets/dashboard/plugins/jquery-countto/jquery.countTo.js"></script>
|
<script src="assets/dashboard/plugins/jquery-countto/jquery.countTo.js"></script>
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
// In renderer process (web page).
|
// In renderer process (web page).
|
||||||
const {ipcRenderer} = require("electron");
|
const {
|
||||||
|
ipcRenderer
|
||||||
|
} = require("electron");
|
||||||
var web3;
|
var web3;
|
||||||
|
|
||||||
// Set the provider you want from Web3.providers
|
// Set the provider you want from Web3.providers
|
||||||
SyncProgress = new ProgressBar.Line("#syncProgress", {
|
SyncProgress = new ProgressBar.Line("#syncProgress", {
|
||||||
strokeWidth: 6,
|
strokeWidth: 6,
|
||||||
@@ -34,8 +37,8 @@ SyncProgress = new ProgressBar.Line("#syncProgress", {
|
|||||||
SyncProgress.setText("Waiting for blockchain, please wait...");
|
SyncProgress.setText("Waiting for blockchain, please wait...");
|
||||||
isFullySynced = false;
|
isFullySynced = false;
|
||||||
|
|
||||||
var peerCountInterval = setInterval(function () {
|
var peerCountInterval = setInterval(function() {
|
||||||
web3Local.eth.net.getPeerCount(function (error, count) {
|
web3Local.eth.net.getPeerCount(function(error, count) {
|
||||||
$("#peerCount").html(vsprintf("Peer Count: %d", [count]));
|
$("#peerCount").html(vsprintf("Peer Count: %d", [count]));
|
||||||
});
|
});
|
||||||
}, 5000);
|
}, 5000);
|
||||||
@@ -44,20 +47,26 @@ function StartSyncProcess() {
|
|||||||
var alreadyCatchedUp = false;
|
var alreadyCatchedUp = false;
|
||||||
var nodeSyncInterval = null;
|
var nodeSyncInterval = null;
|
||||||
|
|
||||||
var subscription = web3Local.eth.subscribe("syncing", function (error, sync) {
|
var subscription = web3Local.eth.subscribe("syncing", function(error, sync) {
|
||||||
if (!error) {
|
if (!error) {
|
||||||
if (!sync) {
|
if (!sync) {
|
||||||
if (nodeSyncInterval) {
|
if (nodeSyncInterval) {
|
||||||
clearInterval(nodeSyncInterval);
|
clearInterval(nodeSyncInterval);
|
||||||
}
|
}
|
||||||
|
|
||||||
nodeSyncInterval = setInterval(function () {
|
nodeSyncInterval = setInterval(function() {
|
||||||
web3Local.eth.getBlock("latest", function (error, localBlock) {
|
web3Local.eth.getBlock("latest", function(error, localBlock) {
|
||||||
if (!error) {
|
if (!error) {
|
||||||
if (localBlock.number > 0) {
|
if (localBlock.number > 0) {
|
||||||
if (!EthoTransactions.getIsSyncing()) {
|
if (!EthoTransactions.getIsSyncing()) {
|
||||||
SyncProgress.animate(1);
|
SyncProgress.animate(1);
|
||||||
SyncProgress.setText(vsprintf("%d/%d (100%%)", [localBlock.number, localBlock.number]));
|
SyncProgress.setText(vsprintf("%d/%d (100%%)", [localBlock.number, localBlock.number]));
|
||||||
|
(function($, _M) {
|
||||||
|
M.toast({
|
||||||
|
html: 'Your Node is still syncing please do not attempt to use the wallet.',
|
||||||
|
displayLength: 10000
|
||||||
|
});
|
||||||
|
}(jQuery, M));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (alreadyCatchedUp == false) {
|
if (alreadyCatchedUp == false) {
|
||||||
@@ -73,6 +82,12 @@ function StartSyncProcess() {
|
|||||||
|
|
||||||
// signal that the sync is complete
|
// signal that the sync is complete
|
||||||
$(document).trigger("onSyncComplete");
|
$(document).trigger("onSyncComplete");
|
||||||
|
(function($, _M) {
|
||||||
|
M.toast({
|
||||||
|
html: 'Your Node is fully synced and operational.',
|
||||||
|
displayLength: 40000
|
||||||
|
});
|
||||||
|
}(jQuery, M));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -84,7 +99,7 @@ function StartSyncProcess() {
|
|||||||
} else {
|
} else {
|
||||||
EthoMainGUI.showGeneralError(error);
|
EthoMainGUI.showGeneralError(error);
|
||||||
}
|
}
|
||||||
}).on("data", function (sync) {
|
}).on("data", function(sync) {
|
||||||
if (sync && sync.HighestBlock > 0) {
|
if (sync && sync.HighestBlock > 0) {
|
||||||
SyncProgress.animate(sync.CurrentBlock / sync.HighestBlock);
|
SyncProgress.animate(sync.CurrentBlock / sync.HighestBlock);
|
||||||
SyncProgress.setText(vsprintf("%d/%d (%d%%)", [
|
SyncProgress.setText(vsprintf("%d/%d (%d%%)", [
|
||||||
@@ -93,10 +108,11 @@ function StartSyncProcess() {
|
|||||||
Math.floor(sync.CurrentBlock / sync.HighestBlock * 100)
|
Math.floor(sync.CurrentBlock / sync.HighestBlock * 100)
|
||||||
]));
|
]));
|
||||||
}
|
}
|
||||||
}).on("changed", function (isSyncing) {
|
}).on("changed", function(isSyncing) {
|
||||||
if (isSyncing) {
|
if (isSyncing) {
|
||||||
nodeSyncInterval = setInterval(function () {
|
|
||||||
web3Local.eth.isSyncing(function (error, sync) {
|
nodeSyncInterval = setInterval(function() {
|
||||||
|
web3Local.eth.isSyncing(function(error, sync) {
|
||||||
if (!error && sync) {
|
if (!error && sync) {
|
||||||
SyncProgress.animate(sync.currentBlock / sync.highestBlock);
|
SyncProgress.animate(sync.currentBlock / sync.highestBlock);
|
||||||
SyncProgress.setText(vsprintf("%d/%d (%d%%)", [
|
SyncProgress.setText(vsprintf("%d/%d (%d%%)", [
|
||||||
@@ -117,11 +133,11 @@ function StartSyncProcess() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
var InitWeb3 = setInterval(function () {
|
var InitWeb3 = setInterval(function() {
|
||||||
try {
|
try {
|
||||||
web3Local = new Web3(new Web3.providers.WebsocketProvider("ws://localhost:8546"));
|
web3Local = new Web3(new Web3.providers.WebsocketProvider("ws://localhost:8546"));
|
||||||
|
|
||||||
web3Local.eth.net.isListening(function (error, success) {
|
web3Local.eth.net.isListening(function(error, success) {
|
||||||
if (!error) {
|
if (!error) {
|
||||||
$(document).trigger("onGethReady");
|
$(document).trigger("onGethReady");
|
||||||
clearInterval(InitWeb3);
|
clearInterval(InitWeb3);
|
||||||
|
|||||||
Reference in New Issue
Block a user