diff --git a/_locales/en/messages.json b/_locales/en/messages.json
index ed277dc8..f34542a7 100644
--- a/_locales/en/messages.json
+++ b/_locales/en/messages.json
@@ -308,5 +308,11 @@
},
"hoursLower": {
"message": "hours"
+ },
+ "youHaveSavedTime": {
+ "message": "You have saved people"
+ },
+ "youHaveSavedTimeEnd": {
+ "message": " of their lives."
}
}
diff --git a/popup.html b/popup.html
index e673eecb..3e96de4d 100644
--- a/popup.html
+++ b/popup.html
@@ -130,6 +130,16 @@
.
+
+
diff --git a/popup.js b/popup.js
index 476a09cb..d51fac4b 100644
--- a/popup.js
+++ b/popup.js
@@ -56,6 +56,10 @@ function runThePopup() {
"sponsorTimesViewsContainer",
"sponsorTimesViewsDisplay",
"sponsorTimesViewsDisplayEndWord",
+ // sponsorTimesOthersTimeSaved
+ "sponsorTimesOthersTimeSavedContainer",
+ "sponsorTimesOthersTimeSavedDisplay",
+ "sponsorTimesOthersTimeSavedEndWord",
// sponsorTimesSkipsDone
"sponsorTimesSkipsDoneContainer",
"sponsorTimesSkipsDoneDisplay",
@@ -244,6 +248,23 @@ function runThePopup() {
}
}
});
+
+ //get this time in minutes
+ sendRequestToServer("GET", "/api/getSavedTimeForUser?userID=" + userID, function(xmlhttp) {
+ if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
+ let minutesSaved = JSON.parse(xmlhttp.responseText).timeSaved;
+ if (minutesSaved != 0) {
+ if (minutesSaved != 1) {
+ SB.sponsorTimesOthersTimeSavedEndWord.innerText = chrome.i18n.getMessage("minsLower");
+ } else {
+ SB.sponsorTimesOthersTimeSavedEndWord.innerText = chrome.i18n.getMessage("minLower");
+ }
+
+ SB.sponsorTimesOthersTimeSavedDisplay.innerText = getFormattedHours(minutesSaved);
+ SB.sponsorTimesOthersTimeSavedContainer.style.display = "unset";
+ }
+ }
+ });
}
});
}
@@ -272,7 +293,7 @@ function runThePopup() {
SB.sponsorTimeSavedEndWord.innerText = chrome.i18n.getMessage("minLower");
}
- SB.sponsorTimeSavedDisplay.innerText = result.minutesSaved.toFixed(2);
+ SB.sponsorTimeSavedDisplay.innerText = getFormattedHours(result.minutesSaved);
SB.sponsorTimeSavedContainer.style.display = "unset";
}
});
@@ -1413,6 +1434,18 @@ function runThePopup() {
//submit this request
xmlhttp.send();
}
+
+ /**
+ * Converts time in hours to 5h 25.1
+ * If less than 1 hour, just returns minutes
+ *
+ * @param {float} seconds
+ * @returns {string}
+ */
+ function getFormattedHours(minues) {
+ let hours = Math.floor(minues / 60);
+ return (hours > 0 ? hours + "h " : "") + (minues % 60).toFixed(1);
+ }
//end of function
}