Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ghostery browser intro hub #665

Merged
merged 120 commits into from Jan 29, 2021
Merged

Ghostery browser intro hub #665

merged 120 commits into from Jan 29, 2021

Conversation

@wlycdgr
Copy link
Member

@wlycdgr wlycdgr commented Jan 25, 2021

Implements the Ghostery Dawn onboarding flow, which proceeds as follows:

  • Welcome screen
  • Account creation / sign in
  • Block settings selection
  • Search provider selection
  • Ghostery plan selection
  • Success screen

The project is in a new folder called ghostery-browser-intro-hub. Some code shared with the original hub has been factored out to shared-hub.

For ease of testing, you can change the logic in background.js from lines 1642 so that the new onboarding flow opens in your browser of choice, not just Dawn.

If testing in Dawn, you can comment in the messaging of the search extension in ChooseDefaultSearchView.jsx. In other browsers, leaving this code active throws an error that prevents moving on to the next step (since there is no search extension to message in other browsers).

  • Have you followed the guidelines in CONTRIBUTING.md?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  • Have you added an explanation of what your changes do?
  • Does your submission pass tests? two being looked into
  • Did you lint your code prior to submission?
Ilya Zarembsky and others added 30 commits Nov 11, 2020
Ilya Zarembsky
Ilya Zarembsky
…container and view.
Ilya Zarembsky
…ame, document, and move makeDeferredDispatcher. Use it in all the actions files in shared-hub.
* Make browser welcome view

* Add cta button

* Change CTA button to a button

* Add comment

* Remove redux connection
* Make skeleton for success view

* Copy jsx over from WelcomeView

* Make success screen, need to add image

* Add image and adjust spacing

* Re-add default view for original hub
* Make form

* Add skip and learn more links

* Set arrow up/down depending on expanded state

* Make FAQ

* Make list responsive

* Adjust padding of FAQContainer to scroll onto nice spot

* Make sure promoString checkbox text does not wrap

* Add privacy policy link

* Make privacy policy link more responsive

* Make BrowserLogInForm and style responsively

* Refactor Create Account form into a component

* Create BrowserCreateAccountFormContainer and add handlers

* Add error handling to legal consent label

* Remove privacy policy link if learn more is not expanded

* Add handlers for log in view and replace strings

* Add handlers for forgot password and throttle it

* Lower throttle time in case user enters a wrong email

* Make updates checkbox work

* Add signed in view

* Change spacing of title and subtitle for small screens

* Update create account design for small screens

* Center skip link on small screens

* Decrease spacing for small sreens on already have account/create account link

* Decrease width of faqDescription items and privacy policy link

* Open privacy policy link in new tab

* Add confirm password functionality

* Update passwords not match string

* Add global email preferences to user object on account creation success

* Hold input fields in place when error messages appear

* Rename components

* Add propTypes

* Update comments

* Remove newline

* Update confirm password string

* Add comments and minor refactors
* Make progress bar skeleton

* Add ghosty images and sass to display them

* Add labels

* Refactor labels

* Add dotted border after incomplete steps except last

* Make labels and ghosties navLinks

* Reset default view, done with testing

* Update propTypes and add comments

* Change back to default view
Ilya Zarembsky
Ilya Zarembsky
Ilya Zarembsky
* Create ghostery-search promo in plan view

* Add scroll arrow and cards

* Add value prop list to cards

* Add radio button and hover effects to cards

* Add click handler to full card, not only radio button

* Select default plan depending on current plan

* Add logic to display title and subtitle texts

* Style radio button alt design

* Touch up radio button alt design

* Make responsive

* Change CTA button to a button

* Add back backgrounds on small screens and add checkmarks for free card

* Add working links

* Refactor basic/plus/premium states

* Make cards responsive with OR

* Add padding and change CTA button strings

* Add hover effects to search and premium CTA buttons

* Conditionally show cards based on users subscriptions and refactor arrow to show/hide plan cards instead of scrolling

* Fix logic for showing caret

* Fix and refactor cta button links

* Fix color of premium CTA button when displaying to a basic user

* Refactor and add comments

* Remove unused css

* Update plus and premium checkout links to specify english

* Move RadioButton and RadioButtonGroup to shared components

* Rename Step4_ChoosePlanView to ChoosePlanView

* Use BASIC, PLUS, and PREMIUM constants from UpgradePlanViewConstants and fix search.svg path

* Update copywrite year

* Replace hex color codes with variables

* Add border to unchecked radio button

Co-authored-by: Ilya Zarembsky <ilya.zarembsky@gmail.com>
Ilya Zarembsky
Ilya Zarembsky
…tch the requirements of the new StepNavigator component
wlycdgr and others added 11 commits Jan 26, 2021
… other browsers. Remove console statements from choose search reducer
…wer block rendering out to a render helper
…open based on ua value
@christophertino christophertino requested a review from leuryr Jan 28, 2021
benstrumeyer and others added 9 commits Jan 29, 2021
* Add setup_number for step 1 and step 2

* Get rid of dawn_setup_number, replace with setup_number

* Add setup_number to ChooseSearchView

* Add setup_number to ChooseDefaultSearchView. TODO: Add trial setup pings 2, and 3

* Add back in subscriptionType ping param...

* Update setup_number to use fetchSearchEnginesAsync value for other dropdown list

* Update setSetupStep setup_numbers

* Move user to success screen if they get redirected to checkout-web in a new tab

* Add setupStep constants to Step 4 and update BlockSettingsView renderHelpers

* One liner onClick handlers

* Change setup_number to dawn_setup_number

* Add list of possible search engines, minus SEARCH_ENCRYPT and update dawn_setup_numbers
…tions (#671)

* Restore free trial link. Add UTM params to premium checkout link. Update CTA button copies. Ensure user is on a plus trial after redirecting to glowstery domains

* Remove unused variable
* Fix certain block settings not saving

* Test update
src/background.js Outdated Show resolved Hide resolved
@christophertino christophertino merged commit 473e07c into develop Jan 29, 2021
@christophertino christophertino added this to the 8.5.5 milestone Jan 29, 2021
@christophertino christophertino deleted the ghostery-browser-intro-hub branch Jan 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants