Skip to content

Commit

Permalink
Add Moderator Tab
Browse files Browse the repository at this point in the history
  • Loading branch information
SteakOverCooked authored and SteakOverCooked committed Jan 31, 2018
1 parent 3634718 commit d5d9357
Show file tree
Hide file tree
Showing 4 changed files with 193 additions and 47 deletions.
35 changes: 35 additions & 0 deletions js/sorttable.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

168 changes: 135 additions & 33 deletions js/utopian.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,49 +19,149 @@ function updateStats(api) {
type: "GET",
url: api,
success: function(result) {
var data = [];
var categories = result.stats.categories;
data.push({"category":"Development","posts":categories.development.total_posts})
data.push({"category":"Bug Hunting","posts":categories["bug-hunting"].total_posts})
data.push({"category":"Sub Projects","posts":categories["sub-projects"].total_posts})
data.push({"category":"Documentation","posts":categories.documentation.total_posts})
data.push({"category":"Translations","posts":categories.translations.total_posts})
data.push({"category":"Analysis","posts":categories.analysis.total_posts})
data.push({"category":"Suggestions","posts":categories.ideas.total_posts})
data.push({"category":"Graphics","posts":categories.graphics.total_posts})
data.push({"category":"Tutorials","posts":categories.tutorials.total_posts})
data.push({"category":"Video Tutorials","posts":categories["video-tutorials"].total_posts})
data.push({"category":"Blog","posts":categories.blog.total_posts})
data.push({"category":"Task Requests","posts":categories["task-ideas"].total_posts})
data.push({"category":"Visibility","posts":categories.social.total_posts})
data.push({"category":"Copywriting","posts":categories.copywriting.total_posts})
var chart = AmCharts.makeChart( "chartdiv", {
"type": "pie",
"theme": "light",
"dataProvider": data,
"startDuration":0,
"valueField": "posts",
"titleField": "category",
"balloon":{
"fixedPosition": true
},
"export": {
"enabled": false
}
});
let data = [];
let categories = result.stats.categories;
data.push({"category":"Development", "posts":categories.development.total_posts});
data.push({"category":"Bug Hunting", "posts":categories["bug-hunting"].total_posts});
data.push({"category":"Sub Projects", "posts":categories["sub-projects"].total_posts});
data.push({"category":"Documentation", "posts":categories.documentation.total_posts});
data.push({"category":"Translations", "posts":categories.translations.total_posts});
data.push({"category":"Analysis", "posts":categories.analysis.total_posts});
data.push({"category":"Suggestions", "posts":categories.ideas.total_posts});
data.push({"category":"Graphics", "posts":categories.graphics.total_posts});
data.push({"category":"Tutorials", "posts":categories.tutorials.total_posts});
data.push({"category":"Video Tutorials", "posts":categories["video-tutorials"].total_posts});
data.push({"category":"Blog", "posts":categories.blog.total_posts});
data.push({"category":"Task Requests", "posts":categories["task-ideas"].total_posts});
data.push({"category":"Visibility", "posts":categories.social.total_posts});
data.push({"category":"Copywriting", "posts":categories.copywriting.total_posts});
let chart = AmCharts.makeChart( "chartdiv", {
"type": "pie",
"theme": "light",
"dataProvider": data,
"startDuration": 0,
"valueField": "posts",
"titleField": "category",
"balloon":{
"fixedPosition": true
},
"export": {
"enabled": false
}
});
},
error: function(request, status, error) {
logit('Response: ' + request.responseText);
logit('Error: ' + error );
logit('Status: ' + status);
},
complete: function(data) {
logit("API Finished.");
logit("API Finished: Stats.");
$('img#loading').hide();
}
});
}

