From 102bc3f75df4c33f098eb6c30c9d4018850d6ed9 Mon Sep 17 00:00:00 2001 From: joeuhren <46763106+joeuhren@users.noreply.github.com> Date: Sun, 27 Dec 2020 17:26:01 -0700 Subject: [PATCH] Reworked the "Market Cap" top panel feature -Added a new setting for "marketcappnl" which shows a "Market Cap" top panel box -Removed "show_market_cap" and "show_market_cap_over_price" settings --- app.js | 18 +++++++++++++----- lib/settings.js | 5 ++--- settings.json.template | 13 ++++++------- views/layout.pug | 22 ++++++++++++---------- 4 files changed, 33 insertions(+), 25 deletions(-) diff --git a/app.js b/app.js index df3ad31..f21c1fb 100644 --- a/app.js +++ b/app.js @@ -369,21 +369,29 @@ app.set('social_link_percent_height_tablet', settings.social_link_percent_height app.set('social_link_percent_height_mobile', settings.social_link_percent_height_mobile); // determine panel offset based on which panels are enabled -var paneltotal=5; -var panelcount=(settings.display.networkpnl > 0 ? 1 : 0)+(settings.display.difficultypnl > 0 ? 1 : 0)+(settings.display.masternodespnl > 0 ? 1 : 0)+(settings.display.coinsupplypnl > 0 ? 1 : 0)+(settings.display.pricepnl > 0 ? 1 : 0); -app.set('paneloffset', paneltotal+1-panelcount); +var paneltotal = 5; +var panelcount = (settings.display.networkpnl > 0 ? 1 : 0) + + (settings.display.difficultypnl > 0 ? 1 : 0) + + (settings.display.masternodespnl > 0 ? 1 : 0) + + (settings.display.coinsupplypnl > 0 ? 1 : 0) + + (settings.display.pricepnl > 0 ? 1 : 0) + + (settings.display.marketcappnl > 0 ? 1 : 0); +app.set('paneloffset', paneltotal + 1 - panelcount); // determine panel order var panelorder = new Array(); + if (settings.display.networkpnl > 0) panelorder.push({name: 'networkpnl', val: settings.display.networkpnl}); if (settings.display.difficultypnl > 0) panelorder.push({name: 'difficultypnl', val: settings.display.difficultypnl}); if (settings.display.masternodespnl > 0) panelorder.push({name: 'masternodespnl', val: settings.display.masternodespnl}); if (settings.display.coinsupplypnl > 0) panelorder.push({name: 'coinsupplypnl', val: settings.display.coinsupplypnl}); if (settings.display.pricepnl > 0) panelorder.push({name: 'pricepnl', val: settings.display.pricepnl}); +if (settings.display.marketcappnl > 0) panelorder.push({name: 'marketcappnl', val: settings.display.marketcappnl}); + panelorder.sort(function(a,b) { return a.val - b.val; }); -for (var i=1; i<6; i++) { + +for (var i=1; i<6; i++) app.set('panel'+i.toString(), ((panelorder.length >= i) ? panelorder[i-1].name : '')); -} // Dynamically populate market data var market_data = []; diff --git a/lib/settings.js b/lib/settings.js index 77ba604..5a9cfe9 100644 --- a/lib/settings.js +++ b/lib/settings.js @@ -99,7 +99,8 @@ exports.display = { "difficultypnl": 2, "masternodespnl": 3, "coinsupplypnl": 4, - "pricepnl": 5 + "pricepnl": 5, + "marketcappnl": 0 }; //API view @@ -136,8 +137,6 @@ exports.movement = { //index exports.index = { "show_hashrate": false, - "show_market_cap": false, - "show_market_cap_over_price": false, "difficulty": "POS", "last_txs": 100, "txs_per_page": 10 diff --git a/settings.json.template b/settings.json.template index a747f98..4d8c9b0 100644 --- a/settings.json.template +++ b/settings.json.template @@ -92,7 +92,6 @@ "locale": "locale/en.json", // menu and panel settings - // set a number to pnl variables to change the panel display order. lowest # = far left panel, highest # = far right panel, 0 = do not show panel "display": { "api": true, "markets": true, @@ -123,21 +122,21 @@ // table_header_bgcolor: change the background color of all table headers // valid options: light, dark or leave blank ( "" ) for default colors "table_header_bgcolor": "", - + // A maximum of 5 top panels can be shown across the top of the page + // Determine which panels are shown and in what order by giving panels a number from 1-5 + // Lowest # = far left panel, Highest # = far right panel + // Set disabled panels to a value of 0 to prevent them from being shown "networkpnl": 1, "difficultypnl": 2, "masternodespnl": 3, "coinsupplypnl": 4, - "pricepnl": 5 + "pricepnl": 5, + "marketcappnl": 0 }, // index page (valid options for difficulty are POW, POS or Hybrid) "index": { "show_hashrate": true, - // Show Market Cap in header - "show_market_cap": false, - // Show Market Cap in place of price box - "show_market_cap_over_price": false, "difficulty": "POS", "last_txs": 100, "txs_per_page": 10 diff --git a/views/layout.pug b/views/layout.pug index fcae8ba..930a3ac 100644 --- a/views/layout.pug +++ b/views/layout.pug @@ -139,12 +139,13 @@ html(lang='en') $("#lblX1").text(' '); $("#supply").text(supplyString); - splitValue = Number(parseFloat(json.data[0].lastPrice).toFixed(8) * parseInt(parseFloat(json.data[0].supply).toFixed(0))).toLocaleString('en'); splitParts = splitValue.split('.'); - $("#marketCap").html(splitParts[0] + '.' + splitParts[1] + '' + '#{settings.markets.exchange}'.toUpperCase() + ''); showTopPanelData('supplypanel', 'supplyPanelLoading'); + $("#marketCap").html(splitParts[0] + '.' + splitParts[1] + ''); + showTopPanelData('marketCapPanel', 'marketCapPanelLoading'); + splitParts = diffString.split('.'); $("#difficulty").html(splitParts[0] + '.' + splitParts[1] + ''); @@ -217,17 +218,15 @@ html(lang='en') function getCoinSupplyPanel() { var supplyType=''; if ('#{settings.index.difficulty}' == 'Hybrid') supplyType+='
'; - if (#{settings.index.show_market_cap} == true && #{settings.index.show_market_cap_over_price} != true) supplyType+='
'; return '
#{settings.locale.ex_supply} (#{settings.symbol})
'; } function getPricePanel() { - if (#{settings.index.show_market_cap} == true && #{settings.index.show_market_cap_over_price} == true) { - return '
Market Cap
'; - } else { - var priceType=''; - if ('#{settings.index.difficulty}' == 'Hybrid') priceType+='
'; - return '
Price (#{settings.markets.exchange})
'; - } + var priceType=''; + if ('#{settings.index.difficulty}' == 'Hybrid') priceType+='
'; + return '
Price (#{settings.markets.exchange})
'; + } + function getMarketCapPanel() { + return '
Market Cap (#{settings.markets.exchange})
'; } function getActivePanel(nPanelName) { var sReturn=''; @@ -247,6 +246,9 @@ html(lang='en') case "pricepnl": sReturn=getPricePanel(); break; + case "marketcappnl": + sReturn=getMarketCapPanel(); + break; } return sReturn; }