Skip to content
This repository was archived by the owner on Feb 14, 2022. It is now read-only.

Commit c467e18

Browse files
committed
Resolve the review and get exp points from server
1. Fix missed coding style code to k&r style 2. Replace option menu 3. Replace constant exp point table to server based table 4. Fix URL on expectation tier 5. Ignore level 0 problem to calculate total exp point Signed-off-by: Seokho Song <0xdevssh@gmail.com>
1 parent 30c3930 commit c467e18

4 files changed

Lines changed: 16 additions & 21 deletions

File tree

src/content/main.js

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -248,34 +248,37 @@ async function addLevelIndicators() {
248248
var newRowHeader = document.createElement("th")
249249
var newRowDescription = document.createElement("td")
250250

251-
if(!userData && isShowUserTempTier)
252-
{
251+
if(!userData && isShowUserTempTier) {
253252
var acceptPanel = document.querySelector(".panel.panel-default")
254253
var acceptProblems = acceptPanel.querySelectorAll(".problem_number>a")
255254
var totalExpPoint = 0
256255
var promises = [];
256+
var levelData = []
257+
258+
const levelDataResponses = await (await fetch("https://api.solved.ac/exp_table.php")).text()
259+
levelDataResponses.split(',').forEach(level=>levelData.push(parseInt(level)));
257260

258-
for(i = 0; i< acceptProblems.length;i++){
261+
for(i = 0; i< acceptProblems.length;i++) {
259262
var problemId = acceptProblems[i].textContent;
260263
promises[i] = fetch("https://api.solved.ac/problem_level.php?id=" + problemId)
261264
}
262265

263266
responses = await Promise.all(promises);
264-
for(i = 0;i<responses.length;i++){
267+
for(i = 0;i<responses.length;i++) {
265268
data = await responses[i].json()
266-
totalExpPoint+= getExpPointFromLevel(data.level)
269+
if(data.level != 0)
270+
totalExpPoint+= levelData[data.level]
267271
}
268-
272+
269273
var expectLevel = getExpectLevelFromExpPoint(totalExpPoint)
270274
newRowHeader.innerText = "solved.ac 임시티어"
271-
newRowDescription.innerHTML = "<a href=\"https://boj.com/" + userId + "\">"
275+
newRowDescription.innerHTML = "<a href=\"https://www.acmicpc.net/user/" + userId + "\">"
272276
+ "<span class=\"text-" + levelCssClass(expectLevel) + "\">"
273277
+ levelLabel(expectLevel) + "<b>" +userId + "</b>"
274278
+ "</span>"
275279
+ "</a>"
276280
}
277-
else
278-
{
281+
else {
279282
newRowHeader.innerText = "solved.ac"
280283
newRowDescription.innerHTML = "<a href=\"https://solved.ac/" + userData.user_id + "\">"
281284
+ "<span class=\"text-" + levelCssClass(userData.level) + "\">"

src/content/utils.js

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -105,20 +105,12 @@ function algorithmToTag(item, showTagsInEnglish) {
105105
}
106106
}
107107

108-
function getExpPointFromLevel(level){
109-
const levelData = [320, 480, 912, 1642, 2791, 4465, 6698, 9913, 14472, 20840, 29593,
110-
41431, 57588, 79472, 108877, 148072, 200638, 270862, 364309, 488174,
111-
651712, 866777, 1148479, 1515993, 1993531, 2611525, 3408040, 4430452,
112-
5737436, 7401292, 9510661]
113-
return levelData[level]
114-
}
115-
116-
function getExpectLevelFromExpPoint(exp){
108+
function getExpectLevelFromExpPoint(exp) {
117109
const expTable = [0, 4800, 15740, 38720, 83400, 163700, 298000, 785400, 1202800, 1795000, 2834700,
118110
4276000, 6261000, 8982000, 12704000, 18796000, 26842000, 37941000, 52792000,
119111
720000000, 152000000, 213000000, 294000000, 380000000, 639000000, 1000000000,
120112
1200000000, 1500000000]
121-
for(i=0;i<expTable.length-1;i++){
113+
for(i=0;i<expTable.length-1;i++) {
122114
if(expTable[i] < exp && exp < expTable[i+1])
123115
return i+1;
124116
}

src/options/options_logged_info.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ <h1 id="user_id">...</h1>
4444

4545
<div class="option_item" data-key="show_userpage_temp_tier">
4646
<span class="option_caption">
47-
유저페이지 임시티어 보기
47+
사용자 페이지에서 비공식 티어 보기
4848
</span>
4949
<span class="option_switch">
5050
<span class="toggle_knob"></span>

src/options/options_login.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ <h3 class="input_caption">비밀번호</h3>
4848
</div>
4949
<div class="option_item" data-key="show_userpage_temp_tier">
5050
<span class="option_caption">
51-
유저페이지 임시티어 보기
51+
사용자 페이지에서 비공식 티어 보기
5252
</span>
5353
<span class="option_switch">
5454
<span class="toggle_knob"></span>

0 commit comments

Comments
 (0)