Commit graph

43 commits

Author SHA1 Message Date
Ben Halpern
229c3fc3c0
Go to page you came from after onboarding when coming through billboard (#20675)
* Add proper location memory for onboarding

* Get test dates working as expected
2024-02-26 16:21:05 -05:00
Ben Halpern
8eb41eef8e
Record billboard signup conversions (#20629)
* Record billboard signup conversions

* Update app/models/billboard_event.rb

* Modify click tracking
2024-02-14 14:18:57 -05:00
Rajat Talesra
c72c52dfdb
Removed intro slide and updated sequence (#20011)
* Removed intro slide and updated sequence

* Revert db change
2023-09-14 20:26:47 +05:30
Rajat Talesra
cce51588db
Replace uses of toBeDefined with toExist (#19862)
* Replaced toBeDefined with toExist

* Revert db changes
2023-08-04 19:58:58 +05:30
Duke Greene
cf7847fadb
remove onboarding background image, use gradient based on brand color (#19815)
* remove background image, rename prop to refer to color, pass primary brand color

* create helper method, send calculated gradient values into frontend props

* test new helper method and refine how color is darkened
2023-07-27 07:27:21 -04:00
dependabot[bot]
bf029dc731
Bump preact from 10.9.0 to 10.10.0 (#18143)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
2022-07-19 16:33:03 -05:00
Jacob Herrington
dd3121e91c
Add username to onboarding (#12697)
* Add username to onboarding

* Add margin to profile form error alert

* Update user controller for onboarding

Co-authored-by: Michael Kohl <me@citizen428.net>
2021-02-24 10:48:31 -06:00
Katie Davis
76453b41fb
Updates ESLint rules to error on default imports (#12512)
* add rule

* add named imports

* more missed files

* so many files
2021-02-02 10:24:03 -05:00
Ridhwana
7a9629172d
Profile generalization for the onboarding workflow (#11629)
* feat: v1 of the profile form

* feat: fix inputs and create a handleChange event

* feat: update the submit values to represent values from the form

* feat: ensure that errors and success is handled on send

* refactor: remove unused code

* feat: replace the old profile form with a new one

* fix: use the renames file

* refactor: safety net for groups

* chore: fix code climate issue

* tests: amend + add tests

* test: fix broken spec

* feat: update the setup for the test

* tests: refactored them to move the fake response into the before all

* feat: clunky way to quickly cater for color field since it was a quick and easy implementation

* feat: add a field.description to the color field

* refactor: pull some duplicate code into a new function

* chore: cater for a textarea field

* overflow issue

* refactor: use FormField instead of manual divs

* Update spec/requests/users_onboarding_spec.rb

Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>

* Update spec/requests/users_onboarding_spec.rb

Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>

* refactor: move out of method and into a constant

* refactor: user_onboarding_update to be more readable

* refactor: use current.save instead of declaring a new variable

* refactor: remove explicit check for bookean

* refactor: use request from '@utilities/http' instead :)

* refactor: no need for if with destructured groups

* refactor: move color field to its own component

* chore: remove colorfield now thats its a component

* fix: forgot about field

* feat: a text area component

* chore: remove textField function in favor of component

* refactor: checkbox refactor

* refactor: add a switch statement

* chore: move into a more organized folder

* fix: move the handler to props and off from field

* fix: add a conditional so we dont hit an error undefined method `success?' for nil:NilClass

* refactor: change from component to function

* feat: add a key attribute

* refactor: add role for readers

* refactor: remove unnecessary guard clauses

* refactor: use function instead of an arrow

* chore: document components

* test

* padding

* fixes

* test: fix the tests by using more general matchers

Co-authored-by: Paweł Ludwiczak <ludwiczakpawel@gmail.com>
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
2020-12-08 19:53:00 +02:00
Nick Taylor
6542395b38
Upgraded to preact testing library 2.0.0 (#9103) 2020-07-06 14:53:10 -04:00
Nick Taylor
63b4d9fdc0
More frontend test cleanup (#8919) 2020-06-25 18:04:01 -04:00
Nick Taylor
653ec12300
Upgrade to Preact 10.4.4 (#8739)
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>
2020-06-18 10:07:17 -04:00
Ben Halpern
1b37edeeb8
[deploy] Allow admins to define onboarding images in config (#8431)
* Add config for onboarding

* Fix tests/snapshot

* Improved specs
2020-06-12 08:48:20 -04:00
Ben Halpern
3c840610a1
[deploy] Remove unnecessary bulk from image assets (#8306)
* Remove unnecessary bulk from image assets

* Swap background-image

* Fix test

* Fix test
2020-06-05 17:51:06 -04:00
ludwiczakpawel
39295c0bea
Layout updates (#8107)
* flare tag line height

* .

* init

* widgets

* widgets lists

* new tabs on home

* instantclick

* .

* rethinking css

* .

* .

* empty space

* campaign widget

* .

* merge

* .

* update layout

* fix sidebars on home page

* .

* fix onboarding x

* spec

* test

* test

* better handling ads

* .

* spec

* card styling

* .

* i dont know what have i broken
2020-06-04 16:12:17 +02:00
Nick Taylor
a72831b952
Import jest-axe matchers via setupFilesAfterEnv config property (#8217)
* Now expect is extended for jest-axe via the jest setupFilesAfterEnv config property.

* Renamed a test setup file for jest.
2020-06-01 16:37:32 +02:00
Nick Taylor
530b13e8c7
made all frontend unit tests uniform by preffering it(...) over test(...) (#8113) 2020-05-28 17:18:15 +02:00
Ben Halpern
4eb2f05387
[deploy] Add generalized community name and description to onboarding slides (#7725)
* Comment out redirect

* Back to where we were

* Add basic generalization to onboarding

* Update app/javascript/onboarding/Onboarding.jsx

Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>

* Update app/javascript/onboarding/components/IntroSlide.jsx

* Update app/javascript/onboarding/components/ProfileForm.jsx

Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
2020-05-08 14:45:24 -04:00
ludwiczakpawel
2d9ff805ba
[deploy] Onboarding fix for mobile (#7732)
* fix

* snapshot
2020-05-07 20:05:40 -04:00
ludwiczakpawel
9ddac632e4
Modals (#7603)
* wip

* no comment

* tests

* typo

* typo

* crayons example page

* doc

* boxes fix

* fix

* Update index.html.erb

* Small refactor to return null when the modal is not visible.

* Update app/assets/stylesheets/components/modals.scss

Co-authored-by: Nick Taylor <nick@iamdeveloper.com>

* tiny fixes & improvements

Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
2020-05-05 15:33:17 +02:00
Mac Siri
f4000a1809
[deploy] Render onboarding on small screens correctly (#7548) 2020-04-27 16:16:33 -04:00
Vaidehi Joshi
e19eb60d1f
Add skip/continue functionality to onboarding navigation (#7488) [deploy]
* Dynamically render forward text in Navigation component

* Render either "Skip for now" or "Continue" on the FollowTags, ProfileForm, and FollowUsers components.
* Refactor the ProfileForm component to dynamically change the button text based on the form's state.

* Render specific button text for last onboarding slide

* Fix back arrow styles for accessibility

Also set an explicit width on the containing button around the svg.

* Use min-width to specify back-button size
2020-04-23 16:30:48 -07:00
Vaidehi Joshi
046ec2eaee
Use back button svg icon in onboarding slides (#7455) [deploy] 2020-04-22 16:54:46 -07:00
Vaidehi Joshi
5f67f7b2e3
Add a progress stepper to onboarding flow (#7450) [deploy] 2020-04-22 13:59:43 -07:00
Mac Siri
a181a3af3a
[deploy] Remove Onboarding's ClosingSlide (#7443) 2020-04-22 14:08:10 -04:00
Vaidehi Joshi
844c20b560
Reorder onboarding slides (#7429)
Swap FollowTags with ProfileForm
2020-04-22 11:51:34 -04:00
Vaidehi Joshi
bbe0bf970f
Split up content of EmailListTermsConditionsForm within onboarding (#7294) [deploy]
* Move Terms & Conditions, CoC into Intro slide of onboarding

Closes https://github.com/thepracticaldev/dev.to/issues/6545.

* Rename ClosingSlide in Onboarding tests

* Rename EmailListTermsConditionsForm to EmailPreferencesForm

* Proper lint and prepend `v2:` to some onboarding components

* Move email preferences to last slide

Closes https://github.com/thepracticaldev/dev.to/issues/6550.

* Use crayons variables for padding

* Remove backToSlide function, rename buttonIsDisabled function
2020-04-15 15:16:53 -07:00
Mac Siri
211ddb9613
[deploy] Add footer toggle to Onboarding's tag follow slide (#7293)
* Apply toggle logic to FollowTag

* Switch terminology and fix pluralization
2020-04-15 18:20:37 +02:00
Mac Siri
f4c9df2d8e
[deploy] Add footer toggle to Onboarding's user-follow slide (#7266) 2020-04-14 18:25:03 -04:00
Ben Halpern
e1dd1fe9e4
[deploy] Fix onboarding profile slide for short screens (#7269) 2020-04-14 15:30:26 -04:00
Mac Siri
39aca8993c
Combine profile onboarding slide (#7163) [deploy] 2020-04-09 13:47:42 -04:00
Vaidehi Joshi
dbbeaf2422
Onboarding intro slide tweaks (#7162) [deploy]
* Render the user's name on intro slide of onboarding

* Refactor terms + conditions form in onboarding view

* Style the back button using crayons design system.
* Remove redundant scroll styles (only need `overflow-y: scroll` here).
* Ensure that content is readable, and back button doesn't conflict with content.
* Ensure size of content is same size as "intro slide".
* Remove unnecesary inline styles, use CSS class instead.

* Fix missing userData issue

* Onboarding test cleanup, inline greeting instead of in a variable
2020-04-09 08:57:50 -07:00
Lisa Sy
b6fd02b70f
Improve onboarding UI and UX (P1) (#6901)
* Improve onboarding UI and UX (P1)

- Introduce Crayons variables
- Remove unnecessary CSS files to have just one CSS file

* Add new onboarding tests

* Update onboarding yarn test to reflect updated class names
2020-03-30 15:38:15 -07:00
Mac Siri
5f020860af Allow for proper deselect of email_newsletter (#5675) 2020-01-23 16:59:17 -05:00
Dan Ingenthron
12dae72b72 Refactor/lint onboarding slides (#4240) 2019-12-16 17:22:59 -05:00
Jacob Herrington
e79ad764bd Onboarding test love (#4878)
* Reduce code duplication in onboarding tests

* Update variable names for consistency

* Improve test descriptions and format

* Refactor a useless test

This test was fairly pointless, but hopefully with this refactor it
could detect a regression? Although, I think it's really just testing
the that the Preact framework's state mechanism is working the way we
expect it to, but it might be worth leaving this test in.
2019-11-22 14:23:57 -05:00
Jacob Herrington
c6c5421163 Javascript automated testing and a11y doc (#4873)
* Add jext-axe package and introduce a11y testing

Automated a11y testing is NOT comprehensive. We cannot expect this to
even scratch the surface of potential a11y issues.

However, we can expect to find a percentage of issues that are currently
flying under the radar. Adopting some automation around a11y testing
also allows us to use CI to find a11y regressions -- which should be
really handy.

I've never really used Jest before, and Preact seems to make it a little
more complicated, but as far as I can tell, this is a decent way to add
at least some minor automated a11y testing.

* Add doc about automated a11y tests
2019-11-22 08:32:01 -05:00
Jacob Herrington
afc9351399 Onboarding a11y fixes (#4728) [deploy]
* Fix some eslint complaints

* Fix some basic a11y issues in onboarding

- Missing a main element
- TODO to enable zooming
- Rename a duplicate ID attribute

I may need some context on the zooming thing, why did we decided to
disable that in the first place? It is a pretty bad a11y issue, we will
need to fix whatever that is a workaround for instead of making it
difficult for some people to use our onboarding.

* Update screenshots
2019-11-06 12:51:13 -05:00
Jacob Herrington
2447d6df9e Fix linter complaints in onboarding/components/IntroSlide.jsx (#4469)
* Fix linter complaints

* Update snapshots

* Fix whitespace
2019-10-25 10:20:58 -04:00
Ben Halpern
40559a0457
Add random variants to onboarding for a/b testing (#3742)
* Add random variants to onboarding for a/b testing

* revert listings dashboard snapshot
2019-08-18 18:30:22 -04:00
Theau Poulat
e0a7c7cc6e Onboarding : fixed bug that prevented toggle by clicking on label (#3725)
* toggle click bug fixed

* updated snapshot
2019-08-16 11:41:00 -04:00
Ben Halpern
640ada4948
Tiny adjustments to copy and functionality of onboarding (#3549) 2019-07-26 16:56:44 -04:00
Ali Spittel
52c60ce37e Feature/refactored onboarding (#3333)
* set up refactored onboarding

* create onboarding page

* add in first slide and change slide functionality

* fix test suite

* profile refactor

* profile refactor

* refactor to api

* add checkbox fields

* add checkbox fields

* remove puts

* add basic css

* add styling

* add redirect

* hide back and next at first and last slides

* test refactored onboarding

* test refactored onboarding

* remove article edits

* Fix schema

* Add deleted file back in

* Add default value for checked_t&c column

* Adjust HTML structure to keep nav buttons in place

* Fix ESLint issues on Onboarding.jsx file

* Handling for undefined or empty followedTags on getUserTags

* Fix codeclimate issues

* Fix codeclimate issues

* Fix more codeclimate issues

* Fix more codeclimate issues

* Update Onboarding snapshots

* Uncheck the CoC and T&C checkboxes on render

* Update snapshots

* Return false instead of raising error

* Update spec to use new onboarding

* Redirect to onboarding if haven't seen it yet

* Prevent redirect to onboarding from /signout_confirm

* Use assign_attributes instead of saving twice

* Move COC and T&C checkbox page to second slide

* Add 'go back to original page' functionality

* Reuse ready prototype logic

* Keep track of the last visited onboarding page

* Fix email subscription bug

* Fix overflow issue for tags page

* Remove height to prevent page container scrolling

* Check for CoC and T&C for displaying onboarding

* Add InstantClick redirect and preserve referrer in client

* Fix async update + check by using localStorage

* Turn off onboarding for tests

* Finalize design for onboarding

* Finalize design for onboarding

* Make bulk follows during onboarding

* Fix bulk follow test
2019-07-26 15:53:32 -04:00