Sass support + layout/css cleanup

-Add sass support (Replace style.css with style.scss; add new sass_theme_reader.sh script; add sass:compile to package.json; add new dependencies for sass; compiled style.css is now minified)
-Claim address improvements (Better instructions; better error msgs)
-Fix for disappearing Network > Connections table
-Tons of layout and css fixes and tweaks (Improved mobile support)
-Remove old Exor theme
This commit is contained in:
joeuhren
2020-12-12 20:21:49 -07:00
parent 50aeb9d321
commit 03bff8c72f
24 changed files with 642 additions and 501 deletions
+3
View File
@@ -7,6 +7,9 @@ This project is a fork of [Ciquidus Explorer](https://github.com/suprnurd/ciquid
### Features
- Mobile-friendly
- Bootstrap v4.5
- Sass support
- Custom rpc/api command support which increases blockchain compatibility. Supported cmds:
- **getnetworkhashps:** Returns the estimated network hashes per second
- **getmininginfo:** Returns a json object containing mining-related information
+7 -3
View File
@@ -3,9 +3,10 @@
"version": "1.0.0",
"private": true,
"scripts": {
"start": "node --stack-size=10000 ./bin/cluster",
"start": "npm run sass:compile && node --stack-size=10000 ./bin/cluster",
"stop": "kill -2 $(cat tmp/cluster.pid)",
"test": "node ./node_modules/jasmine/bin/jasmine.js"
"test": "node ./node_modules/jasmine/bin/jasmine.js",
"sass:compile": "sh ./scripts/sass_theme_reader.sh && ./node_modules/.bin/sass --no-source-map --style=compressed ./public/stylesheets/style.scss ./public/stylesheets/style.min.css"
},
"dependencies": {
"express": ">=4.17.1",
@@ -22,7 +23,10 @@
"jstransformer-markdown-it": "^2.1.0",
"mongodb": "3.6.3",
"mongoose": "5.11.4",
"qr-image": "~3.2.0"
"qr-image": "~3.2.0",
"sass": "1.30.0",
"json": "10.0.0",
"strip-json-comments-cli": "1.0.1"
},
"devDependencies": {
"jasmine": "~3.6.3"
-259
View File
@@ -1,259 +0,0 @@
body {
font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
}
.navbar {
padding: 0.2rem 0.4rem;
}
.footer p {
margin-top: 0.1rem;
margin-bottom: 0.1rem;
}
.footer .nav-link {
padding: 0.1rem 0.1rem;
}
.footer label {
margin-bottom: 0.1rem;
}
.footer .poweredby {
margin-right: 0.2rem;
font-size: 80%;
}
.footer .social-link {
margin-right: 0.2rem;
font-size: 100%;
}
.footer .social-link img{
width: 40px;
margin: 5px 5px;
}
.footer-logo {
height: 40px;
position: absolute;
bottom: 0px;
}
#index-search {
width: 80%;
}
.nav-search input {
width: 400px !important;
margin-right: 5px;
}
.view_tx {
text-align: center;
}
.block-last {
margin: 0;
margin-right: 10px;
}
.block-next {
margin: 0;
margin-left: 10px;
}
#chart3 .jqplot-xaxis {
display: none;
}
.data {
display: block;
overflow: hidden;
width: 100%;
}
.txid {
width: 100%;
display:block;
overflow: hidden;
}
.panel-address-summary {
margin-bottom: 5px;
}
p {
margin-top: 0.4rem;
margin-bottom: 0.4rem;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
margin-bottom: 0.2rem;
margin-top: 0.5rem;
}
/* datatable tweaks */
table {
width: 100% !important;
}
.dataTables_info, .dataTables_length {
padding-left: 10px;
}
.dataTables_info {
display: hidden !important;
}
.dataTables_length {
padding-top: 10px;
}
.dataTables_paginate {
padding-right: 5px;
}
.pagination > .paginate_button > a, .pagination > .paginate_button.disabled > a {
border: 1px solid black;
}
ul.pagination {
justify-content: flex-start;
display: inline-block;
}
ul.pagination > li {
display: inline;
}
ul.pagination > li > a {
float: left;
}
@media(max-width:576px){
.dataTables_paginate {
font-size: 80%;
}
#marketChart {
display: none;
}
}
.tab-pane {
margin-top: 5px;
}
table a:not(.btn),.table a:not(.btn){
text-decoration:none
}
tr {
width: 100%;
}
.footer-padding {
height: 50px;
width: 100%;
}
.summary-table {
margin: 0px !important;
}
#loading-icon {
width: 30px;
margin: 10px 10px;
}
.menu-text {
margin-left:5px;
}
.connections {
position: absolute;
bottom: 15px;
right: 15px;
}
#lblConnections {
margin-left: 10px;
}
#market_menu {
margin-bottom: 5px;
}
#hashratepanel span,
#difficultypanel span,
#supplypanel span,
#masternodepanel span,
#pricepanel span{
margin: 0 5px 0 5px;
top: 0;
}
.label a:link {
color: #ffffff;
}
.label a:visited {
color: #ffffff;
}
.label a:hover {
color: #ffffff;
}
.label a:active {
color: #ffffff;
}
#body-container {
padding: 0 40px;
}
@media(max-width:767px){
#body-container {
padding-left:0;
padding-right:0;
}
}
@media(max-width:1096px){
.nav-search input {
width: 300px !important;
}
}
@media(max-width:865px){
.nav-search input {
width: 150px !important;
}
}
.table>tbody>tr>td.addr-summary {
line-height: 7.7;
font-size: 1.3em;
font-weight: 800;
text-align: center;
}
.qrcode {
/*position: absolute;
top: 65px;
right: 15px;*/
}
.logo-main {
padding: 0 15px;
}
.decimal {
font-size: 0.7em;
}
.cardSpacer {
margin-bottom:10px;
}
.breakWord {
word-break: break-word;
}
+398
View File
@@ -0,0 +1,398 @@
@use 'theme-selector' as theme-selector;
@use '../themes/Cerulean/variables' as Cerulean;
@use '../themes/Cosmo/variables' as Cosmo;
@use '../themes/Cyborg/variables' as Cyborg;
@use '../themes/Darkly/variables' as Darkly;
@use '../themes/Flatly/variables' as Flatly;
@use '../themes/Journal/variables' as Journal;
@use '../themes/Litera/variables' as Litera;
@use '../themes/Lumen/variables' as Lumen;
@use '../themes/Lux/variables' as Lux;
@use '../themes/Materia/variables' as Materia;
@use '../themes/Minty/variables' as Minty;
@use '../themes/Pulse/variables' as Pulse;
@use '../themes/Sandstone/variables' as Sandstone;
@use '../themes/Simplex/variables' as Simplex;
@use '../themes/Sketchy/variables' as Sketchy;
@use '../themes/Slate/variables' as Slate;
@use '../themes/Solar/variables' as Solar;
@use '../themes/Spacelab/variables' as Spacelab;
@use '../themes/Superhero/variables' as Superhero;
@use '../themes/United/variables' as United;
@use '../themes/Yeti/variables' as Yeti;
@mixin table-border-color() {
@if theme-selector.$theme-name == "Cerulean" {
border-color: Cerulean.$gray-300;
} @else if theme-selector.$theme-name == "Cosmo" {
border-color: Cosmo.$gray-300;
} @else if theme-selector.$theme-name == "Cyborg" {
border-color: Cyborg.$table-border-color;
} @else if theme-selector.$theme-name == "Darkly" {
border-color: Darkly.$table-border-color;
} @else if theme-selector.$theme-name == "Flatly" {
border-color: Flatly.$gray-300;
} @else if theme-selector.$theme-name == "Journal" {
border-color: Journal.$gray-300;
} @else if theme-selector.$theme-name == "Litera" {
border-color: Litera.$table-border-color;
} @else if theme-selector.$theme-name == "Lumen" {
border-color: Lumen.$gray-300;
} @else if theme-selector.$theme-name == "Lux" {
border-color: Lux.$table-border-color;
} @else if theme-selector.$theme-name == "Materia" {
border-color: Materia.$gray-300;
} @else if theme-selector.$theme-name == "Minty" {
border-color: Minty.$table-border-color;
} @else if theme-selector.$theme-name == "Pulse" {
border-color: Pulse.$table-border-color;
} @else if theme-selector.$theme-name == "Sandstone" {
border-color: Sandstone.$gray-300;
} @else if theme-selector.$theme-name == "Simplex" {
border-color: Simplex.$gray-300;
} @else if theme-selector.$theme-name == "Sketchy" {
border-color: Sketchy.$table-border-color;
} @else if theme-selector.$theme-name == "Slate" {
border-color: Slate.$table-border-color;
} @else if theme-selector.$theme-name == "Solar" {
border-color: Solar.$table-border-color;
} @else if theme-selector.$theme-name == "Spacelab" {
border-color: Spacelab.$gray-300;
} @else if theme-selector.$theme-name == "Superhero" {
border-color: Superhero.$table-border-color;
} @else if theme-selector.$theme-name == "United" {
border-color: United.$gray-300;
} @else if theme-selector.$theme-name == "Yeti" {
border-color: Yeti.$gray-300;
} @else {
border-color: #000000;
}
}
body {
font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
}
p {
margin-top: 0.4rem;
margin-bottom: 0.4rem;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
margin-bottom: 0.2rem;
margin-top: 0.5rem;
}
.footer {
p {
margin-top: 0.1rem;
margin-bottom: 0.1rem;
}
.nav-link {
padding: 0.1rem 0.1rem;
}
label {
margin-bottom: 0.1rem;
}
.poweredby {
margin-right: 0.2rem;
font-size: 80%;
}
.social-link {
margin-right: 0.2rem;
font-size: 100%;
img {
width: 40px;
margin: 5px 5px;
}
}
}
.footer-padding {
height: 50px;
width: 100%;
}
.footer-logo {
height: 40px;
position: absolute;
bottom: 0px;
}
.navbar {
padding: 0.2rem 0.4rem;
}
.nav-tabs {
border-width: 1px;
> .nav-item > .nav-link {
border-width: 1px;
}
}
#index-search {
width: 80%;
}
.block-last {
margin: 0;
margin-right: 10px;
}
.block-next {
margin: 0;
margin-left: 10px;
}
table.table > thead > tr > th {
border-top: 0;
border-bottom: 0;
}
table {
width: 100% !important;
border-top: 1px solid #000000;
border-bottom: 1px solid #000000;
@include table-border-color;
a:not(.btn), &.table a:not(.btn) {
text-decoration: none;
}
&.table-paging {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
&.order-table {
margin-top: 0 !important;
border-top: 0;
border-right: 0;
> thead > tr {
> th {
border-bottom: 1px solid #000000;
@include table-border-color;
}
> th:last-child {
border-left: 1px solid #000000;
@include table-border-color;
}
> th:nth-child(2) {
border-right: 0;
}
}
}
&.history-table {
border-left: 0;
border-right: 0;
}
&.table-bordered:not(.table-paging) th, &.table-bordered:not(.table-paging) td {
border-left-width: 0;
}
&.table-bordered:not(.table-paging):not(.right-border-0) th:last-child, &.table-bordered:not(.table-paging):not(.right-border-0) td:last-child {
border-right-width: 0;
}
&.table-bordered.right-border-0 th:last-child, &.table-bordered.right-border-0 td:last-child {
border-right-width: 1px;
}
}
.dataTables_info, .dataTables_length {
padding-left: 10px;
}
.dataTables_info {
padding-top: 15px !important;
}
.dataTables_length {
padding-top: 10px;
}
.dataTables_paginate {
padding-right: 5px;
}
.dataTables_scrollHeadInner {
padding-right: 16px !important;
border-right: 1px solid #000000;
@include table-border-color;
}
.pagination {
margin-top: 6px !important;
justify-content: flex-start;
display: inline-block;
> .paginate_button > a, > .paginate_button.disabled > a {
border: 1px solid black;
}
> li {
display: inline;
> a {
float: left;
}
}
}
.table > tbody > tr > td.addr-summary {
line-height: 7.7;
font-size: 1.3em;
font-weight: 800;
text-align: center;
}
.dataTables_wrapper {
border-top: 1px solid #000000;
@include table-border-color;
> .row:first-child {
margin-right: 0;
> div:first-child > .dataTables_length {
border-left: 1px solid #000000;
@include table-border-color;
}
> div:last-child {
border-right: 1px solid #000000;
@include table-border-color;
}
}
> .row:last-child {
margin-left: 0;
margin-right: 0;
border: 1px solid #000000;
border-top: 0;
@include table-border-color;
> div:first-child {
padding-left: 0;
}
> div:last-child {
padding-right: 0;
}
}
}
tr {
width: 100%;
}
@media(max-width:575px) {
.dataTables_paginate {
font-size: 80%;
}
#marketChart {
display: none;
}
table.table-paging:not(.mobile-border-right), table.summary-table:not(.mobile-border-right) {
border-right-width: 0;
}
}
@media(max-width:992px) {
.navbar .nav-link {
padding-left: 10px;
}
}
.tab-pane .dataTables_wrapper, .tab-pane > .card-default > table, .wrapper-border-0 .dataTables_wrapper {
border-top: 0;
}
.tab-pane {
margin-top: 5px;
> .card {
border-radius: 0;
}
}
.summary-table {
margin: 0px !important;
> tbody > tr > td {
border-width: 1px;
}
}
.table-bordered {
border: 1px solid #000000;
@include table-border-color;
> thead > tr > th, > tbody > tr > td {
border-width: 1px;
border-bottom-width: 0;
}
}
.margin-left-5 {
margin-left: 5px;
}
#lblConnections {
margin-left: 10px;
}
.header-panel span {
margin: 0 5px 0 5px;
top: 0;
}
.badge {
a:link, a:visited, a:hover, a:active {
color: #ffffff;
}
}
#body-container {
padding: 0 40px;
}
@media(max-width:767px) {
#body-container {
padding-left:0;
padding-right:0;
}
.dataTables_wrapper {
> .row:first-child > div:first-child {
border-right: 1px solid #000000;
@include table-border-color;
}
}
}
.logo-main {
padding: 0 15px;
}
.decimal {
font-size: 0.7em;
}
.cardSpacer {
margin-bottom: 10px;
}
.breakWord {
word-break: break-word;
}
.entryField {
max-width: 600px;
}
.container {
padding-left: 0;
padding-right: 0;
}
.card-body, .card-default.border-0 > .card-header {
border: 1px solid #000000;
@include table-border-color;
}
.card-body {
border: 1px solid #000000;
@include table-border-color;
}
.card-default.border-0 > .card-header {
border: 1px solid #000000;
border-bottom-width: 0;
@include table-border-color;
}
.right-border-0 {
border-right: 0;
}
File diff suppressed because one or more lines are too long
+3
View File
@@ -0,0 +1,3 @@
#!/bin/bash
echo "\$theme-name: \"$(./node_modules/.bin/strip-json-comments settings.json | ./node_modules/.bin/json theme)\";" > ./public/stylesheets/_theme-selector.scss
+9 -10
View File
@@ -8,30 +8,30 @@ block content
- var received = (address.received / 100000000).toLocaleString('en',{'minimumFractionDigits':2,'maximumFractionDigits':8,'useGrouping':true});
- var receivedParts = received.split('.');
.col-xs-12.col-md-12.cardSpacer
.card.card-default.card-address-summary.cardSpacer
.card.card-default.border-0.card-address-summary.cardSpacer
.card-header(style='position:relative;')
strong #{address.a_id}
if settings.labels[address.a_id]
if settings.labels[address.a_id].type
label.d-none.d-sm-block(class='label label-'+settings.labels[address.a_id].type+' float-right', style='margin-left:15px;')
label.d-none.d-sm-block.badge.float-right(class='badge-'+settings.labels[address.a_id].type, style='margin-left:15px;margin-bottom:0;')
=settings.labels[address.a_id].label
if settings.labels[address.a_id].url
a(href=settings.labels[address.a_id].url, target='_blank')
a(href=settings.labels[address.a_id].url, target='_blank', alt='Visit site', title='Visit site')
span.fa.fa-question-circle(style='margin-left:5px;')
else
label.d-none.d-sm-table-cell.label.label-default.float-right(style='margin-left:15px;')
label.d-none.d-sm-block.badge.badge-default.float-right(style='margin-left:15px;margin-bottom:0;')
=settings.labels[address.a_id].label
if settings.labels[address.a_id].url
a(href=settings.labels[address.a_id].url, target='_blank')
a(href=settings.labels[address.a_id].url, target='_blank', alt='Visit site', title='Visit site')
span.fa.fa-question-circle(style='margin-left:5px;')
else
if address.name !== "" && typeof address.name !== "undefined"
label.badge.badge-pill.float-right.d-none.d-sm-block(style='margin-left:15px;')
=address.name
else
a.badge.badge-pill.float-right.d-none.d-sm-block(href="/address/"+ address.a_id +"/claim" style="font-size: smaller;")
a.badge.badge-pill.float-right.d-none.d-sm-block(href="/address/"+ address.a_id +"/claim" style="font-size:smaller;padding-bottom:0;")
=" Is this yours? Claim it now for free!"
table.table.table-bordered.table-striped.summary-table
table.table.table-bordered.table-striped.summary-table.mobile-border-right
thead
tr
if settings.show_sent_received == true
@@ -57,9 +57,8 @@ block content
span.decimal #{balanceParts[1]}
td.addr-summary
img.qrcode(src='/qr/' + address.a_id)
.card.card-default.cardSpacer
.card.card-default.border-0.cardSpacer
.card-header
strong #{settings.locale.ex_latest_transactions}
table.table-bordered.table-striped
include ./includes/address_history.pug
include ./includes/address_history.pug
.footer-padding
+8 -8
View File
@@ -5,7 +5,7 @@ block content
- var time = format_unixtime(block.time);
- var block_difficulty = parseFloat(block.difficulty).toFixed(4);
.col-xs-12.col-md-12.cardSpacer
.card.card-default.cardSpacer
.card.card-default.border-0.cardSpacer
.card-header(style='padding-left:25px;padding-right:25px;')
.row
if block.previousblockhash != null
@@ -26,7 +26,7 @@ block content
th #{settings.locale.difficulty}
th #{settings.locale.confirmations}
if settings.heavy == true
th Vote
th.d-none.d-sm-table-cell Vote
th.d-none.d-sm-table-cell #{settings.locale.size} (kB)
th.d-none.d-md-table-cell #{settings.locale.bits}
th.d-none.d-sm-table-cell #{settings.locale.nonce}
@@ -39,7 +39,7 @@ block content
td=Number(block.difficulty).toFixed(4)
td=block.confirmations
if settings.heavy == true
td=block.vote
td.d-none.d-sm-table-cell=block.vote
td.d-none.d-sm-table-cell=block_size.toFixed(2)
td.d-none.d-md-table-cell=block.bits
td.d-none.d-sm-table-cell=block.nonce
@@ -52,7 +52,7 @@ block content
td=Number(block.difficulty).toFixed(4)
td=block.confirmations
if settings.heavy == true
td=block.vote
td.d-none.d-sm-table-cell=block.vote
td.d-none.d-sm-table-cell=block_size.toFixed(2)
td.d-none.d-md-table-cell=block.bits
td.d-none.d-sm-table-cell=block.nonce
@@ -64,7 +64,7 @@ block content
td=Number(block.difficulty).toFixed(4)
td=block.confirmations
if settings.heavy == true
td=block.vote
td.d-none.d-sm-table-cell=block.vote
td.d-none.d-sm-cell=block_size.toFixed(2)
td.d-none.d-md-table-cell=block.bits
td.d-none.d-sm-table-cell=block.nonce
@@ -73,10 +73,10 @@ block content
.alert.alert-info(role='alert', style='text-align:center;')
strong #{settings.locale.block_genesis}
else
.card.card-default.cardSpacer
.card.card-default.border-0.cardSpacer
.card-header
strong #{settings.locale.ex_latest_transactions}
table.table.table-bordered.table-striped.summary-table
table.table.table-bordered.table-striped.summary-table.mobile-border-right
thead
tr
th.d-none.d-sm-table-cell #{settings.locale.tx_hash}
@@ -100,7 +100,7 @@ block content
- var totalParts = total.split('.');
td #{totalParts[0]}.
span.decimal #{totalParts[1]}
td.view_tx
td.text-center
a(href='/tx/' + txn.txid)
span.fa.fa-eye
.footer-padding
+61 -50
View File
@@ -3,31 +3,39 @@ extends layout
block content
script.
$(function () {
function showClaimAlert(claimClass, warnMsg) {
if ($('#claimAlert').length == 0)
$('<div id="claimAlert"></div>').insertBefore('#claimForm');
$('#claimAlert').html('<div class="alert alert-' + claimClass + '"><div class="font-weight-bold" style="padding-bottom:10px;">' + (claimClass == 'success' ? 'Address claimed successfully' : (claimClass == 'danger' ? 'Failed to claim address' : 'Required field missing')) + '</div> ' + (claimClass == 'success' ? 'This address will now be referred to as <strong>"' + $('#message').val() + '"</strong> throughout the website' : (claimClass == 'danger' ? 'Invalid signature' : warnMsg)) + '.</div>');
}
$('#claimForm').on('submit', function (e) {
e.preventDefault();
var address = $('input#address').val();
var message = $('input#message').val();
var signature = $('input#signature').val();
var url = '/address/'+address+'/claim';
function showClaimAlert(success) {
if ($('#claimAlert').length == 0)
$('<div id="claimAlert"></div>').insertBefore('#claimForm');
$('#claimAlert').html('<div class="alert alert-' + (success ? 'success' : 'danger') + '"><div class="font-weight-bold" style="padding-bottom:10px;">' + (success ? 'Address claimed successfully' : 'Failed to claim address') + '</div> ' + (success ? 'This address will now be referred to as <strong>"' + $('#message').val() + '"</strong> throughout the website' : 'Invalid signature') + '.</div>');
if (message == null || message.trim().length == 0) {
showClaimAlert('warning', 'Please enter the name you would like your address to be referred to on this site');
$('input#message').focus();
} else if (signature == null || signature.trim().length == 0) {
showClaimAlert('warning', 'Please enter the signature value from your wallet software');
$('input#signature').focus();
} else {
$.ajax({
type: 'post',
url: url,
data: {
'address': address,
'message': message,
'signature': signature
},
success: function (data) {
showClaimAlert((data.status == 'success' ? 'success' : 'danger'), '');
}
});
}
$.ajax({
type: 'post',
url: url,
data: {
'address': address,
'message': message,
'signature': signature
},
success: function (data) {
showClaimAlert(data.status == 'success');
}
});
});
});
- var balance = ((address.received - address.sent) / 100000000).toLocaleString('en',{'minimumFractionDigits':2,'maximumFractionDigits':8,'useGrouping':true});
@@ -37,23 +45,23 @@ block content
- var received = (address.received / 100000000).toLocaleString('en',{'minimumFractionDigits':2,'maximumFractionDigits':8,'useGrouping':true});
- var receivedParts = received.split('.');
.col-xs-12.col-md-12.cardSpacer
.card.card-default.card-address-summary.cardSpacer
.card.card-default.border-0.card-address-summary.cardSpacer
.card-header(style='position:relative;')
strong=address.a_id
if settings.labels[address.a_id]
if settings.labels[address.a_id].type
label(class='badge label-#{ settings.labels[address.a_id].type} float-right d-none d-sm-block', style='margin-left:15px;')
label.d-none.d-sm-block.badge.float-right(class='badge-'+settings.labels[address.a_id].type, style='margin-left:15px;margin-bottom:0;')
=settings.labels[address.a_id].label
if settings.labels[address.a_id].url
a(href="#{ settings.labels[address.a_id].url}'", target='_blank')
a(href=settings.labels[address.a_id].url, target='_blank', alt='Visit site', title='Visit site')
span.fa.fa-question-circle(style='margin-left:5px;')
else
label.badge.badge-pill.float-right.d-none.d-sm-block(style='margin-left:15px;')
label.d-none.d-sm-block.badge.badge-default.float-right(style='margin-left:15px;margin-bottom:0;')
=settings.labels[address.a_id].label
if settings.labels[address.a_id].url
a(href='#{settings.labels[address.a_id].url}', target='_blank')
a(href=settings.labels[address.a_id].url, target='_blank', alt='Visit site', title='Visit site')
span.fa.fa-question-circle(style='margin-left:5px;')
table.table.table-bordered.table-striped.summary-table
table.table.table-bordered.table-striped.summary-table.mobile-border-right
thead
tr
if settings.show_sent_received == true
@@ -79,47 +87,50 @@ block content
span.decimal #{balanceParts[1]}
td.addr-summary
img.qrcode(src='/qr/'+address.a_id)
.card.card-default.cardSpacer
.card.card-default.border-0.cardSpacer
.card-header
strong Claim this Address
.card-body
div.alert.alert-primary
div
span Use the '
span.font-weight-bold Sign Message
span ' feature from your wallet to verify ownership of this address.
span You can use the
span.font-weight-bold Sign Message
span feature from your
span.font-weight-bold #{settings.coin}
span wallet to verify ownership of this address.
br
div Enter the following data into the wallet software:
br
div
span Enter the wallet address '
span.font-weight-bold #{address.a_id}
span ' for both the '
span.font-weight-bold Address
span ' and '
span.font-weight-bold Message
span ' and click the '
span.font-weight-bold Sign Message
span ' button to generate the '
span.font-weight-bold Signature
span '.
span.font-weight-bold Address:
span #{address.a_id}
div
span.font-weight-bold Message:
span=' <display name from the form below>'
br
div
span Enter the '
span.font-weight-bold Signature
span ' below and click '
span.font-weight-bold Submit
span ' to claim your address which allows displaying a custom name instead of the default wallet address.
span Click the
span.font-weight-bold Sign Message
span button in the wallet, and copy/paste the resulting
span.font-weight-bold Signature
span in the form below.
br
div
span Finally, click the
span.font-weight-bold Submit
span button below to claim your address, which will display your custom display name instead of the default wallet address on this site.
form#claimForm
.form-group
fieldset
label.control-label(for='address') Wallet Address
fieldset.entryField
label(for='address') Wallet Address
input#address.form-control(type='text' value=address.a_id readonly="")
.form-group
fieldset
fieldset.entryField
label(for='message') Display Name
input#message.form-control(type='text' placeholder='Display Name')
input#message.form-control(type='text', placeholder='Display Name', maxlength='50')
.form-group
fieldset
fieldset.entryField
label(for='signature') Signature
input#signature.form-control(type='text' placeholder='Signature')
input#signature.form-control(type='text', placeholder='Signature', maxlength='100')
button.btn.btn-primary(type='submit') Submit
.footer-padding
+1 -1
View File
@@ -74,7 +74,7 @@ script.
}
});
});
table#address-txs.table.table-bordered.table-striped
table#address-txs.table.table-bordered.table-striped.table-paging.mobile-border-right
thead
tr
th #{settings.locale.timestamp}
+7 -7
View File
@@ -61,22 +61,22 @@ script.
]
});
});
.card.card-default
.card-body
.card.card-default.border-0
.card-body.border-top-0
:markdown-it
If you have trouble syncing your wallet, add these lines to your coin daemon .conf file and restart the wallet.
*Typically you can access the config file through QT-wallet menu, Tools > Open Wallet Configuration File*
table#addnodes-table.table.table-bordered.table-striped
table#addnodes-table.table.table-bordered.table-striped.table-paging.mobile-border-right
thead
tr
th.text-center AddNode Config Lines
th AddNode Config Lines
tbody.text-center
.card-body
.card-body.border-top-0
:markdown-it
Alternatively you can try one of these lines in the coin wallet debug window, or add them with *coindaemon*-cli
table#addnodes2-table.table.table-bordered.table-striped
table#addnodes2-table.table.table-bordered.table-striped.table-paging.mobile-border-right
thead
tr
th.text-center OneTry Node Lines
th OneTry Node Lines
tbody.text-center
+8 -3
View File
@@ -22,7 +22,7 @@ script.
rowCallback: function (row, data, index) {
var flagBlock = '';
if (data['country_code'].length > 1) {
flagBlock = '&nbsp;<div class="flag-icon flag-icon-'+data['country_code'].toLowerCase()+'"></div>';
flagBlock = '<div class="margin-left-5 flag-icon flag-icon-'+data['country_code'].toLowerCase()+'"></div>';
}
$("td:eq(0)", row).html(data['address']).addClass('breakWord');
$("td:eq(1)", row).html(data['protocol']);
@@ -36,9 +36,14 @@ script.
{ data: 'country', width: '25%'}
]
});
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
$($.fn.dataTable.tables(true)).DataTable().responsive.recalc();
$($.fn.dataTable.tables(true)).css('width', '100%');
$($.fn.dataTable.tables(true)).DataTable().columns.adjust().draw();
});
});
.card.card-default
table#connections-table.table.table-bordered.table-striped
.card.card-default.border-0
table#connections-table.table.table-bordered.table-striped.table-paging.mobile-border-right
thead
tr
th #{settings.locale.net_address}
+2 -4
View File
@@ -1,7 +1,5 @@
.card.card-default
.card-header
h5.card-title #{settings.locale.rl_current_balance}
table.table.table-hover.table-bordered(style='margin-bottom:0;', cellspacing='0')
.card.card-default.border-0
table.table.table-hover.table-bordered.table-striped.summary-table.right-border-0(style='margin-bottom:0;', cellspacing='0')
thead
tr
th.text-center
+5 -5
View File
@@ -1,17 +1,17 @@
if settings.labels[item.a_id]
if settings.labels[item.a_id].type
label(class='badge badge-' + settings.labels[item.a_id].type + ' float-right d-none d-md-block', style='margin-left:15px;')
label(class='badge badge-' + settings.labels[item.a_id].type + ' float-right d-none d-md-block', style='margin-left:15px;margin-bottom:0;')
=settings.labels[item.a_id].label
if settings.labels[item.a_id].url
a(href=settings.labels[item.a_id].url, target='_blank')
a(href=settings.labels[item.a_id].url, target='_blank', alt='Visit site', title='Visit site')
span.fa.fa-question-circle(style='margin-left:5px;')
else
label.badge.badge-default.float-right.d-none.d-md-block(style='margin-left:15px;')
label.badge.badge-default.float-right.d-none.d-md-block(style='margin-left:15px;margin-bottom:0;')
=settings.labels[item.a_id].label
if settings.labels[item.a_id].url
a(href=settings.labels[item.a_id].url, target='_blank')
a(href=settings.labels[item.a_id].url, target='_blank', alt='Visit site', title='Visit site')
span.fa.fa-question-circle(style='margin-left:5px;')
else
if item.name !== "" && typeof item.name !== "undefined"
label(class='badge badge-default float-right d-none d-md-block', style='margin-left:15px;')
label(class='badge badge-default float-right d-none d-md-block', style='margin-left:15px;margin-bottom:0;')
=item.name
+2 -4
View File
@@ -1,7 +1,5 @@
.card.card-default
.card-header
h5.card-title #{settings.locale.rl_received_coins}
table.table.table-hover.table-bordered(style='margin-bottom:0;', cellspacing='0')
.card.card-default.border-0
table.table.table-hover.table-bordered.table-striped.summary-table.right-border-0(style='margin-bottom:0;', cellspacing='0')
thead
tr
th.text-center
+3 -3
View File
@@ -49,7 +49,7 @@ block content
$("td:eq(2)", row).html(outputs).addClass("text-center");
$("td:eq(3)", row).html(amount);
$("td:eq(4)", row).html(format_unixtime(new Date(timestamp), true)).addClass("text-center d-none d-sm-table-cell");
},
}
});
setInterval( function () {
rtable.api().ajax.reload(null, false);
@@ -62,10 +62,10 @@ block content
button.close(type='button', data-dismiss='alert') ×
strong #{settings.locale.ex_error} : #{error}
.col-md-12.cardSpacer
.card.card-default.cardSpacer
.card.card-default.border-0.cardSpacer
.card-header
strong #{settings.locale.ex_latest_transactions}
table#recent-table.table.table-bordered.table-striped
table#recent-table.table.table-bordered.table-striped.table-paging
thead
tr
th.text-center #{settings.locale.ex_block}
+31 -31
View File
@@ -2,7 +2,7 @@ extends layout
block content
.col-md-12(style="margin-bottom: 4%")
.card.card-default
.card.card-default.border-0
.card-header
strong #{settings.locale.api_title}
.card-body
@@ -17,42 +17,42 @@ block content
if settings.api_cmds['getdifficulty'] != null && settings.api_cmds['getdifficulty'] != ''
li
p
div(style='font-weight:bold;') getdifficulty
div.font-weight-bold getdifficulty
div
em #{settings.locale.api_getdifficulty}
a(href='/api/getdifficulty') #{address}/api/getdifficulty
if settings.api_cmds['getconnectioncount'] != null && settings.api_cmds['getconnectioncount'] != ''
li
p
div(style='font-weight:bold;') getconnectioncount
div.font-weight-bold getconnectioncount
div
em #{settings.locale.api_getconnectioncount}
a(href='/api/getconnectioncount') #{address}/api/getconnectioncount
if settings.api_cmds['getblockcount'] != null && settings.api_cmds['getblockcount'] != ''
li
p
div(style='font-weight:bold;') getblockcount
div.font-weight-bold getblockcount
div
em #{settings.locale.api_getblockcount}
a(href='/api/getblockcount') #{address}/api/getblockcount
if settings.api_cmds['getblockhash'] != null && settings.api_cmds['getblockhash'] != ''
li
p
div(style='font-weight:bold;') getblockhash [index]
div.font-weight-bold getblockhash [index]
div
em #{settings.locale.api_getblockhash}
a(href='/api/getblockhash?index=' + hashes.blockindex) #{address}/api/getblockhash?index=#{hashes.blockindex}
if settings.api_cmds['getblock'] != null && settings.api_cmds['getblock'] != ''
li
p
div(style='font-weight:bold;') getblock [hash]
div.font-weight-bold getblock [hash]
div
em #{settings.locale.api_getblock}
a(href='/api/getblock?hash=' + hashes.blockhash) #{address}/api/getblock?hash=#{hashes.blockhash}
if settings.api_cmds['getrawtransaction'] != null && settings.api_cmds['getrawtransaction'] != ''
li
p
div(style='font-weight:bold;') getrawtransaction [txid] [decrypt]
div.font-weight-bold getrawtransaction [txid] [decrypt]
div
em #{settings.locale.api_getrawtransaction}
div
@@ -62,28 +62,28 @@ block content
if settings.index.show_hashrate == true && settings.api_cmds['getnetworkhashps'] != null && settings.api_cmds['getnetworkhashps'] != ''
li
p
div(style='font-weight:bold;') getnetworkhashps
div.font-weight-bold getnetworkhashps
div
em #{settings.locale.api_getnetworkhashps}
a(href='/api/getnetworkhashps') #{address}/api/getnetworkhashps
if settings.api_cmds['getvotelist'] != null && settings.api_cmds['getvotelist'] != ''
li
p
div(style='font-weight:bold;') getvotelist
div.font-weight-bold getvotelist
div
em #{settings.locale.api_getvotelist}
a(href='/api/getvotelist') #{address}/api/getvotelist
if settings.api_cmds['getmasternodecount'] != null && settings.api_cmds['getmasternodecount'] != ''
li
p
div(style='font-weight:bold;') getmasternodecount
div.font-weight-bold getmasternodecount
div
em #{settings.locale.api_getmasternodecount}
a(href='/api/getmasternodecount') #{address}/api/getmasternodecount
if settings.api_cmds['getmasternodelist'] != null && settings.api_cmds['getmasternodelist'] != ''
li
p
div(style='font-weight:bold;') getmasternodelist
div.font-weight-bold getmasternodelist
div
em #{settings.locale.api_getmasternodelist}
a(href='/api/getmasternodelist') #{address}/api/getmasternodelist
@@ -91,56 +91,56 @@ block content
if settings.api_cmds['getmaxmoney'] != null && settings.api_cmds['getmaxmoney'] != ''
li
p
div(style='font-weight:bold;') getmaxmoney
div.font-weight-bold getmaxmoney
div
em #{settings.locale.api_getmaxmoney}
a(href='/api/getmaxmoney') #{address}/api/getmaxmoney
if settings.api_cmds['getmaxvote'] != null && settings.api_cmds['getmaxvote'] != ''
li
p
div(style='font-weight:bold;') getmaxvote
div.font-weight-bold getmaxvote
div
em #{settings.locale.api_getmaxvote}
a(href='/api/getmaxvote') #{address}/api/getmaxvote
if settings.api_cmds['getvote'] != null && settings.api_cmds['getvote'] != ''
li
p
div(style='font-weight:bold;') getvote
div.font-weight-bold getvote
div
em #{settings.locale.api_getvote}
a(href='/api/getvote') #{address}/api/getvote
if settings.api_cmds['getphase'] != null && settings.api_cmds['getphase'] != ''
li
p
div(style='font-weight:bold;') getphase
div.font-weight-bold getphase
div
em #{settings.locale.api_getphase}
a(href='/api/getphase') #{address}/api/getphase
if settings.api_cmds['getreward'] != null && settings.api_cmds['getreward'] != ''
li
p
div(style='font-weight:bold;') getreward
div.font-weight-bold getreward
div
em #{settings.locale.api_getreward}
a(href='/api/getreward') #{address}/api/getreward
if settings.api_cmds['getsupply'] != null && settings.api_cmds['getsupply'] != ''
li
p
div(style='font-weight:bold;') getsupply
div.font-weight-bold getsupply
div
em #{settings.locale.api_getsupply}
a(href='/api/getsupply') #{address}/api/getsupply
if settings.api_cmds['getnextrewardestimate'] != null && settings.api_cmds['getnextrewardestimate'] != ''
li
p
div(style='font-weight:bold;') getnextrewardestimate
div.font-weight-bold getnextrewardestimate
div
em #{settings.locale.api_getnextrewardestimate}
a(href='/api/getnextrewardestimate') #{address}/api/getnextrewardestimate
if settings.api_cmds['getnextrewardwhenstr'] != null && settings.api_cmds['getnextrewardwhenstr'] != ''
li
p
div(style='font-weight:bold;') getnextrewardwhenstr
div.font-weight-bold getnextrewardwhenstr
div
em #{settings.locale.api_getnextrewardwhenstr}
a(href='/api/getnextrewardwhenstr') #{address}/api/getnextrewardwhenstr
@@ -151,37 +151,37 @@ block content
ul
li
p
div(style='font-weight:bold;') getmoneysupply
div.font-weight-bold getmoneysupply
div
em Returns current money supply
a(href='/ext/getmoneysupply') #{address}/ext/getmoneysupply
li
p
div(style='font-weight:bold;') getdistribution
div.font-weight-bold getdistribution
div
em Returns wealth distribution stats
a(href='/ext/getdistribution') #{address}/ext/getdistribution
li
p
div(style='font-weight:bold;') getaddress (/ext/getaddress/hash)
div.font-weight-bold getaddress (/ext/getaddress/hash)
div
em Returns information for given address
a(href='/ext/getaddress/' + hashes.address) #{address}/ext/getaddress/#{hashes.address}
li
p
div(style='font-weight:bold;') gettx (/ext/gettx/hash)
div.font-weight-bold gettx (/ext/gettx/hash)
div
em Returns information for given tx hash
a(href='/ext/gettx/' + hashes.txhash) #{address}/ext/gettx/#{hashes.txhash}
li
p
div(style='font-weight:bold;') getbalance (/ext/getbalance/hash)
div.font-weight-bold getbalance (/ext/getbalance/hash)
div
em Returns current balance of given address
a(href='/ext/getbalance/' + hashes.address) #{address}/ext/getbalance/#{hashes.address}
li
p
div(style='font-weight:bold;') getlasttxs (/ext/getlasttxs/min)
div.font-weight-bold getlasttxs (/ext/getlasttxs/min)
div
em Returns last transactions greater than [min]
div
@@ -189,13 +189,13 @@ block content
a(href='/ext/getlasttxs/100') #{address}/ext/getlasttxs/100
li
p
div(style='font-weight:bold;') getcurrentprice
div.font-weight-bold getcurrentprice
div
em Returns last known exchange price
a(href='/ext/getcurrentprice') #{address}/ext/getcurrentprice
li
p
div(style='font-weight:bold;') getbasicstats
div.font-weight-bold getbasicstats
div
em Returns basic statistics about the coin including: block count, circulating supply, USD price, BTC price and # of masternodes
a(href='/ext/getbasicstats') #{address}/ext/getbasicstats
@@ -206,18 +206,18 @@ block content
ul
li
p
div(style='font-weight:bold;') transaction (/tx/txid)
div.font-weight-bold transaction (/tx/txid)
a(href='/tx/' + hashes.txhash) #{address}/tx/#{hashes.txhash}
li
p
div(style='font-weight:bold;') block (/block/hash)
div.font-weight-bold block (/block/hash)
a(href='/block/' + hashes.blockhash) #{address}/block/#{hashes.blockhash}
li
p
div(style='font-weight:bold;') address (/address/hash)
div.font-weight-bold address (/address/hash)
a(href='/address/' + hashes.address) #{address}/address/#{hashes.address}
li
p
div(style='font-weight:bold;') qrcode (/qr/hash)
div.font-weight-bold qrcode (/qr/hash)
a(href='/qr/' + hashes.address) #{address}/qr/#{hashes.address}
.footer-padding
+21 -25
View File
@@ -9,7 +9,7 @@ html
link(rel='stylesheet', href='/vendor/flags-css/css/flag-icon.min.css')
link(res='stylesheet', href='//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.css')
link(rel='stylesheet', href='//cdn.datatables.net/1.10.19/css/dataTables.bootstrap4.min.css')
link(rel='stylesheet', href='/stylesheets/style.css')
link(rel='stylesheet', href='/stylesheets/style.min.css')
script(src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js')
script(src='//stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.bundle.min.js')
script(src='/vendor/jqplot/jquery.jqplot.min.js')
@@ -97,8 +97,8 @@ html
animation: true,
delay: { hide: 500 }
});
if ($('.history-table tbody tr').length) {
$('.history-table').dataTable({
if ($('#history-table tbody tr').length) {
$('#history-table').dataTable({
searching: false,
ordering: false,
responsive: true,
@@ -143,29 +143,29 @@ html
}
var hashRateType='<label id="hashrate"></label>';
if ('#{settings.index.difficulty}' == 'Hybrid') hashRateType+='<br /><label id="lblX1"></label>';
return '<div class="card-header"><strong>#{settings.locale.network} '+networkSuffix+'</strong></div><div class="card-body"><div id="hashratepanel"><span class="glyphicon fa fa-cogs"></span>'+hashRateType+'</div></div>';
return '<div class="card-header"><strong>#{settings.locale.network} <span class="small">'+networkSuffix+'</span></strong></div><div class="card-body"><div id="hashratepanel" class="header-panel"><span class="glyphicon fa fa-cogs"></span>'+hashRateType+'</div></div>';
}
function getDifficultyPanel() {
var difficultyType='<label id="difficulty"></label>';
if ('#{settings.index.difficulty}' == 'Hybrid') difficultyType+='<br /><label id="difficultyHybrid"></label>';
return '<div class="card-header"><strong>#{settings.locale.difficulty}</strong></div><div class="card-body"><div id="difficultypanel"><span class="glyphicon fas fa-sliders-h"></span>'+difficultyType+'</div></div>';
return '<div class="card-header"><strong>#{settings.locale.difficulty}</strong></div><div class="card-body"><div id="difficultypanel" class="header-panel"><span class="glyphicon fas fa-sliders-h"></span>'+difficultyType+'</div></div>';
}
function getMasternodesPanel() {
return '<div class="card-header"><strong>#{settings.locale.masternodecount}</strong></div><div class="card-body"><div id="masternodepanel"><span id="spnMasternodeCountOnline" class="glyphicon fa fa-check-circle"></span><label id="masternodeCountOnline"></label><label>&nbsp;/&nbsp;</label><label id="masternodeCountOffline"></label><span id="spnMasternodeCountOffline" class="glyphicon fa fa-exclamation-triangle"></span></div></div>';
return '<div class="card-header"><strong>#{settings.locale.masternodecount}</strong></div><div class="card-body"><div id="masternodepanel" class="header-panel"><span id="spnMasternodeCountOnline" class="glyphicon fa fa-check-circle"></span><label id="masternodeCountOnline"></label><label>&nbsp;/&nbsp;</label><label id="masternodeCountOffline"></label><span id="spnMasternodeCountOffline" class="glyphicon fa fa-exclamation-triangle"></span></div></div>';
}
function getCoinSupplyPanel() {
var supplyType='<label id="supply"></label>';
if ('#{settings.index.difficulty}' == 'Hybrid') supplyType+='<br /><label id="lblX1"></label>';
if (#{settings.index.show_market_cap} == true && #{settings.index.show_market_cap_over_price} != true) supplyType+='<br /><span class="glyphicon fas fa-chart-line"></span><label>(</label><label id="marketCap">-</label><label>)</label>';
return '<div class="card-header"><strong>#{settings.locale.ex_supply} <span class="small">(#{settings.symbol})</span></strong></div><div class="card-body"><div id="supplypanel"><span class="glyphicon fa fa-chart-pie"></span>'+supplyType+'</div></div>';
return '<div class="card-header"><strong>#{settings.locale.ex_supply} <span class="small">(#{settings.symbol})</span></strong></div><div class="card-body"><div id="supplypanel" class="header-panel"><span class="glyphicon fa fa-chart-pie"></span>'+supplyType+'</div></div>';
}
function getPricePanel() {
if (#{settings.index.show_market_cap} == true && #{settings.index.show_market_cap_over_price} == true) {
return '<div class="card-header"><strong>Market Cap</strong></div><div class="card-body"><div id="pricepanel"><span class="glyphicon fas fa-chart-line"></span><label id="marketCap"></label></div></div>';
return '<div class="card-header"><strong>Market Cap</strong></div><div class="card-body"><div id="pricepanel" class="header-panel"><span class="glyphicon fas fa-chart-line"></span><label id="marketCap"></label></div></div>';
} else {
var priceType='<label id="lastPrice">-</label>';
if ('#{settings.index.difficulty}' == 'Hybrid') priceType+='<br /><label id="lblX1"></label>';
return '<div class="card-header"><strong>Price <span class="small">(#{settings.markets.exchange})</span></strong></div><div class="card-body"><div id="pricepanel"><span class="glyphicon fa fa-rocket"></span>'+priceType+'</div></div>';
return '<div class="card-header"><strong>Price <span class="small">(#{settings.markets.exchange})</span></strong></div><div class="card-body"><div id="pricepanel" class="header-panel"><span class="glyphicon fa fa-rocket"></span>'+priceType+'</div></div>';
}
}
function getActivePanel(nPanelName) {
@@ -200,10 +200,6 @@ html
hideShowPanel('#{settings.panel5}', 'pnlFive');
fixFooterHeight();
});
style(type="text/css").
.header-icons {
margin: 0 3px;
}
body
- var navbarClasses = ['nav','navbar','navbar-expand-lg'];
- var footerClasses = ['nav','navbar','navbar-default','d-none','d-md-flex','d-flex','footer'];
@@ -242,37 +238,37 @@ html
li#home
a.nav-link(href='/')
span.fa.fa-search
span.menu-text #{settings.locale.menu_explorer}
span.margin-left-5 #{settings.locale.menu_explorer}
if settings.heavy == true
li#reward
a.nav-link(href='/reward')
span.fa.fa-star
span.menu-text #{settings.locale.menu_reward}
span.margin-left-5 #{settings.locale.menu_reward}
if settings.display.movement == true
li#movement
a.nav-link.loading(href='/movement')
span.far.fa-money-bill-alt
span.menu-text #{settings.locale.menu_movement}
span.margin-left-5 #{settings.locale.menu_movement}
if settings.display.network == true
li#network
a.nav-link(href='/network')
span.fa.fa-share-alt
span.menu-text #{settings.locale.menu_network}
span.margin-left-5 #{settings.locale.menu_network}
if settings.display.richlist == true
li#richlist
a.nav-link(href='/richlist')
span.fab.fa-btc
span.menu-text #{settings.locale.menu_richlist}
span.margin-left-5 #{settings.locale.menu_richlist}
if settings.display.markets == true
li#markets
a.nav-link.loading(href='/markets/'+settings.markets.default)
span.fas.fa-chart-line
span.menu-text #{settings.locale.menu_markets}
span.margin-left-5 #{settings.locale.menu_markets}
if settings.display.api == true
li#info
a.nav-link(href='/info')
span.fa.fa-info-circle
span.menu-text #{settings.locale.menu_api}
span.margin-left-5 #{settings.locale.menu_api}
div#body-container(style='margin-top:' + (settings.sticky_header == true ? '80px;' : '20px'))
if showSync != null && showSync == true
.col-lg-12
@@ -285,23 +281,23 @@ html
.row.text-center.d-flex.justify-content-center
div(class="col-lg-2 col-lg-offset-" + settings.paneloffset)
- if(settings.panel1 != '') {
.card.card-default.d-none.d-lg-block.d-block.cardSpacer(id='pnlOne')
.card.card-default.border-0.d-none.d-lg-block.d-block.cardSpacer(id='pnlOne')
- }
- if(settings.panel2 != '') {
.col-lg-2
.card.card-default.d-none.d-lg-block.d-block.cardSpacer(id='pnlTwo')
.card.card-default.border-0.d-none.d-lg-block.d-block.cardSpacer(id='pnlTwo')
- }
- if(settings.panel3 != '') {
.col-lg-2
.card.card-default.d-none.d-lg-block.d-block.cardSpacer(id='pnlThree')
.card.card-default.border-0.d-none.d-lg-block.d-block.cardSpacer(id='pnlThree')
- }
- if(settings.panel4 != '') {
.col-lg-2
.card.card-default.d-none.d-lg-block.d-block.cardSpacer(id='pnlFour')
.card.card-default.border-0.d-none.d-lg-block.d-block.cardSpacer(id='pnlFour')
- }
- if(settings.panel5 != '') {
.col-lg-2
.card.card-default.d-none.d-lg-block.d-block.cardSpacer(id='pnlFive')
.card.card-default.border-0.d-none.d-lg-block.d-block.cardSpacer(id='pnlFive')
- }
.row.text-center(style='margin-top:10px;margin-bottom:20px;')
form.form-inline.col-12.d-flex.justify-content-center(method='post', action='/search')
+13 -13
View File
@@ -22,7 +22,7 @@ block content
if settings.markets.enabled.length > 1
.row
.col-md-12.cardSpacer
.card.card-default
.card.card-default.border-0
.card-header
strong #{settings.locale.menu_markets}
.card-body
@@ -89,12 +89,12 @@ block content
});
.row
.col-md-12.cardSpacer
.card.card-default
.card.card-default.border-0
.card-header
strong #{marketdata.market_name} - #{marketdata.coin}/#{marketdata.exchange} - #{settings.locale.mkt_hours}
if marketdata.data.chartdata == 'null' || marketdata.data.chartdata == '' || marketdata.data.chartdata == '[]'
span.fas.fa-chart-line.float-right.view-chart-disabled.iquidus.market-toggle(style='cursor: pointer;', data-toggle='tooltip', data-placement='bottom', title=settings.locale.mkt_no_chart)
table.table.table-bordered.summary-table
table.table.table-bordered.right-border-0.summary-table
thead
tr
if marketdata.data.summary.high != null
@@ -149,16 +149,16 @@ block content
if marketdata.data.chartdata != 'null' && marketdata.data.chartdata != '' && marketdata.data.chartdata != '[]'
#marketChart.row
.col-md-12.cardSpacer
.card.card-default
.card.card-default.border-0
.card-header
strong #{marketdata.market_name} - #{marketdata.coin}/#{marketdata.exchange} - #{settings.locale.mkt_hours}
.card-body
div#chart(style='width: 100%; height: 300px;')
.row
.col-md-6.col-xs-12.cardSpacer
.card.card-default
.card-header
h5.card-title #{settings.locale.mkt_buy_orders}
.card.card-default.border-0.wrapper-border-0
.card-header(style='border-bottom-width:1px;')
strong #{settings.locale.mkt_buy_orders}
table.table.table-striped.table-bordered.order-table
thead
tr
@@ -181,9 +181,9 @@ block content
else
=parseFloat(parseFloat(buy.price).toFixed(8) * parseFloat(buy.quantity).toFixed(8)).toFixed(8)
.col-md-6.col-xs-12.cardSpacer
.card.card-default
.card-header
h5.card-title #{settings.locale.mkt_sell_orders}
.card.card-default.border-0.wrapper-border-0
.card-header(style='border-bottom-width:1px;')
strong #{settings.locale.mkt_sell_orders}
table.table.table-striped.table-bordered.order-table
thead
tr
@@ -207,10 +207,10 @@ block content
=parseFloat(parseFloat(sell.price).toFixed(8) * parseFloat(sell.quantity).toFixed(8)).toFixed(8)
.row
.col-md-12.cardSpacer
.card.card-default
.card.card-default.border-0
.card-header
h5.card-title #{settings.locale.mkt_trade_history}
table.table.table-hover.history-table.table-bordered(cellspacing='0')
strong #{settings.locale.mkt_trade_history}
table#history-table.table.table-hover.table-bordered.table-striped.table-paging.right-border-0(cellspacing='0')
thead
tr
th #{settings.locale.mkt_price}
+2 -2
View File
@@ -62,10 +62,10 @@ block content
}, 45000);
});
.col-md-12(style="margin-bottom: 4%")
.card.card-default
.card.card-default.border-0
.card-header
strong="Latest Movement"
table#movement-table.table.table-bordered.table-striped
table#movement-table.table.table-bordered.table-striped.table-paging.mobile-border-right
thead
tr
th.text-center timestamp
+6 -6
View File
@@ -4,14 +4,14 @@ block content
.col-md-12(style='margin-bottom: 4%')
.text-center(style='margin-bottom:15px;')
i #{settings.locale.net_warning}
.tabpanel
ul.nav.nav-tabs(role='tablist', style='border-bottom:0;')
li.nav-item.active(role='presentation')
a.nav-link.show.active(href='#connections', aria-controls='connections', role='tab', data-toggle='tab') #{settings.locale.net_connections}
.container
ul.nav.nav-tabs(role='tablist')
li.nav-item(role='presentation')
a.nav-link.active(href='#connections', aria-controls='connections', role='tab', data-toggle='tab') #{settings.locale.net_connections}
li.nav-item(role='presentation')
a.nav-link(href='#addnodes', aria-controls='addnodes', role='tab', data-toggle='tab') #{settings.locale.net_addnodes}
.tab-content(style='margin-bottom:70px;')
#connections.card.card-default.tab-pane.active(style='margin-top:0;border-top:0;')
#connections.container.tab-pane.active(style='margin-top:0;border-top:0;')
include ./includes/net_list.pug
#addnodes.card.card-default.tab-pane(style='margin-top:0;border-top:0;')
#addnodes.container.tab-pane(style='margin-top:0;border-top:0;')
include ./includes/net_addnodes.pug
+3 -3
View File
@@ -3,7 +3,7 @@ extends layout
block content
.row
.col-xs-12.col-md-12
.card.card-default.card-address-summary
.card.card-default.border-0.card-address-summary
.card-header(style='position:relative;')
strong #{settings.locale.heavy_title}
span.small (#{settings.symbol})
@@ -34,7 +34,7 @@ block content
=heavy.estnext
.row
.col-md-3
.card.card-default
.card.card-default.border-0
.card-body
div.text-center
canvas(id="myChart2", width="150", height="150")
@@ -74,7 +74,7 @@ block content
td
div(style="width:20px;height:20px;background-color:rgba(92,184,92,1.0)")
.col-md-9
.card.card-default
.card.card-default.border-0
.card-body
div.text-center
.div
+12 -12
View File
@@ -32,23 +32,23 @@ block content
});
.row(style='margin-left:0;margin-right:0;')
.col-xs-12.col-lg-8
.tabpanel
.container
ul.nav.nav-tabs(role='tablist')
li.nav-item(role='presentation')
a.nav-link.active(href='#balance', aria-controls='balance', role='tab', data-toggle='tab') Balance
a.nav-link.active(href='#balance', aria-controls='balance', role='tab', data-toggle='tab') #{settings.locale.rl_current_balance}
li.nav-item(role='presentation')
a.nav-link(href='#received', aria-controls='received', role='tab', data-toggle='tab') Received
a.nav-link(href='#received', aria-controls='received', role='tab', data-toggle='tab') #{settings.locale.rl_received_coins}
.tab-content
#balance.tabpanel.tab-pane.active(style='margin-top:0;')
#balance.container.tab-pane.active(style='margin-top:0;')
include ./includes/rl_balance.pug
#received.tabpanel.tab-pane(style='margin-top:0;')
#received.container.tab-pane(style='margin-top:0;')
include ./includes/rl_received.pug
if show_dist == true
.col-lg-4.col-xs-12(style='margin-bottom:45px;')
#summary-panel.card.card-default(style='margin-top:34px;')
#summary-panel.card.card-default.border-0(style='margin-top:34px;')
.card-header
h5.card-title #{settings.locale.rl_wealth}
table.table.table-hover.table-bordered(style='margin-bottom:0;')
strong #{settings.locale.rl_wealth}
table.table.table-hover.table-bordered.summary-table.right-border-0(style='margin-bottom:0;')
thead
tr
th
@@ -57,7 +57,7 @@ block content
th.text-center %
tbody
tr
th
td.font-weight-bold
div.float-left(style='background-color:#d9534f;width:20px;height:20px;margin-right:6px;')
span #{settings.locale.rl_top25}
- var total = parseFloat(dista.total).toLocaleString('en',{'minimumFractionDigits':2,'maximumFractionDigits':8,'useGrouping':true});
@@ -66,7 +66,7 @@ block content
span.decimal.breakWord #{totalParts[1]}
td.text-center #{parseFloat(dista.percent).toFixed(2)}
tr
th
td.font-weight-bold
div.float-left(style='background-color:#5cb85c;width:20px;height:20px;margin-right:6px;')
span #{settings.locale.rl_top50}
- var total = parseFloat(distb.total).toLocaleString('en',{'minimumFractionDigits':2,'maximumFractionDigits':8,'useGrouping':true});
@@ -75,7 +75,7 @@ block content
span.decimal.breakWord #{totalParts[1]}
td.text-center #{parseFloat(distb.percent).toFixed(2)}
tr
th
td.font-weight-bold
div.float-left(style='background-color:#428bca;width:20px;height:20px;margin-right:6px;')
span #{settings.locale.rl_top75}
- var total = parseFloat(distc.total).toLocaleString('en',{'minimumFractionDigits':2,'maximumFractionDigits':8,'useGrouping':true});
@@ -84,7 +84,7 @@ block content
span.decimal.breakWord #{totalParts[1]}
td.text-center #{parseFloat(distc.percent).toFixed(2)}
tr
th
td.font-weight-bold
div.float-left(style='background-color:#222;width:20px;height:20px;margin-right:6px;')
span #{settings.locale.rl_top100}
- var total = parseFloat(distd.total).toLocaleString('en',{'minimumFractionDigits':2,'maximumFractionDigits':8,'useGrouping':true});
+37 -40
View File
@@ -4,62 +4,59 @@ block content
include ./includes/common.pug
- var time = format_unixtime(tx.timestamp);
.col-xs-12.col-md-12.cardSpacer
.card.card-body.d-lg-none.d-md-none(style='word-wrap:break-word;')
| Viewing TXID: #{tx.txid}
.card.card-default.cardSpacer
.card-header.d-none.d-md-block
.card.card-default.border-0.cardSpacer
.card-header
strong=settings.symbol + ' TXid: ' + tx.txid
a(href=`/api/getrawtransaction?txid=${tx.txid}&decrypt=1`)
a.d-none.d-md-inline(href=`/api/getrawtransaction?txid=${tx.txid}&decrypt=1`)
span.fa.fa-info-circle.iquidus.float-right
div.table-responsive
table.table.table-bordered.table-striped.summary-table
thead
tr
th #{settings.locale.confirmations}
th.d-none.d-sm-table-cell #{settings.locale.tx_block_hash}
th #{settings.locale.timestamp}
th
tbody
- var confirms = (blockcount - tx.blockindex);
if confirms >= confirmations
tr.bg-success.text-dark
table.table.table-bordered.table-striped.summary-table.mobile-border-right
thead
tr
th #{settings.locale.confirmations}
th.d-none.d-sm-table-cell #{settings.locale.tx_block_hash}
th #{settings.locale.timestamp}
th
tbody
- var confirms = (blockcount - tx.blockindex);
if confirms >= confirmations
tr.bg-success.text-dark
td #{confirms}
td.d-none.d-sm-table-cell
a.breakWord(href='/block/'+tx.blockhash) #{tx.blockhash}
td #{time}
td.text-center
a(href='/block/'+tx.blockhash)
span.fa.fa-eye
else
if confirms < (confirmations / 2)
tr.bg-danger
td #{confirms}
td.d-none.d-sm-table-cell
a.breakWord(href='/block/'+tx.blockhash) #{tx.blockhash}
td #{time}
td.view_tx
td.text-center
a(href='/block/'+tx.blockhash)
span.fa.fa-eye
else
if confirms < (confirmations / 2)
tr.bg-danger
td #{confirms}
td.d-none.d-sm-table-cell
a.breakWord(href='/block/'+tx.blockhash) #{tx.blockhash}
td #{time}
td.view_tx
a(href='/block/'+tx.blockhash)
span.fa.fa-eye
else
tr.table-warning
td #{confirms}
td.d-none.d-sm-table-cell
a.breakWord(href='/block/'+tx.blockhash) #{tx.blockhash}
td #{time}
td.view_tx
a(href='/block/'+tx.blockhash)
span.fa.fa-eye
tr.table-warning
td #{confirms}
td.d-none.d-sm-table-cell
a.breakWord(href='/block/'+tx.blockhash) #{tx.blockhash}
td #{time}
td.text-center
a(href='/block/'+tx.blockhash)
span.fa.fa-eye
if tx.vout.length < 1
.alert.alert-info.text-center(role='alert')
strong #{settings.locale.tx_nonstandard}
else
.row
.col-md-6.cardSpacer
.card.card-default
.card.card-default.border-0
.card-header
strong #{settings.locale.tx_contributors}
span.fa.fa-arrow-right.float-right.d-xs-none
table.table.table-striped.summary-table
table.table.table-bordered.table-striped.summary-table.mobile-border-right
thead
tr
th #{settings.locale.tx_address}
@@ -89,10 +86,10 @@ block content
tr.table-info.text-center
td #{settings.locale.proof_of_stake}
.col-md-6.cardSpacer
.card.card-default
.card.card-default.border-0
.card-header
strong #{settings.locale.tx_recipients}
table.table.table-striped.summary-table
table.table.table-bordered.table-striped.summary-table.mobile-border-right
thead
tr
th #{settings.locale.tx_address}