diff --git a/css/style.css b/css/style.css index 01034eb..64a735b 100644 --- a/css/style.css +++ b/css/style.css @@ -184,8 +184,7 @@ body { background-color: rgb(201, 202, 203); } -.character-copied, -div#review-message { +.character-copied, div#review-message, div#opened-addon-message { position: fixed; bottom: 3px; right: 30%; @@ -201,7 +200,7 @@ div#review-message { padding: 5px; margin: 0px; border: 0px solid transparent; - font-weight: bold; + font-weight: normal; font-family: open-sans, sans-serif; } @@ -279,6 +278,14 @@ div#top-message { font-size: 16px; } +.font-size-18 { + font-size: 18px; +} + +.font-size-20 { + font-size: 20px; +} + .font-size-22 { font-size: 22px; } @@ -331,13 +338,13 @@ div#top-message { margin-top: 20px; } -div#review-message { +div#review-message, div#opened-addon-message { top: 5px; bottom: auto; left: 5px; right: 5px; padding: 10px; - font-size: 18px; + font-size: 16px; z-index: 10; font-weight: bold; } @@ -365,7 +372,7 @@ button.review-button, button.message-button { height: 30px; } -div#review-message-buttons, div#top-message-buttons { +div#review-message-buttons, div#top-message-buttons, div.message-buttons-container { display: block; text-align: right; margin: 0px; @@ -792,4 +799,28 @@ div { .hidden { display: none; +} + +.text-left { + text-align: left; +} + +.text-right { + text-align: right; +} + +.text-center { + text-align: center; +} + +.padding-5 { + padding: 5px; +} + +.padding-10 { + padding: 10px; +} + +.font-bold { + font-weight: bold; } \ No newline at end of file diff --git a/js/script.js b/js/script.js index c480cb3..9c1e68a 100644 --- a/js/script.js +++ b/js/script.js @@ -60,6 +60,7 @@ function loaded() { focusSearchBox(); checkReview(); + checkOpenedAddon(); showNewsInRelease(); } @@ -489,6 +490,44 @@ function showReviewAddonMessage() { button_review_now_element.focus(); } +function showOpenedAddonMessage(numberOpened) { + let message_element = document.createElement("div"); + message_element.id = "opened-addon-message"; + message_element.innerHTML = "" + + "
😍" + + "You opened this add-on exactly " + numberOpened + " times from the installation!
" + + "
If you like the add-on, please consider to buy me a coffee on PayPal to support my work.
" + + "
"; + document.getElementById("popup-content").append(message_element); + + let background_opacity = document.createElement("div"); + background_opacity.className = "background-opacity"; + background_opacity.id = "background-opacity-opened-addon"; + document.getElementById("popup-content").append(background_opacity); + + let button_donate_element = document.createElement("button"); + button_donate_element.onclick = function () { + browserAgentSettings.tabs.create({url: linkDonate[0]}); + window.close(); + }; + button_donate_element.className = "message-button"; + button_donate_element.id = "opened-addon-button-donate"; + button_donate_element.innerHTML = "Buy me a coffee on PayPal ☕"; + + let button_later_element = document.createElement("button"); + button_later_element.onclick = function () { + hideOpenedAddonMessage(); + }; + button_later_element.className = "message-button"; + button_later_element.id = "opened-addon-button-later"; + button_later_element.innerHTML = "Maybe another time"; + + document.getElementById("opened-addon-message-buttons").append(button_donate_element); + document.getElementById("opened-addon-message-buttons").append(button_later_element); + + button_donate_element.focus(); +} + function showMessageTop(text) { let message_element = document.createElement("div"); message_element.id = "top-message"; @@ -573,6 +612,34 @@ function hideReviewMessage() { hideElement("background-opacity-review"); } +function incrementOpenedAddon(value) { + value += 1; + browserAgentSettings.storage.sync.set({"opened-addon": value}, function () { + }); +} + +function checkOpenedAddon() { + + browserAgentSettings.storage.sync.get("opened-addon", function (value) { + let currentValue = 0; + if (value["opened-addon"] != undefined) { + currentValue = value["opened-addon"]; + } + incrementOpenedAddon(currentValue); + + currentValue++ + + if (currentValue == 1000 || currentValue == 100000 || currentValue == 1000000 || currentValue == 10000000) { + showOpenedAddonMessage(currentValue); + } + }) +} + +function hideOpenedAddonMessage() { + hideElement("opened-addon-message"); + hideElement("background-opacity-opened-addon"); +} + function searchEmoji(value) { emojis[0] = {}; let n_results = 0; diff --git a/manifest.json b/manifest.json index 159ea49..47b2a4b 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 2, "name": "Emoji", - "version": "3.9.1", + "version": "3.9.2", "description": "It permits just with a single click to copy an emoji.", "icons": { "16": "./img/icon-dark-16.png",