diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a480dd60..122999da 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -20,7 +20,7 @@ jobs: strategy: matrix: - node-version: [16.13] + node-version: [20] steps: - uses: actions/checkout@v3 diff --git a/css/dark-theme.scss b/css/dark-theme.scss index 96373721..6d695923 100644 --- a/css/dark-theme.scss +++ b/css/dark-theme.scss @@ -6368,16 +6368,16 @@ button[class*="_secondary"] { border: 1px solid var(--borders) !important; - background: var(--input-bg) !important; + background: var(--button-secondary) !important; div { color: var(--text-normal) !important; } &:hover { - background: var(--black) !important; + background: var(--button-secondary-hover) !important; div { - color: var(--white) !important; + color: var(--black) !important; } } } @@ -6405,16 +6405,16 @@ button[class*="_secondary"] { border: 1px solid var(--borders) !important; - background: var(--input-bg) !important; - + background: var(--button-secondary) !important; div { color: var(--text-normal) !important; } + &:hover { - background: var(--black) !important; + background: var(--button-secondary-hover) !important; div { - color: var(--white) !important; + color: var(--black) !important; } } @@ -6528,7 +6528,7 @@ } .MuiDataGrid-row.Mui-selected { - background-color: var(--modified-cart-bg) !important; + background-color: var(--history-hover) !important; } .MuiMenuItem-root.MuiMenuItem-gutters:hover { @@ -6547,7 +6547,7 @@ } .MuiDataGrid-row:hover { - background: var(--history-highlight) !important; + background: var(--input-bg) !important; } .Mui-checked svg path, diff --git a/html/learn.html b/html/learn.html index 41528f22..b3f0d4d3 100644 --- a/html/learn.html +++ b/html/learn.html @@ -213,6 +213,17 @@
Reduces the overall white space in the header section of the Collection page, removes the top pagination navigation links, reduces font sizes, and moves some UI elements around in order to mimic the old Collection page layout.
+ + +To set a value, click on the feature name to open the submenu. Enter the minimum rating value a release should exceed in order to be tagged in red. Then turn the option on and refresh your page.
The Inventory Scanner is a feature for Sellers that will scan a single page of your inventory and mark any release that is a set percentage below the median Marketplace price.
-Note: I have only tested this with listings in USD. If you use a different currency and have issues please let me know!
- - -You can set the set the percentage threshold in the popup - it can be any value between 0 and 99:
- - -Then view your inventory and click "Scan Inventory". The scanner will comb through your items from top to bottom and mark any items that are below the median value with a green flag:
- - -Shoutout to TheMightyChew for suggesting this feature!
-Compact Collection Header
+ + +Confirm Before Removing Items
@@ -684,42 +708,6 @@Large B.A.O.I. Fields
diff --git a/img/learn/compact-collection-after.jpg b/img/learn/compact-collection-after.jpg new file mode 100644 index 00000000..3657b22b Binary files /dev/null and b/img/learn/compact-collection-after.jpg differ diff --git a/img/learn/compact-collection-before.jpg b/img/learn/compact-collection-before.jpg new file mode 100644 index 00000000..807fc0bf Binary files /dev/null and b/img/learn/compact-collection-before.jpg differ diff --git a/js/extension/background.js b/js/extension/background.js index 4a7ebf87..6106140f 100644 --- a/js/extension/background.js +++ b/js/extension/background.js @@ -24,6 +24,7 @@ let prefs = { confirmBeforeRemoving: false, collectionBoxFix: false, compactArtist: false, + compactCollection: false, converter: true, darkTheme: false, darkThemeVariant: '', @@ -46,7 +47,6 @@ let prefs = { hideMinMaxColumns: false, highlightMedia: true, inventoryRatings: false, - inventoryScanner: false, notesCount: true, quickSearch: false, quickSearchTracklists: false, @@ -112,7 +112,6 @@ let featureDefaults = { }, favoriteList: { list: [] }, filterPrices: { minimum: 0, maximum: 100 }, - inventoryScanner: { threshold: 20 }, linksInTabs: { artists: false, collection: false, diff --git a/js/extension/features/compact-collection-header.js b/js/extension/features/compact-collection-header.js new file mode 100644 index 00000000..59f69597 --- /dev/null +++ b/js/extension/features/compact-collection-header.js @@ -0,0 +1,68 @@ + +rl.ready(() => { + + if ( rl.pageIs('collection') ) { + + let rules = /*css*/` + #collection-stats { + display: flex; + margin-top: .5rem; + } + #collection-stats header { + margin-right: 2rem; + } + + [class*="content_"] { + margin-top: 1rem; + } + [class*="itemTitle_"] { + font-size: .875rem; + } + [class*="itemData_"] { + line-height: 16px; + } + [class*="viewAndShow_"]{ + width: 250px !important; + } + [class*="horizontalLinks_"] ul { + padding: 0 .5rem; + } + + [class*="format_item_"], + [class*="released_"], + [class*="folderActionBtn_"], + [class*="markup_"], + .MuiSelect-select, + .MuiTypography-labelSmall, + .MuiDataGrid-cell--withRenderer, + .MuiDataGrid-cellContent { + font-size: 13px !important; + } + `; + rl.attachCss('collection-page', rules); + + let collectionItems = 'div[class*="MuiDataGrid-cell--withRenderer"]'; + + rl.waitForElement(collectionItems).then(() => { + + setTimeout(() => { + let layoutBtns = document.querySelector('div[class*="viewAndShow_"]'), + bulkActionsRow = document.querySelector('[class*="collectionControls_"]'); + + // Don't run when viewing someone else's collection + if (!bulkActionsRow) return; + // Relocate Layout buttons + bulkActionsRow.insertAdjacentElement('beforeend', layoutBtns); + document.querySelector('[class*="pagerAndViewContainer_"]').style.display = 'none'; + + let manageBtns = document.querySelector('div[class*="pageHeadLinks_"]'), + navButtons = document.querySelector('nav[class*="horizontalLinks_"]'); + + // Relocate Manage / Export links + navButtons.insertAdjacentElement('beforeend', manageBtns); + document.querySelector('[class*="pageNameAndLinks_"]').style.display = 'none'; + }, 100); + }); + } +}); + diff --git a/js/extension/features/inventory-scanner.js b/js/extension/features/inventory-scanner.js deleted file mode 100644 index 6457cd8f..00000000 --- a/js/extension/features/inventory-scanner.js +++ /dev/null @@ -1,202 +0,0 @@ -/** - * - * Discogs Enhancer - * - * @author: Matthew Salcido - * @website: http://www.msalcido.com - * @github: https://github.com/salcido - */ - -rl.ready(() => { - if ( rl.pageIs('inventory') ) { - - let opts = rl.getPreference('scan'), - releases = [...document.querySelectorAll('.left.item_name a[href^="/release"]')].map(r => r.href), - flags = [...document.querySelectorAll('tr.shortcut_navigable td:nth-child(6)')], - button = document.createElement('button'), - { inventoryScanner: threshold } = rl.getPreference('featureData'), - inventoryPrices = [...document.querySelectorAll('tr.shortcut_navigable td:nth-child(7)')] - .map(r => Number(r.textContent.match(/\d+./g).join(''))); - - const BUTTON_INIT = 'Scan Inventory', - BUTTON_IN_PROGRESS = 'Scanning...', - BUTTON_COMPLETE = 'Scan Complete', - PERCENT_BELOW = Number(threshold) / 100 || 0, - DELAY = opts && opts.int ? Number(opts.int) : 1000; - - // ======================================================== - // Functions - // ======================================================== - /** - * Delays a promise for a specified amount of time - * @param {Number} ms - The request delay time in milliseconds - * @returns {Promise} - */ - function promiseDelay(ms) { - return new Promise(resolve => setTimeout(resolve, ms)); - } - - /** - * Appends preloading spinners to the page while - * the fetch requests are running. - */ - function appendSpinners() { - flags.forEach(flag => { - if (!flag.querySelector('span')) { - flag.querySelector('div').className = 'icon icon-spinner icon-spin'; - flag.querySelector('div').style = 'font-size: xx-small;'; - } - }); - } - - /** - * Appends a "Scan Inventory" button to the - * first `.action-buttons` element - */ - function appendButton() { - let actionButtons = document.querySelector('.action-buttons'); - - button.className = 'buy_release_button button button-green de-scan-inventory'; - button.style = 'margin-right: 28px;'; - button.textContent = BUTTON_INIT; - - actionButtons.insertBefore(button, document.querySelector('.action-buttons a')); - } - - /** - * Fetches a page and extracts the median price - * @param {String} url - The URL to fetch data from - * @returns {Number} - The median price of the item - */ - async function fetchRelease(url) { - - try { - - let response = await fetch(url), - data = await response.text(), - div = document.createElement('div'), - digits = /\d+./g, - priceSelector = '#release-stats ul:nth-child(2) li:nth-child(3)', - priceString, - priceNumber; - - div.innerHTML = data; - priceString = div.querySelector(priceSelector).textContent.match(digits) || 0; - priceNumber = Number(priceString.join('')); - - return priceNumber; - - } catch (err) { - return 0; - } - } - - /** - * Iterates over an array of release urls and appends - * flags when necessary - * @param {Array} urls - An array of urls to request - * @param {Number} delay - The time in milliseconds to delay each request - * @returns {Array} - An array of median prices for each URL - */ - async function scanReleases(urls, delay) { - - let responses = [], - index = 0; - - appendSpinners(); - - button.disabled = true; - button.textContent = BUTTON_IN_PROGRESS; - - for ( let url of urls ) { - - try { - - if ( flags[index].querySelector('div') ) { - - flags[index].querySelector('div').className = ''; - - let medianPrice = await fetchRelease(url), - offset = medianPrice * PERCENT_BELOW, - newMedian = medianPrice - offset; - - if (inventoryPrices[index] < newMedian) { - flags[index].classList.add('green'); - } - - index++; - responses.push(medianPrice); - } else { - index++; - responses.push(null); - } - - } catch (err) { - index++; - responses.push(null); - } - await promiseDelay(delay); - } - - button.textContent = BUTTON_COMPLETE; - return responses; - } - - /** - * Resets the scanner so that it can be called - * again on subsequent pages - */ - function resetScanner() { - document.querySelector('.de-scan-inventory').textContent = BUTTON_INIT; - document.querySelector('.de-scan-inventory').disabled = false; - - modifyReleaseURLs(); - - releases = [...document.querySelectorAll('.left.item_name a[href^="/release"]')].map(r => r.href); - flags = [...document.querySelectorAll('tr.shortcut_navigable td:nth-child(6)')]; - inventoryPrices = [...document.querySelectorAll('tr.shortcut_navigable td:nth-child(7)')] - .map(r => Number(r.textContent.match(/\d+./g).join(''))); - } - - function modifyReleaseURLs() { - [...document.querySelectorAll('.left.item_name a[href^="/release"]')].forEach(url => { - url.target = '_blank'; - }); - } - - // ======================================================== - // CSS - // ======================================================== - let rules = /*css*/` - td.green div { - border-top: 8px solid #60C43F; - border-right: 8px solid white; - width: 1px; - }`; - - // ======================================================== - // DOM Setup - // ======================================================== - rl.attachCss('inventory-scanner', rules); - appendButton(); - modifyReleaseURLs(); - - document.querySelector('.de-scan-inventory').addEventListener('click', (event) => { - event.preventDefault(); - scanReleases(releases, DELAY).then(res => res); - }); - - rl.handlePaginationClicks(resetScanner); - } -}); -/** -// ======================================================== -Do not stand still, boast yo' skills -Close but no krills, toast for po' nils, post no bills -Coast to coast Joe Shmoe's flows ill, go chill -Not supposed to overdose No-Doz pills -Off pride tykes talk wide through scar meat -Off sides like how Worf rides with Starfleet -https://www.discogs.com/Doom-And-Madlib-Madvillain-Madvillainy/release/242785 -// ======================================================== - */ diff --git a/js/extension/user-preferences.js b/js/extension/user-preferences.js index b0fd6fc3..fa65cd5b 100644 --- a/js/extension/user-preferences.js +++ b/js/extension/user-preferences.js @@ -39,7 +39,6 @@ let defaults = { }, favoriteList: { list: [] }, filterPrices: { minimum: null, maximum: null }, - inventoryScanner: { threshold: null }, linksInTabs: { artists: false, collection: false, @@ -94,7 +93,6 @@ function migratePreferences() { discriminators = up.discriminators || defaults.discriminators, favoriteList = up.favoriteList || defaults.favoriteList, filterPrices = up.filterPrices || defaults.filterPrices, - inventoryScanner = up.inventoryScanner || defaults.inventoryScanner, linksInTabs = up.linksInTabs || defaults.linksInTabs, mediaCondition = up.mediaCondition || defaults.mediaCondition, minimumRating = up.inventoryRatings || defaults.minimumRating, @@ -111,7 +109,6 @@ function migratePreferences() { discriminators, favoriteList, filterPrices, - inventoryScanner, linksInTabs, mediaCondition, minimumRating, @@ -495,6 +492,17 @@ appendFragment([resourceLibrary]) elems.push(blockSellers_css); } + if (prefs.compactCollection) { + + let compactCollection = document.createElement('script'); + + compactCollection.type = 'text/javascript'; + compactCollection.src = chrome.runtime.getURL('js/extension/features/compact-collection-header.js'); + compactCollection.className = 'de-init'; + + elems.push(compactCollection); + } + if (prefs.confirmBeforeRemoving) { let confirmBeforeRemoving = document.createElement('script'); @@ -871,18 +879,6 @@ appendFragment([resourceLibrary]) elems.push(inventoryRatings); } - if (prefs.inventoryScanner) { - - // inventory-scanner.js - let inventoryScanner = document.createElement('script'); - - inventoryScanner.type = 'text/javascript'; - inventoryScanner.src = chrome.runtime.getURL('js/extension/features/inventory-scanner.js'); - inventoryScanner.className = 'de-init'; - - elems.push(inventoryScanner); - } - if (prefs.randomItem) { // random-item.js @@ -1232,7 +1228,6 @@ appendFragment([resourceLibrary]) delete oldPrefs.discriminators; delete oldPrefs.favoriteList; delete oldPrefs.filterPrices; - delete oldPrefs.inventoryScanner; delete oldPrefs.linksInTabs; delete oldPrefs.mediaCondition; delete oldPrefs.minimumRating; diff --git a/js/popup/change-log.js b/js/popup/change-log.js index 59ef35a3..b8146fec 100644 --- a/js/popup/change-log.js +++ b/js/popup/change-log.js @@ -1,7 +1,11 @@ module.exports = { current: [ { - features: [], + features: [{ + name: 'Compact Collection Header', + description: 'Reduces the white space, font sizes, and rearranges UI elements on the Collection header in order to mimic the old Collection page.', + link: '#compactCollection' + }], removedFeatures: [{ name: 'Everlasting Collection', description: 'Everlasting Collection has been removed since it\'s incompatible with the new Collection page.', @@ -16,7 +20,7 @@ module.exports = { description: 'Quick Search has been updated to work with the new changes Discogs rolled out this week.' }, ], - thanks: ['Huge thank you to Joe B, Rob P. Bart, and Semen I. for their donations!'], + thanks: ['Huge thank you to VegetableVillage, Joe B, Rob P. Bart, and Semen I. for their donations!'], }, ], previous: [] diff --git a/js/popup/popup-logic/features/inventory-scanner.js b/js/popup/popup-logic/features/inventory-scanner.js deleted file mode 100644 index 98d10476..00000000 --- a/js/popup/popup-logic/features/inventory-scanner.js +++ /dev/null @@ -1,117 +0,0 @@ -/** - * inventory-scanner feature - */ - -import { applySave, setEnabledStatus, optionsToggle } from '../utils'; - -/** - * Sets up the event listeners for the Inventory Scanner UI - * @returns {undefined} - */ -export function init() { - // Expand and show the submenu - document.querySelector('.toggle-group.inventory-scanner-wrap').addEventListener('click', function() { - optionsToggle('#inventoryScanner', this, '.inventory-scanner-wrap', 110); - }); - // Set "enabled/disabled" status - document.getElementById('toggleInventoryScanner').addEventListener('change', function() { - let self = document.querySelector('.toggle-group.inventory-scanner-wrap .status'), - status = this.checked ? 'Enabled' : 'Disabled'; - setEnabledStatus(self, status); - }); - - setInventoryThreshold(); -} - -/** - * Saves the inventory scanner threshold - * @return {undefined} - */ -export function saveInventoryThreshold() { - - let - input = document.getElementById('thresholdValue'), - savedValue = document.getElementsByClassName('saved-value')[0], - self = document.querySelector('.inventory-scanner-wrap .status'), - toggle = document.getElementById('toggleInventoryScanner'); - - // enabled -and- has value entered - if ( input.value && toggle.checked ) { - - input.disabled = true; - toggle.disabled = false; - input.classList.remove('alert'); - - // Make sure values are above 0 / below 100 - if ( input.value > 99 ) { input.value = 99; } - if ( input.value < 0 ) { input.value = 0; } - - // Save the value to chrome.storage - chrome.storage.sync.get(['featureData']).then(({ featureData }) => { - featureData.inventoryScanner = { threshold: JSON.parse(input.value) }; - chrome.storage.sync.set({ featureData }); - }); - - - // Displays rating as "- 25%" - savedValue.innerHTML = `‑ ${input.value}%`; - - setEnabledStatus(self, 'Enabled'); - applySave('refresh', event); - - // disabled -and- has value entered - } else if ( input.value && !toggle.checked ) { - - input.disabled = false; - savedValue.textContent = ''; - - setEnabledStatus(self, 'Disabled'); - applySave('refresh', event); - - // no value entered - } else if ( !input.value ) { - - toggle.checked = false; - input.classList.add('alert'); - } -} - -/** - * Sets the value of the inventory scanner input - * when the popup is rendered - * @return {undefined} - */ -export async function setInventoryThreshold() { - - let input = document.getElementById('thresholdValue'), - savedValue = document.querySelector('.saved-value'), - self = document.querySelector('.inventory-scanner-wrap .status'), - toggle = document.getElementById('toggleInventoryScanner'), - { featureData } = await chrome.storage.sync.get(['featureData']), - { inventoryScanner } = featureData, - hasThreshold = inventoryScanner && inventoryScanner.threshold, - threshold = hasThreshold ? inventoryScanner.threshold : null; - - if ( threshold !== null ) { input.value = threshold; } - - chrome.storage.sync.get('prefs', function(result) { - // Has value saved - if ( result.prefs.inventoryScanner && threshold !== null ) { - - input.disabled = true; - input.value = threshold; - - savedValue.innerHTML = `‑ ${input.value}%`; - setEnabledStatus(self, 'Enabled'); - } - // Has no value saved - else if ( result.prefs.inventoryScanner && threshold === null ) { - - toggle.checked = false; - setEnabledStatus(self, 'Disabled'); - - } else { - setEnabledStatus(self, 'Disabled'); - } - }); -} diff --git a/js/popup/popup-logic/popup.js b/js/popup/popup-logic/popup.js index d342187a..718a8803 100644 --- a/js/popup/popup-logic/popup.js +++ b/js/popup/popup-logic/popup.js @@ -22,7 +22,6 @@ import * as filterPrices from './features/filter-prices.js'; import * as filterSleeveCondition from './features/filter-sleeve-condition.js'; import * as filterShippingCountry from './features/filter-shipping-country.js'; import * as inventoryRatings from './features/inventory-ratings.js'; -import * as inventoryScanner from './features/inventory-scanner.js'; import * as mediaHighlights from './features/media-condition-highlights.js'; import * as minMaxColumns from './features/min-max-columns.js'; import * as sellerRep from './features/seller-rep.js'; @@ -80,6 +79,7 @@ window.addEventListener('load', () => { toggleBlockBuyers = document.getElementById('toggleBlockBuyers'), toggleBlockSellers = document.getElementById('toggleBlockSellers'), toggleCompactArtist = document.getElementById('toggleCompactArtist'), + toggleCompactCollection = document.getElementById('toggleCompactCollection'), toggleCollectionBoxFix = document.getElementById('toggleCollectionBoxFix'), toggleConfirmBeforeRemoving = document.getElementById('toggleConfirmBeforeRemoving'), toggleConverter = document.getElementById('toggleConverter'), @@ -98,7 +98,6 @@ window.addEventListener('load', () => { toggleFullWidth = document.getElementById('toggleFullWidth'), toggleHighlights = document.getElementById('toggleHighlights'), toggleInventoryRatings = document.getElementById('toggleInventoryRatings'), - toggleInventoryScanner = document.getElementById('toggleInventoryScanner'), toggleMinMaxColumns = document.getElementById('toggleMinMaxColumns'), toggleNotesCount = document.getElementById('toggleNotesCount'), togglePrices = document.getElementById('togglePrices'), @@ -241,10 +240,6 @@ window.addEventListener('load', () => { // ======================================================== inventoryRatings.init(); - // Inventory Ratings Options - // ======================================================== - inventoryScanner.init(); - // Search Functionality // ======================================================== searchbox.addEventListener('keydown', searchFeatures); @@ -280,6 +275,7 @@ window.addEventListener('load', () => { toggleBlockBuyers.addEventListener('change', triggerSave); toggleBlockSellers.addEventListener('change', triggerSave); toggleCompactArtist.addEventListener('change', compactArtist.toggleCompactArtist); + toggleCompactCollection.addEventListener('change', triggerSave); toggleCollectionBoxFix.addEventListener('change', triggerSave); toggleConfirmBeforeRemoving.addEventListener('change', triggerSave); toggleConverter.addEventListener('change', triggerSave); @@ -298,7 +294,6 @@ window.addEventListener('load', () => { toggleFullWidth.addEventListener('change', triggerSave); toggleHighlights.addEventListener('change', mediaHighlights.toggleMediaHighlights); toggleInventoryRatings.addEventListener('change', inventoryRatings.saveInventoryRatings); - toggleInventoryScanner.addEventListener('change', inventoryScanner.saveInventoryThreshold); toggleMinMaxColumns.addEventListener('change', minMaxColumns.toggleColumns); toggleNotesCount.addEventListener('change', triggerSave); togglePrices.addEventListener('change', suggestedPrices.validateAndSave); @@ -467,6 +462,7 @@ window.addEventListener('load', () => { toggleBlockSellers.checked = prefs.blockSellers; toggleCollectionBoxFix.checked = prefs.collectionBoxFix; toggleCompactArtist.checked = prefs.compactArtist; + toggleCompactCollection.checked = prefs.compactCollection; toggleConfirmBeforeRemoving.checked = prefs.confirmBeforeRemoving; toggleConverter.checked = prefs.converter; toggleDarkTheme.checked = prefs.darkTheme; @@ -484,7 +480,6 @@ window.addEventListener('load', () => { toggleFullWidth.checked = prefs.fullWidthPages; toggleHighlights.checked = prefs.highlightMedia; toggleInventoryRatings.checked = prefs.inventoryRatings; - toggleInventoryScanner.checked = prefs.inventoryScanner; toggleMinMaxColumns.checked = prefs.hideMinMaxColumns; toggleNotesCount.checked = prefs.notesCount; togglePrices.checked = prefs.suggestedPrices; @@ -545,7 +540,6 @@ window.addEventListener('load', () => { sellerRep.setSellerRep(); absoluteDate.setAbsoluteDateStatus(); inventoryRatings.setInventoryRatings(); - inventoryScanner.setInventoryThreshold(); setTimeout(() => { filterMediaCondition.setupFilterByCondition(toggleFilterMediaCondition.checked); diff --git a/js/popup/popup-logic/utils.js b/js/popup/popup-logic/utils.js index 0ebf2439..1d01e53e 100644 --- a/js/popup/popup-logic/utils.js +++ b/js/popup/popup-logic/utils.js @@ -43,6 +43,7 @@ export function applySave(message, event, currencyTarget = 'currency') { blockSellers: document.getElementById('toggleBlockSellers').checked, collectionBoxFix: document.getElementById('toggleCollectionBoxFix').checked, compactArtist: document.getElementById('toggleCompactArtist').checked, + compactCollection: document.getElementById('toggleCompactCollection').checked, confirmBeforeRemoving: document.getElementById('toggleConfirmBeforeRemoving').checked, converter: document.getElementById('toggleConverter').checked, darkTheme: document.getElementById('toggleDarkTheme').checked, @@ -64,7 +65,6 @@ export function applySave(message, event, currencyTarget = 'currency') { hideMinMaxColumns: document.getElementById('toggleMinMaxColumns').checked, highlightMedia: document.getElementById('toggleHighlights').checked, inventoryRatings: document.getElementById('toggleInventoryRatings').checked, - inventoryScanner: document.getElementById('toggleInventoryScanner').checked, notesCount: document.getElementById('toggleNotesCount').checked, quickSearch: document.getElementById('toggleQuickSearch').checked, quickSearchTracklists: document.getElementById('toggleQuickSearchTracklists').checked, diff --git a/manifest.json b/manifest.json index bc540e8e..bbeac604 100644 --- a/manifest.json +++ b/manifest.json @@ -3,7 +3,7 @@ "name": "Discogs Enhancer", "short_name": "Discogs Enhancer", "description": "Adds a dark theme, block sellers, price comparisons, currency converter, configurable quick search, & more to Discogs!", - "version": "3.7.6", + "version": "3.8.0", "author": "Matthew Salcido", "homepage_url": "https://www.discogs-enhancer.com", "action": { diff --git a/package-lock.json b/package-lock.json index aec69340..427c746b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "discogs-enhancer", - "version": "3.7.6", + "version": "3.8.0", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index 5397d5f3..8c72c3a1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "discogs-enhancer", - "version": "3.7.6", + "version": "3.8.0", "description": "A Chrome extension that adds useful functionality to Discogs.com! https://www.discogs-enhancer.com", "main": "index.js", "scripts": { diff --git a/readme.md b/readme.md index d26e7741..9f6ffa22 100644 --- a/readme.md +++ b/readme.md @@ -6,7 +6,7 @@- + @@ -179,7 +179,7 @@ In order to add a togglable feature to the extension you'll need to update the f ### 2️⃣ user-preferences.js -- Add a conditional check for the new `prefs` property under the `User Preferences` comment block. This should check the preference and create a DOM element that contains the necessary script files for the new feature. +- Add a conditional check for the new `prefs` property under the `Preference-dependent scripts` comment block. This should check the preference and create a DOM element that contains the necessary script files for the new feature. > Example: