diff --git a/assets/profile.css b/assets/profile.css
index 0454ec0..c59cc73 100644
--- a/assets/profile.css
+++ b/assets/profile.css
@@ -16,8 +16,8 @@
.circle-progress {
float: left;
position: relative;
- width: 7rem;
- height: 7rem;
+ width: 6rem;
+ height: 6rem;
}
.circle-progress .tooltiptext {
@@ -58,7 +58,7 @@ svg {
}
.language {
- padding-top: 2.5rem;
+ padding-top: 2rem;
margin: auto;
text-align: center;
}
diff --git a/assets/profile.html.eex b/assets/profile.html.eex
index cfba4a5..0570dd5 100644
--- a/assets/profile.html.eex
+++ b/assets/profile.html.eex
@@ -1,4 +1,4 @@
-
+
${profile.user} Level ${profile.level} (${profile.total_xp} XP)
<% if( profile.new_xp > 0 ) { %>
(
@@ -62,5 +62,3 @@
<% } %>
-
-
\ No newline at end of file
diff --git a/src/profile-provider.ts b/src/profile-provider.ts
index 22eda66..c3c7260 100644
--- a/src/profile-provider.ts
+++ b/src/profile-provider.ts
@@ -50,33 +50,32 @@ export class ProfileProvider implements TextDocumentContentProvider {
return [ xpP, nxpP ];
}
- function getSortedArray(profile: any, obj: string): any[] {
+ function getSortedArray(obj: any): any[] {
- let langs = [];
- let languages_object = profile[obj]
- for( let lang in languages_object) {
- let percents = getLevelProgress(languages_object[lang].xps, languages_object[lang].new_xps);
- langs.push(
+ let items = [];
+
+ for( let prop in obj) {
+ let item = obj[prop];
+ let percents = getLevelProgress(item.xps, item.new_xps);
+ items.push(
{
- name: lang,
- level: getLevel(languages_object[lang].xps),
- xp: languages_object[lang].xps,
- new_xp: languages_object[lang].new_xps,
+ name: prop,
+ level: getLevel(item.xps),
+ xp: item.xps,
+ new_xp: item.new_xps,
progress: percents[0],
new_progress: percents[1]
}
);
}
- langs = langs.sort( (a,b) => {return b.xp - a.xp;});
- return langs;
+ return items.sort( (a,b) => {return b.xp - a.xp;});
}
return this.api.getProfile().then(profile => {
let htmlTemplate = fs.readFileSync(this.context.asAbsolutePath("assets/profile.html.eex"));
-
- profile["style"] = this.context.asAbsolutePath("assets/profile.css");
+
profile["level"] = getLevel(profile["total_xp"]);
let percents = getLevelProgress(profile["total_xp"], profile["new_xp"]);
@@ -84,15 +83,12 @@ export class ProfileProvider implements TextDocumentContentProvider {
profile["progress"] = percents[0];
profile["new_progress"] = percents[1];
- let langs = getSortedArray(profile, "languages");
-
- let machines = getSortedArray(profile, "machines");
-
-
-
+ let languages = getSortedArray(profile["languages"]);
+ let machines = getSortedArray(profile["machines"]);
+
let html = template(htmlTemplate);
- return html({profile: profile, languages: langs, machines: machines});
+ return html({profile: profile, languages: languages, machines: machines, style: this.context.asAbsolutePath("assets/profile.css")});
});
}