function updateModerators(api) {
logit("calling " + api);
$.ajax({
type: "GET",
url: api,
success: function(result) {
let data_cnt = [];
let data_total_paid = [];
let total = result.total;
let arr = result.results;
let id = $('input#steemit_id').val().trim().toLowerCase();
let s = "";
let total_moderated = 0;
let total_paid_steem = 0;
for (let i = arr.length - 1; i --; ) {
let row = arr[i];
if (row["account"] == id) {
s += "<h3>Hello " + id + "!</h3>";
s + "<ul>";
s += "<li>Your supervisor is <B><a target=_blank href='https://steemit.com/@" + row["referrer"] + "'>@" + row["referrer"] + "</B>.</a></li>";
s += "<li>You have moderated <B>" + row["total_moderated"] + "</B> posts.</li>";
s += "<li>You should receive rewards: <B>" + (row["should_receive_rewards"].toFixed(3)) + "</B> STEEM.</li>";
s += "<li>Total paid rewards: <B>" + (row["total_paid_rewards_steem"].toFixed(3)) + "</B> STEEM.</li>";
s += "<li>Percentage of Total Moderator Rewards: <B>" + (row["percentage_total_rewards_moderators"].toFixed(2)) + "</B>% .</li>";
s += "</ul>";
}
data_cnt.push({"moderator": row["account"], "total_moderated": row["total_moderated"]});
data_total_paid.push({"moderator": row["account"], "total_paid_rewards_steem": row["total_paid_rewards_steem"]});
total_moderated += row["total_moderated"];
total_paid_steem += row["total_paid_rewards_steem"];
}
const showtop = 15;
data_cnt.sort(function(a, b) {
return b['total_moderated'] - a['total_moderated'];
});
data_cnt.sort(function(a, b) {
return b['total_paid_rewards_steem'] - a['total_paid_rewards_steem'];
});
// keep the top list
data_cnt = data_cnt.slice(0, showtop);
data_total_paid = data_total_paid.slice(0, showtop);
// sum up the total_moderated
let top = 0;
let top_paid = 0;
for (let i = data_cnt.length - 1; i --; ) {
top += data_cnt[i]['total_moderated'];
}
for (let i = data_total_paid.length - 1; i --; ) {
top_paid += data_total_paid[i]['total_paid_rewards_steem'];
}
data_cnt.push({"moderator": "others", "total_moderated": total_moderated - top});
data_total_paid.push({"moderator": "others", "total_paid_rewards_steem": data_total_paid - top_paid});
let chart_mmoderators_count = AmCharts.makeChart( "chartdiv_moderators_count", {
"type": "pie",
"theme": "light",
"dataProvider": data_cnt,
"startDuration": 0,
"valueField": "total_moderated",
"titleField": "moderator",
"balloon":{
"fixedPosition": true
},
"export": {
"enabled": false
}
});
let chart_mmoderators_paid = AmCharts.makeChart( "chartdiv_moderators_total_paid", {
"type": "pie",
"theme": "light",
"dataProvider": data_total_paid,
"startDuration": 0,
"valueField": "total_paid_rewards_steem",
"titleField": "moderator",
"balloon":{
"fixedPosition": true
},
"export": {
"enabled": false
}
});
s += "<div>";
s += "<ul>"
s += "<li>Total Moderated: <B>" + total_moderated + "</B>.</li>";
s += "<li>Total Paid: <B>" + total_paid_steem.toFixed(3) + "</B> STEEM.</li>";
s += "</ul>";
s += "</div>";
$('div#moderators').html(s);
},
error: function(request, status, error) {
logit('Response: ' + request.responseText);
logit('Error: ' + error );
logit('Status: ' + status);
},
complete: function(data) {
logit("API Finished: Moderators.");
$('img#loading-moderators').hide();
}
});
}

function getVP(id) {
let api = 'https://helloacm.com/api/steemit/account/vp/?id=' + id;
logit("calling " + api);
Expand All @@ -86,7 +186,7 @@ function getVP(id) {
logit('Status: ' + status);
},
complete: function(data) {
logit("API Finished.");
logit("API Finished: VP.");
}
});
}
Expand All @@ -107,7 +207,7 @@ function getRep(id) {
logit('Status: ' + status);
},
complete: function(data) {
logit("API Finished.");
logit("API Finished: Reputation.");
}
});
}
Expand Down Expand Up @@ -153,4 +253,6 @@ document.addEventListener('DOMContentLoaded', function() {
$('textarea#about').val('Application: ' + app_name + '\n' + 'Chrome Version: ' + getChromeVersion());
// general
updateStats("https://api.utopian.io/api/stats");
// load moderator data
updateModerators("https://api.utopian.io/api/moderators");
}, false);
2 changes: 1 addition & 1 deletion manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"name": "Utopian Moderator & Supervisor",
"short_name": "Utopian-IO",
"default_locale": "en",
"version": "0.0.2",
"version": "0.0.3",
"browser_action": {
"default_icon": "icon.png",
"default_title": "Utopian Moderator & Supervisor",
Expand Down
Loading

0 comments on commit d5d9357

Please sign in to comment.