From ed2b511762e0a047e09752ecf54f1df5c320ff67 Mon Sep 17 00:00:00 2001 From: Valentin Ivanov Date: Tue, 24 Apr 2018 16:04:39 -0400 Subject: [PATCH] About done --- assets/profile.css | 22 ++++++++++++++++++- assets/profile.html.eex | 21 +++++++++++++++--- ...ileHtmlProvider.ts => profile-provider.ts} | 8 +++++-- src/xp-counter.ts | 6 ++--- 4 files changed, 47 insertions(+), 10 deletions(-) rename src/{profileHtmlProvider.ts => profile-provider.ts} (90%) diff --git a/assets/profile.css b/assets/profile.css index d9da778..0454ec0 100644 --- a/assets/profile.css +++ b/assets/profile.css @@ -20,6 +20,26 @@ height: 7rem; } +.circle-progress .tooltiptext { + visibility: hidden; + width: 120px; + background-color: #ddca7e; + color: black; + text-align: center; + border-radius: 6px; + padding: 5px 0; + + /* Position the tooltip */ + position: absolute; + z-index: 1; +} + +.circle-progress:hover .tooltiptext { + visibility: visible; +} + + + svg { position: absolute; top: 0; @@ -107,7 +127,7 @@ img { -webkit-transition: width .6s ease; -o-transition: width .6s ease; transition: width .6s ease; -} +} .progress-bar-success { background-color: #318245; diff --git a/assets/profile.html.eex b/assets/profile.html.eex index 403707c..cfba4a5 100644 --- a/assets/profile.html.eex +++ b/assets/profile.html.eex @@ -5,18 +5,33 @@ <%= profile.new_xp %>) <% } %> + +
+
+ Level progress ${profile.progress - profile.new_progress}%. +
+
+ Recent level progress ${profile.new_progress}%. +
+
+
<% for( let l in languages) { %>
<%= languages[l].name %> - <%= languages[l].xp %> + <%= languages[l].level %>
+ + Total XP: <%=languages[l].xp %>
+ New XP: <%=languages[l].new_xp%> +
- + +
<% } %> @@ -37,7 +52,7 @@
- Level progress ${machines[m].progress}%. + Level progress ${machines[m].progress - machines[m].new_progress}%.
Recent level progress ${machines[m].new_progress}%. diff --git a/src/profileHtmlProvider.ts b/src/profile-provider.ts similarity index 90% rename from src/profileHtmlProvider.ts rename to src/profile-provider.ts index 2b5506f..22eda66 100644 --- a/src/profileHtmlProvider.ts +++ b/src/profile-provider.ts @@ -13,7 +13,7 @@ import { CodeStatsAPI } from "./code-stats-api"; import template = require('lodash.template'); -export class ProfileHtmlProvider implements TextDocumentContentProvider { +export class ProfileProvider implements TextDocumentContentProvider { onDidChange?: Event; api: CodeStatsAPI; @@ -41,7 +41,7 @@ export class ProfileHtmlProvider implements TextDocumentContentProvider { let curLevelXp = getNextLevelXp(level - 1); let nextLevelXp = getNextLevelXp(level); - let haveXp = (xp-new_xp) - curLevelXp; + let haveXp = xp - curLevelXp; let needXp = nextLevelXp - curLevelXp; @@ -79,6 +79,10 @@ export class ProfileHtmlProvider implements TextDocumentContentProvider { profile["style"] = this.context.asAbsolutePath("assets/profile.css"); profile["level"] = getLevel(profile["total_xp"]); + let percents = getLevelProgress(profile["total_xp"], profile["new_xp"]); + + profile["progress"] = percents[0]; + profile["new_progress"] = percents[1]; let langs = getSortedArray(profile, "languages"); diff --git a/src/xp-counter.ts b/src/xp-counter.ts index 9d7dfc0..bda4189 100644 --- a/src/xp-counter.ts +++ b/src/xp-counter.ts @@ -6,8 +6,6 @@ import { Uri, ViewColumn, commands, - Event, - CancellationToken, StatusBarItem, TextDocument, StatusBarAlignment, @@ -18,7 +16,7 @@ import { } from "vscode"; import { Pulse } from "./pulse"; import { CodeStatsAPI } from "./code-stats-api"; -import { ProfileHtmlProvider } from "./profileHtmlProvider"; +import { ProfileProvider } from "./profile-provider"; export class XpCounter { private combinedDisposable: Disposable; @@ -53,7 +51,7 @@ export class XpCounter { this.statusBarItem.command = "code-stats.profile"; } - let provider = new ProfileHtmlProvider(context, this.api); + let provider = new ProfileProvider(context, this.api); let registration = workspace.registerTextDocumentContentProvider('code-stats', provider);