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",