diff --git a/backgroundScripts/background.js b/backgroundScripts/background.js index bad30fe..e981036 100644 --- a/backgroundScripts/background.js +++ b/backgroundScripts/background.js @@ -17,8 +17,8 @@ var defaults = { "/filmvideo/animation/" ], }], - }, -]; + defaultSearchSort: 'publish_date', + defaultSearchOrder: 'desc', storageSchema: 1 // Increment this when data format changes }; @@ -26,15 +26,21 @@ chrome.runtime.onInstalled.addListener(function(details){ if(details.reason === "install"){ chrome.storage.sync.set(defaults); chrome.storage.sync.set({ 'categories': defaults.defaultCategories}); + chrome.storage.sync.set({ 'searchSort': defaults.defaultSearchSort}); + chrome.storage.sync.set({ 'searchOrder': defaults.defaultSearchOrder}); } else if(details.reason === "update"){ migrateData(); } }); function migrateData() { - if(details.reason == "install"){ - chrome.storage.sync.set({ 'defaultCategories': categories}); - chrome.storage.sync.set({ 'categories': categories}); + // Handle migration from 1.0-1.1 to 1.2 + chrome.storage.sync.get('storageSchema', function (data) { + if (!data) { + chrome.storage.sync.set({ 'searchSort': defaults.defaultSearchSort}); + chrome.storage.sync.set({ 'searchOrder': defaults.defaultSearchOrder}); + } + }); // This pulls stored values, falling back to defaults, if none chrome.storage.sync.get(defaults, function (data) { var migrated = false; @@ -50,7 +56,7 @@ function migrateData() { default: throw new Error(`Unrecognized storage schema ${data.storageSchema}!`); } - } + } chrome.storage.sync.set(defaults); -}); + }); } diff --git a/contentScripts/allPages/allPages.js b/contentScripts/allPages/allPages.js index 6ee3f4a..917aac9 100644 --- a/contentScripts/allPages/allPages.js +++ b/contentScripts/allPages/allPages.js @@ -4,4 +4,15 @@ injectScript(chrome.extension.getURL('/contentScripts/allPages/accessAllPages.js /* disable annoying fuckn popup */ popup = document.querySelector('div.ad-alert-wrapper'); if(popup && popup.style.display !== "none") - document.querySelector('button.ad-alert-message-continue-btn').click() \ No newline at end of file + document.querySelector('button.ad-alert-message-continue-btn').click() + +/* Retrieve credentials from Google Storage*/ +chrome.storage.sync.get(['searchOrder', 'searchSort'], function(value){ + /* Update links to order and filter them with our values */ + if(value.searchOrder && value.searchSort){ + var elements = document.querySelectorAll('a[href$="do=search"]'); + for (var i = 0; i < elements.length; i++) { + elements[i].href += '&order=' + value.searchOrder +'&sort=' + value.searchSort; + } + } +}); diff --git a/options/options.html b/options/options.html index 9526006..28bc105 100644 --- a/options/options.html +++ b/options/options.html @@ -38,6 +38,25 @@ Ygg token: +