diff --git a/src/drivers/webextension/images/icons/Stack Analytix.svg b/src/drivers/webextension/images/icons/Stack Analytix.svg new file mode 100644 index 000000000..19ea68833 --- /dev/null +++ b/src/drivers/webextension/images/icons/Stack Analytix.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/drivers/webextension/js/driver.js b/src/drivers/webextension/js/driver.js index 8074f8912..349ef82cf 100644 --- a/src/drivers/webextension/js/driver.js +++ b/src/drivers/webextension/js/driver.js @@ -499,14 +499,18 @@ const Driver = { let icon = 'default.svg' + const _technologies = technologies.filter( + ({ slug }) => slug !== 'cart-functionality' + ) + if (dynamicIcon) { const pinnedCategory = parseInt(await getOption('pinnedCategory'), 10) - const pinned = technologies.find(({ categories }) => + const pinned = _technologies.find(({ categories }) => categories.some(({ id }) => id === pinnedCategory) ) - ;({ icon } = pinned || technologies[0] || { icon }) + ;({ icon } = pinned || _technologies[0] || { icon }) } if (!url) { @@ -528,7 +532,9 @@ const Driver = { { tabId, text: - badge && technologies.length ? technologies.length.toString() : '', + badge && _technologies.length + ? _technologies.length.toString() + : '', }, () => {} ) diff --git a/src/drivers/webextension/js/popup.js b/src/drivers/webextension/js/popup.js index b18db25aa..e64331c66 100644 --- a/src/drivers/webextension/js/popup.js +++ b/src/drivers/webextension/js/popup.js @@ -188,6 +188,10 @@ const Popup = { * @param {Array} detections */ async onGetDetections(detections = []) { + detections = detections + .filter(({ confidence }) => confidence >= 50) + .filter(({ slug }) => slug !== 'cart-functionality') + if (!detections || !detections.length) { document.querySelector('.empty').classList.remove('empty--hidden') document.querySelector('.detections').classList.add('detections--hidden') @@ -241,9 +245,8 @@ const Popup = { }) ) - technologies - .filter(({ confidence }) => confidence >= 50) - .forEach(({ name, slug, confidence, version, icon, website }) => { + technologies.forEach( + ({ name, slug, confidence, version, icon, website }) => { const technologyNode = Popup.templates.technology.cloneNode(true) const image = technologyNode.querySelector('.technology__icon') @@ -279,7 +282,8 @@ const Popup = { categoryNode .querySelector('.technologies') .appendChild(technologyNode) - }) + } + ) document.querySelector('.detections').appendChild(categoryNode) }) diff --git a/src/technologies.json b/src/technologies.json index 5a37549b5..ba1dc431d 100644 --- a/src/technologies.json +++ b/src/technologies.json @@ -7127,6 +7127,20 @@ "saas": true, "website": "https://ads.google.com" }, + "Stack Analytix": { + "cats": [ + 10 + ], + "description": "Stack Analytix offers heatmaps, session recording, conversion analysis and user engagement tools.", + "icon": "Stack Analytix.svg", + "js": { + "stackAnalysis": "" + }, + "saas": true, + "pricing": ["low", "recurring"], + "scripts": "api\\.stackanalytix\\.com", + "website": "https://www.stackanalytix.com" + }, "Google Analytics": { "cats": [ 10 @@ -13176,7 +13190,7 @@ 10 ], "cookies": {}, - "description": "Plausible is an open-source alternative to Google Analytics.", + "description": "Plausible is an open-source alternative to Google Analytics.", "icon": "Plausible.svg", "js": { "plausible": ""