|
@@ -27,10 +27,12 @@
|
|
<div class="column">
|
|
<div class="column">
|
|
<div id="connections" class="ui yellow statustab inverted segment">
|
|
<div id="connections" class="ui yellow statustab inverted segment">
|
|
<h4 class="ui header">
|
|
<h4 class="ui header">
|
|
- <i class="exchange icon"></i>
|
|
|
|
|
|
+ <i class="arrows alternate horizontal icon"></i>
|
|
<div class="content">
|
|
<div class="content">
|
|
- <span></span>
|
|
|
|
- <div class="sub header"></div>
|
|
|
|
|
|
+ <span id="forwardtype"></span>
|
|
|
|
+ <div class="sub header" id="forwardtypeList">
|
|
|
|
+
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</h4>
|
|
</h4>
|
|
</div>
|
|
</div>
|
|
@@ -38,10 +40,12 @@
|
|
<div class="column">
|
|
<div class="column">
|
|
<div id="connections" class="ui pink statustab inverted segment">
|
|
<div id="connections" class="ui pink statustab inverted segment">
|
|
<h4 class="ui header">
|
|
<h4 class="ui header">
|
|
- <i class="exchange icon"></i>
|
|
|
|
|
|
+ <i class="map marker alternate icon"></i>
|
|
<div class="content">
|
|
<div class="content">
|
|
- <span></span>
|
|
|
|
- <div class="sub header"></div>
|
|
|
|
|
|
+ <span id="country"></span>
|
|
|
|
+ <div class="sub header" id="countryList">
|
|
|
|
+
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</h4>
|
|
</h4>
|
|
</div>
|
|
</div>
|
|
@@ -161,6 +165,60 @@
|
|
return newValue + suffixes[suffixNum];
|
|
return newValue + suffixes[suffixNum];
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ function getDailySummaryDetails(){
|
|
|
|
+ function sortObjectByValue(obj) {
|
|
|
|
+ // Convert object to array of [key, value] pairs
|
|
|
|
+ const entries = Object.entries(obj);
|
|
|
|
+
|
|
|
|
+ // Sort array based on value of each pair
|
|
|
|
+ entries.sort((a, b) => {
|
|
|
|
+ return a[1] - b[1];
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ // Convert sorted array back to object
|
|
|
|
+ const sortedObj = {};
|
|
|
|
+ for (const [key, value] of entries) {
|
|
|
|
+ sortedObj[key] = value;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return sortedObj;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $.get("/api/stats/countries", function(data){
|
|
|
|
+ data = sortObjectByValue(data);
|
|
|
|
+ $("#country").text(Object.keys(data)[0] + ": " +data[Object.keys(data)[0]]);
|
|
|
|
+ $("#countryList").html(`
|
|
|
|
+ <div style="color: white;">
|
|
|
|
+ ${(Object.keys(data)[1])?Object.keys(data)[1] + ": " +data[Object.keys(data)[1]]:"-"}<br>
|
|
|
|
+ ${(Object.keys(data)[2])?Object.keys(data)[2] + ": " +data[Object.keys(data)[2]]:"-"}
|
|
|
|
+ </div>
|
|
|
|
+ `);
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ //Filter forward type
|
|
|
|
+ function fft(ft){
|
|
|
|
+ if (ft.indexOf("-") >= 0){
|
|
|
|
+ ft = ft.replace("-", " (");
|
|
|
|
+ ft = ft + ")";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ ft = ft.charAt(0).toUpperCase() + ft.slice(1);
|
|
|
|
+ return ft;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $.get("/api/stats/summary", function(data){
|
|
|
|
+ data = sortObjectByValue(data.ForwardTypes);
|
|
|
|
+ $("#forwardtype").text(fft(Object.keys(data)[0]));
|
|
|
|
+ $("#forwardtypeList").html(`
|
|
|
|
+ <div style="color: white;">
|
|
|
|
+ ${(Object.keys(data)[1])?fft(Object.keys(data)[1]) + ": " +data[Object.keys(data)[1]]:"-"}<br>
|
|
|
|
+ ${(Object.keys(data)[2])?fft(Object.keys(data)[2]) + ": " +data[Object.keys(data)[2]]:"-"}
|
|
|
|
+ </div>
|
|
|
|
+ `);
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ getDailySummaryDetails();
|
|
|
|
+
|
|
|
|
|
|
function getDailySummary(){
|
|
function getDailySummary(){
|
|
$.get("/api/stats/summary?fast=true", function(data){
|
|
$.get("/api/stats/summary?fast=true", function(data){
|