Adding opt-out changelog setting

pull/352/head
Kevin Payravi 2023-11-16 04:07:24 -06:00
parent f1ab372d92
commit efbe4d56d2
3 changed files with 41 additions and 4 deletions

View File

@ -34,10 +34,12 @@ chrome.runtime.onInstalled.addListener(async function (detail) {
chrome.tabs.create({ url: 'settings.html?newinstall=true' });
}
// If update, open changelog
if (detail.reason === 'update') {
chrome.tabs.create({ url: 'https://getindie.wiki/changelog/?updated=true' });
}
// If update, open changelog if setting is enabled
chrome.storage.sync.get({ 'openChangelog': 'on' }, function (item) {
if (item.openChangelog === 'on' && detail.reason === 'update') {
chrome.tabs.create({ url: 'https://getindie.wiki/changelog/?updated=true' });
}
});
// Temporary functions for 3.0 migration
if (detail.reason === 'update') {

View File

@ -530,6 +530,13 @@
independent English wikis when no same-language wiki exists
</label>
</div>
<div class="settingToggle">
<label>
<input id="openChangelogCheckbox" type="checkbox" />
<span id="openChangelogIcon" aria-hidden="true"></span>
Open changelog when Indie Wiki Buddy is updated
</label>
</div>
</fieldset>
<fieldset id="breezewikiSettings">
<legend>

View File

@ -545,6 +545,22 @@ function setCrossLanguage(setting, storeSetting = true) {
}
}
// Set open changelog setting
function setOpenChangelog(setting, storeSetting = true) {
if (storeSetting) {
chrome.storage.sync.set({ 'openChangelog': setting });
}
const openChangelogIcon = document.getElementById('openChangelogIcon');
if (setting === 'on') {
document.getElementById('openChangelogCheckbox').checked = true;
openChangelogIcon.innerText = '📂';
} else {
document.getElementById('openChangelogCheckbox').checked = false;
openChangelogIcon.innerText = '📁';
}
}
// Set BreezeWiki settings
function setBreezeWiki(setting, storeSetting = true) {
if (storeSetting) {
@ -764,6 +780,9 @@ document.addEventListener('DOMContentLoaded', function () {
chrome.storage.sync.get({ 'crossLanguage': 'off' }, function (item) {
setCrossLanguage(item.crossLanguage, false);
});
chrome.storage.sync.get({ 'openChangelog': 'on' }, function (item) {
setOpenChangelog(item.openChangelog, false);
});
chrome.storage.sync.get({ 'breezewiki': 'off' }, function (item) {
setBreezeWiki(item.breezewiki, false);
});
@ -796,6 +815,15 @@ document.addEventListener('DOMContentLoaded', function () {
}
});
});
document.getElementById('openChangelogCheckbox').addEventListener('change', function () {
chrome.storage.sync.get({ 'openChangelog': 'on' }, function (item) {
if (item.openChangelog === 'on') {
setOpenChangelog('off');
} else {
setOpenChangelog('on');
}
});
});
// Add event listeners for BreezeWiki settings
document.getElementById('breezewikiCheckbox').addEventListener('change', function () {