diff --git a/popup/popup.css b/popup/popup.css
index 51fcbe5..be8615e 100644
--- a/popup/popup.css
+++ b/popup/popup.css
@@ -18,6 +18,14 @@
opacity: 1;
}
+.smooth-text {
+ transition: opacity 0.5s;
+ opacity: 1;
+}
+
+.smooth-text.hide {
+ opacity: 0;
+}
body {
min-width: 375px;
diff --git a/popup/popup.html b/popup/popup.html
index 6cd526f..63b2fa1 100644
--- a/popup/popup.html
+++ b/popup/popup.html
@@ -88,7 +88,7 @@
- Status: Inactive
+ Status: Inactive
diff --git a/popup/popup.js b/popup/popup.js
index f2aed9e..f350352 100644
--- a/popup/popup.js
+++ b/popup/popup.js
@@ -1,3 +1,13 @@
+function smoothTextChange(element, newText) {
+ // Temporarily hide the element
+ element.classList.add('hide');
+
+ setTimeout(() => {
+ element.innerText = newText;
+ element.classList.remove('hide');
+ }, 500); // Wait for the transition to finish
+}
+
(async function() {
const $version = await new Promise(r => chrome.management.getSelf(self => r(self.version)));
@@ -25,7 +35,8 @@
// update status
chrome.storage.onChanged.addListener((changes, area) => {
if (changes.__status)
- document.getElementById("status").innerText = changes.__status.newValue;
+ // document.getElementById("status").innerText = changes.__status.newValue;
+ smoothTextChange(document.getElementById("status"), changes.__status.newValue);
});
// activate checkbox
@@ -113,8 +124,8 @@
${c} |
- ${consulates[c].currentDate || "-"} |
- ${consulates[c].bestDate || "-"} |
+ ${consulates[c].currentDate || "-"} |
+ ${consulates[c].bestDate || "-"} |
@@ -139,10 +150,16 @@
});
// update current & best dates
chrome.storage.onChanged.addListener((changes, area) => {
- if (changes.__consulates && changes.__consulates.newValue[c].currentDate)
- document.getElementById(`currentDate-${cId}`).innerText = changes.__consulates.newValue[c].currentDate;
- if (changes.__consulates && changes.__consulates.newValue[c].bestDate)
- document.getElementById(`bestDate-${cId}`).innerText = changes.__consulates.newValue[c].bestDate;
+ if (changes.__consulates && changes.__consulates.newValue[c].currentDate) {
+ let el = document.getElementById(`currentDate-${cId}`);
+ if (el.innerText != changes.__consulates.newValue[c].currentDate)
+ smoothTextChange(document.getElementById(`currentDate-${cId}`), changes.__consulates.newValue[c].currentDate);
+ }
+ if (changes.__consulates && changes.__consulates.newValue[c].bestDate) {
+ let el = document.getElementById(`bestDate-${cId}`);
+ if (el.innerText != changes.__consulates.newValue[c].bestDate)
+ smoothTextChange(document.getElementById(`bestDate-${cId}`), changes.__consulates.newValue[c].bestDate);
+ }
});
}
|