aboutsummaryrefslogtreecommitdiff
path: root/ui/static/js/app.js
diff options
context:
space:
mode:
Diffstat (limited to 'ui/static/js/app.js')
-rw-r--r--ui/static/js/app.js50
1 files changed, 45 insertions, 5 deletions
diff --git a/ui/static/js/app.js b/ui/static/js/app.js
index e75c2ddf..9ef95730 100644
--- a/ui/static/js/app.js
+++ b/ui/static/js/app.js
@@ -221,9 +221,9 @@ function updateEntriesStatus(entryIDs, status, callback) {
request.withBody({entry_ids: entryIDs, status: status});
request.withCallback((resp) => {
resp.json().then(count => {
- if (callback) {
- callback(resp);
- }
+ if (callback) {
+ callback(resp);
+ }
if (status === "read") {
decrementUnreadCounter(count);
@@ -336,7 +336,7 @@ function handleFetchOriginalContent() {
response.json().then((data) => {
if (data.hasOwnProperty("content") && data.hasOwnProperty("reading_time")) {
document.querySelector(".entry-content").innerHTML = data.content;
- document.querySelector(".entry-reading-time").innerHTML = data.reading_time;
+ document.querySelector(".entry-reading-time").innerHTML = data.reading_time;
}
});
});
@@ -557,7 +557,7 @@ function handleConfirmationMessage(linkElement, callback) {
}
linkElement.style.display = "none";
-
+
let containerElement = linkElement.parentNode;
let questionElement = document.createElement("span");
@@ -638,3 +638,43 @@ function handlePlayerProgressionSave(playerElement) {
request.execute();
}
}
+
+/**
+ * handle new share entires and already shared entries
+ */
+function handleShare() {
+ let link = document.querySelector('a[data-share-status]');
+ let title = document.querySelector("body > main > section > header > h1 > a");
+ if (link.dataset.shareStatus === "shared") {
+ checkShareAPI(title, link.href);
+ }
+ if (link.dataset.shareStatus === "share") {
+ let request = new RequestBuilder(link.href);
+ request.withCallback((r) => {
+ checkShareAPI(title, r.url);
+ });
+ request.withHttpMethod("GET");
+ request.execute();
+ }
+}
+
+/**
+* wrapper for Web Share API
+*/
+function checkShareAPI(title, url) {
+ if (!navigator.canShare) {
+ console.error("Your browser doesn't support the Web Share API.");
+ window.location = url;
+ return;
+ }
+ try {
+ navigator.share({
+ title: title,
+ url: url
+ });
+ window.location.reload();
+ } catch (err) {
+ console.error(err);
+ window.location.reload();
+ }
+} \ No newline at end of file