Skip to content

Commit

Permalink
Remove requirement for Ghostery account
Browse files Browse the repository at this point in the history
  • Loading branch information
chrmod committed Sep 28, 2023
1 parent d2bc405 commit 8c3ca6f
Show file tree
Hide file tree
Showing 16 changed files with 9 additions and 215 deletions.
2 changes: 0 additions & 2 deletions app/content-scripts/panel/App/App.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import TrackerDistributionGraph from '../../../shared-components/TrackerDistribu
import PageLatencyGraph from '../../../shared-components/PageLatencyGraph';
import PageSizeGraph from '../../../shared-components/PageSizeGraph';
import ThemedToast from '../../../shared-components/ThemedToast';
import AccessDeniedOverlay from '../../../shared-components/AccessDeniedOverlay';
import './styles.scss';

import onMessage from '../../../store/messages/messageListeners';
Expand Down Expand Up @@ -53,7 +52,6 @@ class App extends Component {
const { handleClick } = this;
return (
<React.Fragment>
<AccessDeniedOverlay maxWidth="520px" />
<div className="Panel__container d-flex justify-content-center">
<div className="Panel__content" ref={this.panelRef}>
<Header panel>
Expand Down
13 changes: 1 addition & 12 deletions app/insights/App/App.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import Header from '../../shared-components/Header';
import PageStats from '../../shared-components/PageStats';
import ThemedTabs from '../../shared-components/ThemedTabs';
import ThemedToast from '../../shared-components/ThemedToast';
import AccessDeniedOverlay from '../../shared-components/AccessDeniedOverlay';
import PageNotScannedOverlay from './PageNotScannedOverlay';
import OverviewTab from './OverviewTab';
import GlobalTrendsTab from './GlobalTrendsTab';
Expand Down Expand Up @@ -36,13 +35,6 @@ class App extends Component {
}
}

componentDidUpdate(prevProps) {
const { signedIn } = this.props;
if (signedIn !== prevProps.signedIn) {
this.containerRef.scrollTop = 0;
}
}

handleClick = () => {
window.port.postMessage({ type: 'FocusParentTab' });
}
Expand All @@ -55,19 +47,17 @@ class App extends Component {
}

render() {
const { parentTabUrl, signedIn } = this.props;
const { parentTabUrl } = this.props;

const containerClassNames = ClassNames(
'App__container',
'd-flex',
'justify-content-center',
{ noScroll: !signedIn },
);

return (
<React.Fragment>
<PageNotScannedOverlay />
<AccessDeniedOverlay maxWidth="440px" isFullPage />
<div
className={containerClassNames}
ref={(node) => { this.containerRef = node; }}
Expand Down Expand Up @@ -112,7 +102,6 @@ App.propTypes = {
messageCreators: PropTypes.shape({
sendMetrics: PropTypes.func.isRequired,
}).isRequired,
signedIn: PropTypes.bool.isRequired,
};

export default App;
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@ import React from 'react';
import PropTypes from 'prop-types';
import Navbar from 'react-bootstrap/Navbar';
import './PageNotScannedOverlay.scss';
import ClassNames from 'classnames';

const PageNotScannedOverlay = (props) => {
const { isPageNotScanned, signedIn } = props;
const { isPageNotScanned } = props;
const logoUrlRoot = 'dist/images/logo-icons';
const pageNotScannedIcon = `${logoUrlRoot}/icon_pageNotScanned.svg`;
const logoIcon = `${logoUrlRoot}/insights-white-text-beta.svg`;
Expand All @@ -24,17 +23,12 @@ const PageNotScannedOverlay = (props) => {
link: { copy: 'Reach out to Support' },
};

const logoClassNames = ClassNames('PageNotScannedOverlay__logo', {
signedIn,
});

return (
<React.Fragment>
{isPageNotScanned && (
<div className="PageNotScannedOverlay">
<div className="PageNotScannedOverlay__container d-flex align-items-center flex-column">
<Navbar.Brand
className={logoClassNames}
href="https://www.ghostery.com/products/"
target="_blank"
rel="noopener noreferrer"
Expand Down Expand Up @@ -80,7 +74,6 @@ const PageNotScannedOverlay = (props) => {

PageNotScannedOverlay.propTypes = {
isPageNotScanned: PropTypes.bool.isRequired,
signedIn: PropTypes.bool.isRequired,
};

export default PageNotScannedOverlay;
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,6 @@
.PageNotScannedOverlay__logo {
position: absolute;
margin: -136px 0 0 -414px;

&.signedIn {
margin: -136px 0 0 -845px;
}
}

.PageNotScannedOverlay__image {
Expand Down
1 change: 0 additions & 1 deletion app/insights/App/PageNotScannedOverlay/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import PageNotScannedOverlay from './PageNotScannedOverlay.jsx';

const mapStateToProps = state => ({
isPageNotScanned: state.PageInfoReducer.isPageNotScanned,
signedIn: state.SettingsReducer.userInfo.signedIn,
});

export default connect(mapStateToProps, null)(PageNotScannedOverlay);
1 change: 0 additions & 1 deletion app/insights/App/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ const mapStateToProps = state => ({
parentTabUrl: state.PageInfoReducer.parentTabUrl,
showToasts: state.SettingsReducer.localSettings.showToasts,
messageCreators: { sendMetrics },
signedIn: state.SettingsReducer.userInfo.signedIn,
});

const mapDispatchToProps = dispatch => ({
Expand Down
12 changes: 0 additions & 12 deletions app/shared-components/Header/Header.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -49,19 +49,7 @@ class Header extends Component {
}

_showDropdown() {
const {
userInfo: {
freeTrial,
signedIn,
insightsUser,
},
} = this.props;
const { dropdownToggle } = this.state;

if (!signedIn) return true;

if (!insightsUser && !freeTrial) return false;

return dropdownToggle;
}

Expand Down
69 changes: 2 additions & 67 deletions app/shared-components/Settings/Settings.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import Nav from 'react-bootstrap/Nav';

import Globals from '../../../src/classes/Globals';
import FavoriteTrackersSearch from './FavoriteTrackersSearch';
import AccountPanel from './AccountPanel';
import './Settings.scss';

const {
Expand Down Expand Up @@ -48,10 +47,8 @@ class Settings extends Component {
closeDropdown,
panel,
messageCreators,
userInfo,
showBlueBar,
showToasts,
actions,
isPageNotScanned,
} = this.props;
const { view, viewLinks } = this.state;
Expand All @@ -71,16 +68,6 @@ class Settings extends Component {
'align-items-center',
{ on: showToasts },
);
const badgeContainerClasses = ClassNames(
'Settings__accountBadge',
'd-flex',
'align-items-center',
{ gradient: userInfo.freeTrial },
);
const badgeImageClasses = ClassNames(
'Settings__insightsBadge',
{ white: userInfo.freeTrial },
);
const blueBarToggleText = showBlueBar ? 'On' : 'Off';
const toastToggleText = showToasts ? 'On' : 'Off';
const displayLinks = viewLinks[view];
Expand All @@ -89,8 +76,7 @@ class Settings extends Component {
<React.Fragment>
{!isPageNotScanned && (
<div className="Settings">
{!userInfo.signedIn && <AccountPanel panel={panel} />}
{userInfo.signedIn && view === 'mainTabs' && (
{view === 'mainTabs' && (
<div className="Settings__main d-flex flex-column">
<img
src={[chrome.extension.getURL('dist/images/shared/x-icon.svg')]}
Expand Down Expand Up @@ -172,29 +158,6 @@ class Settings extends Component {
</div>
</Tab.Container>
<div className="Settings__footer d-flex flex-column align-items-start">
<div className={badgeContainerClasses}>
<img
alt="Insights badge"
src={[chrome.extension.getURL(`/dist/images/shared/insights-badge${userInfo.freeTrial ? '-white' : ''}.svg`)]}
className={badgeImageClasses}
/>
{userInfo.freeTrial && (
<div className="Settings__badgeText">
You are on a free trial.
</div>
)}
</div>
<div
className="Settings__footerSettingContainer d-flex justify-content-start clickable"
onClick={() => this.handleClickSetView('support')}
>
<img
alt="Support"
src={[chrome.extension.getURL('/dist/images/shared/support-icon.svg')]}
className="Settings__footerIcon"
/>
<p className="Settings__footerText clickable">Support</p>
</div>
<div
className="Settings__footerSettingContainer d-flex justify-content-start clickable"
onClick={() => this.handleClickSetView('about')}
Expand All @@ -206,38 +169,11 @@ class Settings extends Component {
/>
<p className="Settings__footerText">About</p>
</div>
{userInfo.signedIn && (
<React.Fragment>
<div
className="Settings__footerSettingContainer d-flex justify-content-start clickable"
onClick={() => messageCreators.openAccountPage()}
>
<img
alt="User"
src={[chrome.extension.getURL('/dist/images/shared/user-icon.svg')]}
className="Settings__footerIcon"
/>
<p className="Settings__footerText">
{userInfo.email || 'No Email On File'}
</p>
</div>
<p
className="Settings__signOut"
onClick={() => {
actions.closeToast();
messageCreators.logout();
messageCreators.sendMetrics({ type: 'sign_out', insightsView: panel ? '2' : '3' });
}}
>
Sign out
</p>
</React.Fragment>
)}
</div>
</div>
</div>
)}
{userInfo.signedIn && displayLinks && (
{displayLinks && (
<div className="Settings__secondaryPage">
<div
className="Settings__backButton d-flex align-items-center"
Expand Down Expand Up @@ -317,7 +253,6 @@ Settings.propTypes = {
panel: PropTypes.bool,
closeDropdown: PropTypes.func.isRequired,
userInfo: PropTypes.shape({
signedIn: PropTypes.bool.isRequired,
freeTrial: PropTypes.bool.isRequired,
email: PropTypes.string.isRequired,
}).isRequired,
Expand Down
1 change: 0 additions & 1 deletion app/store/reducers/SettingsReducer.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import {
const initialState = {
userInfo: {
email: '',
signedIn: true,
insightsUser: true,
freeTrial: false,
emailVerified: false,
Expand Down
7 changes: 0 additions & 7 deletions src/background.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
*/

import EventHandlers from './classes/EventHandlers';
import Account from './classes/Account';
import Settings from './classes/Settings';
import BrowserAction from './classes/BrowserAction';
import Metrics from './classes/Metrics';
Expand Down Expand Up @@ -41,10 +40,6 @@ function initializeEventListeners() {
// chrome.runtime.onMessageExternal
// chrome.runtime.onRestartRequired

// All Cookie events listed
chrome.cookies.onChanged
.addListener(EventHandlers.onCookieChanged.bind(EventHandlers));

// All BrowserAction event listed (only 1: onClicked)
log('Initializing the BrowserAction onClicked event listener');
chrome.browserAction.onClicked
Expand Down Expand Up @@ -177,7 +172,6 @@ function sendInitialMetrics() {
function init() {
Promise.all([
Settings.init().then(initializeVersioning),
Account.checkInsightsUser(),
BugDb.init(false),
]).then(() => {
initializeEventListeners();
Expand All @@ -192,6 +186,5 @@ function init() {
init();

if (Globals.DEBUG) {
window._Account = Account;
window._Settings = Settings;
}
9 changes: 1 addition & 8 deletions src/classes/Account.js
Original file line number Diff line number Diff line change
Expand Up @@ -162,13 +162,7 @@ class Account {
* @returns {boolean}
*/
showEndOfFreeTrialPopup() {
return (
Settings.get('freeTrialStatus') === 'expired'
&& !Settings.get('endOfFreeTrialPopupAcknowledged')
&& this.isSignedIn()
&& !this._freeTrial
&& !this._allowInsights
);
return false;
}

/**
Expand Down Expand Up @@ -252,7 +246,6 @@ class Account {
return {
email: this._getUserEmail(),
emailVerified: this._isEmailVerified(),
signedIn: this.isSignedIn(),
insightsUser: this._isInsightsUser(),
freeTrial: this._freeTrial,
freeTrialDaysRemaining: this._freeTrialDaysRemaining(),
Expand Down
7 changes: 1 addition & 6 deletions src/classes/BrowserAction.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
* Insights by Ghostery
*/

import Account from './Account';
import TabDetails from './TabDetails';
import Tabs from './Tabs';

Expand Down Expand Up @@ -38,11 +37,7 @@ class BrowserButton {

_getIcon(id, url, pendingUrl) {
let icon = '';
if (!Account.isSignedIn()) {
icon = '_lock';
} else if (Account.isTrialExpired()) {
icon = '_endOfTrialAlert';
} else if (url && url.startsWith('chrome-extension')) {
if (url && url.startsWith('chrome-extension')) {
icon = '_reloadAlert';
} else if (pendingUrl && pendingUrl.startsWith('chrome-extension')) {
icon = '';
Expand Down
Loading

0 comments on commit 8c3ca6f

Please sign in to comment.