Skip to content

Commit e1c1eda

Browse files
authored
Trackers preview in UI (#849)
1 parent b528101 commit e1c1eda

File tree

23 files changed

+416
-154
lines changed

23 files changed

+416
-154
lines changed

.prettierignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
extension-manifest-v2/**/*

extension-manifest-v2/app/templates/trackers-preview.html

+10-3
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,17 @@
88
/>
99
<meta content="text/html;charset=utf-8" http-equiv="Content-Type" />
1010
<meta content="utf-8" http-equiv="encoding" />
11-
<script src="../../dist/trackers_preview_popup.js" type="module" async></script>
12-
<link rel="stylesheet" href="../../dist/css/trackers_preview_popup_styles.css" />
11+
<script
12+
src="../../dist/trackers_preview_popup.js"
13+
type="module"
14+
async
15+
></script>
16+
<link
17+
rel="stylesheet"
18+
href="../../dist/css/trackers_preview_popup_styles.css"
19+
/>
1320
</head>
1421
<body>
15-
<wtm-trackers-preview></wtm-trackers-preview>
22+
<gh-trackers-preview></gh-trackers-preview>
1623
</body>
1724
</html>

extension-manifest-v2/hybrids.js extension-manifest-v2/app/trackers-preview/index.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,7 @@
99
* file, You can obtain one at http://mozilla.org/MPL/2.0
1010
*/
1111

12-
// shorthand module for nicer imports until importmaps will be supported
13-
export * from '/vendor/hybrids/src/index.js';
12+
import '@ghostery/ui';
13+
import '@ghostery/ui/trackers-preview';
14+
15+
import './trackers-preview';
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/**
2+
* Ghostery Browser Extension
3+
* https://www.ghostery.com/
4+
*
5+
* Copyright 2017-present Ghostery GmbH. All rights reserved.
6+
*
7+
* This Source Code Form is subject to the terms of the Mozilla Public
8+
* License, v. 2.0. If a copy of the MPL was not distributed with this
9+
* file, You can obtain one at http://mozilla.org/MPL/2.0
10+
*/
11+
12+
import {
13+
getStats,
14+
close,
15+
disable,
16+
updateIframeHeight
17+
} from '@whotracksme/webextension-packages/packages/trackers-preview/src/page_scripts';
18+
19+
import { define, html } from 'hybrids';
20+
21+
const domain = new URLSearchParams(window.location.search).get('domain');
22+
const stats = getStats(domain);
23+
24+
updateIframeHeight();
25+
26+
export default define({
27+
tag: 'gh-trackers-preview',
28+
content: () => html`
29+
<template layout="block">
30+
<ui-trackers-preview
31+
stats="${stats}"
32+
domain="${domain}"
33+
onclose="${close}"
34+
ondisable="${disable}"
35+
></ui-trackers-preview>
36+
</template>
37+
`,
38+
});

extension-manifest-v2/package-lock.json

+8-14
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

extension-manifest-v2/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,13 @@
5252
"@ghostery/libs": "file:../libs",
5353
"@ghostery/ui": "file:../ui",
5454
"@sentry/browser": "7.1.1",
55-
"@whotracksme/webextension-packages": "^0.3.1",
55+
"@whotracksme/webextension-packages": "^0.4.2",
5656
"classnames": "^2.2.5",
5757
"d3": "^5.16.0",
5858
"foundation-sites": "^6.6.2",
5959
"ghostery-common": "^1.2.31",
6060
"history": "^4.10.1",
61-
"hybrids": "^8.0.10",
61+
"hybrids": "^8.1.1",
6262
"json-api-normalizer": "^1.0.4",
6363
"linkedom": "^0.14.5",
6464
"moment": "^2.29.1",

extension-manifest-v2/src/trackers-preview/popup.js

-1
This file was deleted.

extension-manifest-v2/webpack.config.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ const PANEL_ANDROID_DIR = path.resolve(__dirname, 'app/panel-android');
3636
const LICENSES_DIR = path.resolve(__dirname, 'app/licenses');
3737
const SASS_DIR = path.resolve(__dirname, 'app/scss');
3838
const CONTENT_SCRIPTS_DIR = path.resolve(__dirname, 'app/content-scripts');
39+
const TRACKERS_PREVIEW_DIR = path.resolve(__dirname, 'app/trackers-preview');
3940
const RM = (process.platform === 'win32') ? 'powershell remove-item' : 'rm';
4041

4142
module.exports = {
@@ -50,6 +51,7 @@ module.exports = {
5051
alias: {
5152
'@ghostery/ui$': path.resolve(__dirname, 'node_modules/@ghostery/ui/src/index.js'),
5253
'@ghostery/ui/onboarding$': path.resolve(__dirname, 'node_modules/@ghostery/ui/src/modules/onboarding/index.js'),
54+
'@ghostery/ui/trackers-preview$': path.resolve(__dirname, 'node_modules/@ghostery/ui/src/modules/trackers-preview/index.js'),
5355
'@ghostery/ui/wheel$': path.resolve(__dirname, 'node_modules/@ghostery/ui/src/utils/wheel.js'),
5456
'@ghostery/libs$': path.resolve(__dirname, 'node_modules/@ghostery/libs/src/index.js'),
5557
},
@@ -69,7 +71,7 @@ module.exports = {
6971
onboarding: [`${ONBOARDING_DIR}/index.js`],
7072
purplebox: [`${CONTENT_SCRIPTS_DIR}/purplebox.js`],
7173
shared_comp_react: [`${SHARED_COMP_DIR}/index.js`],
72-
trackers_preview_popup: [`${SRC_DIR}/trackers-preview/popup.js`],
74+
trackers_preview_popup: [`${TRACKERS_PREVIEW_DIR}/index.js`],
7375
trackers_preview_content_script: [`${CONTENT_SCRIPTS_DIR}/trackers-preview.js`],
7476

7577
// Sass

extension-manifest-v3/package-lock.json

+7-9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

extension-manifest-v3/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
"@duckduckgo/autoconsent": "^2.1.2",
4747
"@ghostery/libs": "file:../libs",
4848
"@ghostery/ui": "file:../ui",
49-
"@whotracksme/webextension-packages": "^0.3.0",
49+
"@whotracksme/webextension-packages": "^0.4.3",
5050
"hybrids": "^8.1.0",
5151
"lodash-es": "^4.17.21",
5252
"tldts-experimental": "^5.7.66"

extension-manifest-v3/src/pages/panel/components/category-with-trackers.js

+1-4
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111
import { define, html, store } from 'hybrids';
1212
import Stats from '/store/stats.js';
1313

14-
import { getCategoryLabel } from '@ghostery/ui/categories';
15-
1614
function toggleShowMore(host) {
1715
host.shouldShowMore = !host.shouldShowMore;
1816
}
@@ -37,8 +35,7 @@ export default define({
3735
},
3836
render: ({ category, stats, shouldShowMore, trackerCounts }) => html`
3937
<main onclick="${toggleShowMore}">
40-
<ui-category-bullet category=${category} size=${12}></ui-category-bullet>
41-
<label>${getCategoryLabel(category)}</label>
38+
<label><ui-category name="${category}" bullet="12"></ui-category></label>
4239
<strong class="count">
4340
<!-- Number of trackers detected by Ghostery -->
4441
${stats.byCategory[category].count} Detected

extension-manifest-v3/src/pages/trackers-preview/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@
1111
<script src="./index.js" type="module" async></script>
1212
</head>
1313
<body>
14-
<wtm-trackers-preview></wtm-trackers-preview>
14+
<gh-trackers-preview></gh-trackers-preview>
1515
</body>
1616
</html>

extension-manifest-v3/src/pages/trackers-preview/index.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,8 @@
99
* file, You can obtain one at http://mozilla.org/MPL/2.0
1010
*/
1111

12+
import '@ghostery/ui';
1213
import '@ghostery/ui/css';
13-
import '@whotracksme/webextension-packages/packages/trackers-preview/components';
14+
import '@ghostery/ui/trackers-preview';
15+
16+
import './trackers-preview.js';
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/**
2+
* Ghostery Browser Extension
3+
* https://www.ghostery.com/
4+
*
5+
* Copyright 2017-present Ghostery GmbH. All rights reserved.
6+
*
7+
* This Source Code Form is subject to the terms of the Mozilla Public
8+
* License, v. 2.0. If a copy of the MPL was not distributed with this
9+
* file, You can obtain one at http://mozilla.org/MPL/2.0
10+
*/
11+
12+
import { define, html } from 'hybrids';
13+
import {
14+
getStats,
15+
close,
16+
disable,
17+
updateIframeHeight,
18+
} from '@whotracksme/webextension-packages/packages/trackers-preview/page_scripts';
19+
20+
const domain = new URLSearchParams(window.location.search).get('domain');
21+
const stats = getStats(domain);
22+
23+
updateIframeHeight();
24+
25+
export default define({
26+
tag: 'gh-trackers-preview',
27+
content: () =>
28+
html`
29+
<template layout="block">
30+
<ui-trackers-preview
31+
stats="${stats}"
32+
domain="${domain}"
33+
onclose="${close}"
34+
ondisable="${disable}"
35+
></ui-trackers-preview>
36+
</template>
37+
`,
38+
});

ui/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
"./categories": "./src/utils/categories.js",
1111
"./wheel": "./src/utils/wheel.js",
1212
"./onboarding": "./src/modules/onboarding/index.js",
13-
"./autoconsent": "./src/modules/autoconsent/index.js"
13+
"./autoconsent": "./src/modules/autoconsent/index.js",
14+
"./trackers-preview": "./src/modules/trackers-preview/index.js"
1415
},
1516
"scripts": {
1617
"lint": "eslint ./src"

ui/src/components/category-bullet.js

-34
This file was deleted.

0 commit comments

Comments
 (0)