From 24189fff298a8c632900e737d640acc79719340e Mon Sep 17 00:00:00 2001 From: Kevin Payravi Date: Thu, 27 Apr 2023 01:15:36 -0400 Subject: [PATCH] Adding review reminder banner Appears every 5 loads of settings page, and if the user hasn't dismissed it --- settings.html | 20 ++++++++++++++++++++ settings.js | 21 +++++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/settings.html b/settings.html index 30dbc59..c0d9c8a 100644 --- a/settings.html +++ b/settings.html @@ -90,6 +90,15 @@ color: #3174f1; } + /* NOTIFICATIONS */ + #notificationBanner { + display: none; + background-color: #f8f3d6; + font-size: .9em; + line-height: 1.2em; + padding: 1em; + } + /* GLOBAL SETTINGS SECTION */ .options { margin: 0 auto; @@ -271,6 +280,17 @@ >Source Code +
+ Enjoying Indie Wiki Buddy? Please leave a review! +
+ Chrome +   |   + Firefox +   |   + Hide this message +

+ Having issues or ideas for improvement? Please contact me! +

Global settings

diff --git a/settings.js b/settings.js index ec95b1e..a585eff 100644 --- a/settings.js +++ b/settings.js @@ -436,6 +436,27 @@ function setBreezeWiki(setting) { // Main function that runs on-load document.addEventListener('DOMContentLoaded', function () { + // Count number of times settings have been opened + // Purposefully using local storage instead of sync + chrome.storage.local.get({ 'countSettingsOpened': 0 }, function (item) { + const countSettingsOpened = item.countSettingsOpened; + chrome.storage.local.set({ 'countSettingsOpened': countSettingsOpened + 1 }); + + // Show review reminder every 5 opens, + // and if the banner hasn't been previously dismissed + chrome.storage.local.get({ 'hideReviewReminder': false }, function (item) { + if (!item.hideReviewReminder && ((countSettingsOpened - 1) % 5 === 0)) { + document.getElementById('notificationBanner').style.display = 'block'; + + // Hide review reminder if user clicks 'hide' link: + document.getElementById('hideReviewReminderLink').addEventListener('click', function () { + chrome.storage.local.set({ 'hideReviewReminder': true }); + document.getElementById('notificationBanner').style.display = 'none'; + }); + } + }); + }); + // Adding version to popup: const version = chrome.runtime.getManifest().version; document.getElementById('version').textContent = 'v' + version;