diff --git a/src/options/main.js b/src/options/main.js
index 6100448..f99ba58 100644
--- a/src/options/main.js
+++ b/src/options/main.js
@@ -22,6 +22,7 @@ const subsRegex = new RegExp(/\/feed\/subscriptions$/, 'i');
document.addEventListener("DOMContentLoaded", () => {
recordEvent('Page View: Options');
+ initAnnouncementBanner();
browser.storage.local.get(localSettings => {
const settings = { ...DEFAULT_SETTINGS, ...localSettings };
const headerSettings = Object.entries(OTHER_SETTINGS).reduce((acc, [id, value]) => {
@@ -403,3 +404,29 @@ function timeLoop() {
updateTimeInfo();
setTimeout(() => timeLoop(), 2_000);
}
+
+
+// Announcement banner
+const ANNOUNCEMENT_KEY = 'announcement_dismissed_premium_coming';
+
+function initAnnouncementBanner() {
+ const banner = document.getElementById('announcement_banner');
+ const dismissBtn = document.getElementById('dismiss_announcement');
+ const closeBtn = document.getElementById('close_announcement');
+ if (!banner) return;
+
+ browser.storage.local.get(ANNOUNCEMENT_KEY, result => {
+ if (!result[ANNOUNCEMENT_KEY]) {
+ banner.removeAttribute('hidden');
+ }
+ });
+
+ dismissBtn?.addEventListener('click', () => {
+ banner.setAttribute('hidden', '');
+ browser.storage.local.set({ [ANNOUNCEMENT_KEY]: true });
+ });
+
+ closeBtn?.addEventListener('click', () => {
+ banner.setAttribute('hidden', '');
+ });
+}