* change event segmentation to plans-page-layout-v2-annual
* update some new plans page event to have new event key
* add location segmentation key for some of the group plans events
GitOrigin-RevId: 99d8258112d9661955a196e57ca05a017afba0f4
* Add onboarding survey page
* Add onboarding new analytics events to mixpanel allowlist
* [web] Try Premium prompt
* moved try-premium code to overleaf-integration
* fixed sheet styling
* Add onboarding flow redirect handling to registration handlers (#9462)
* Add redirect logic for onboarding flow after registration
* Update UPGRADE_PROMPT_URL
* Cleanup style of OverleafAuthenticationController
* Refactor finishLogin calls to call wrapped function in OverleafAuthenticationController
* Refactor user properties/onboarding flow redirect into finishLogin wrapper
* Fix async/await calls after refactoring
* Update tests for finishLogin refactoring
* Don't redirect to upgrade prompt if user has premium via commons
Co-authored-by: Miguel Serrano <mserranom@users.noreply.github.com>
GitOrigin-RevId: 7c392aa6949f99fa909f9ca4e4baad4c4d4ff6be
* [web] hide the monthly/annual switch for small screens via css
Co-Authored-By: Jakob Ackermann <jakob.ackermann@overleaf.com>
* [web] merge logic for hiding elements shown in a subset of view
Co-Authored-By: M Fahru <m.fahru@overleaf.com>
* [web] hide the monthly/annual switch for small screens via css
Co-Authored-By: M Fahru <m.fahru@overleaf.com>
* [web] merge logic for hiding elements shown in a subset of view
Co-Authored-By: M Fahru <m.fahru@overleaf.com>
* fix inverted logic on monthly annual checking
* delete some duplicated logic and refactor
* merge switch functions
* move global variable into the main module
* simplify the enable and disable switch
* remove unused parseFloat
* simplify group plan pricing calculation
* simplify discount group plan logic
* simplify sticky header logic
* merge view and period switching
* fix underlining of switch text
* simplify class list toggling
* merging two function of the group plan
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 5e51690514bbf1dee2639011748c6a8470e1c19a
* change wrong description on individual standard (collaborator) plan on the new plans page
* reuse old "one_collaborator" translation key and fix individual professional description
* fix wrong descriptions on student table
* new plans page: remove buy button exclamation mark
* change "Buy Now" to "buy now"
GitOrigin-RevId: 274bca246b5f3d877b795e67036b93ab3494a1c3
* New plans page: Show initial price value upon first render
* fix wrong test on SubscriptionController and add new tests on SubscriptionHelper
GitOrigin-RevId: a339a97cff2df0728ba35885af8953c8a0e0b7c8
* Add plans page split test variant with new layout
* Set itm_content to toggle if group modal clicked through via variant view toggle button
* Change split test name to be more specific
GitOrigin-RevId: 0fa48b1b74eea84f15e630e3a62b36be5549da9e
* Always add the meta[viewport] tag
* Set metadata.viewport to false on projects list page
* Remove setting metadata.viewport = true
* Add viewport: false to editor page
GitOrigin-RevId: 6f9d4c1972e3e6fdf1b6c23cd17d57ba866fcaeb
Tweak group plan upgrade modal to match UI changes of marketing page group plans purchase modal
GitOrigin-RevId: 91db5de38fa4d273ae50924eec5db2b8e12ed7f9
* Add script to fetch group data pricing from Recurly
* Update groups pricing data using script to fetch prices from Recurly
* Add additional currencies to saas settings
* Refactor group plans upgrade modal to use shared options from settings
GitOrigin-RevId: 6d13d5b152d01e0399f9d2b8f6f8bf99784589e8
* Add VAT calculation (with details) to the group upgrade modal
* Move 'per year' to seperate line to prevent text overflow
* Rename taxAmmount to taxAmount
GitOrigin-RevId: 37b7d471a704192d9cc4b96765f7449e747b2add
* Let users upgrade to group plans via subscription dashboard
Users on an individual plan don't have a way to upgrade to a group
subscription without contacting support. As a temporary measure, we're
adding a way to do this by re-using the existing group plan modal from
the plans pages, to allow users to configure and upgrade to a group plan
directly.
This is currently only available for USD, EUR, and GBP - since although
we now support other currencies in Recurly, the group plans modal does
not yet support them. The user however can not change currency here,
their group subscription will be in the same currency as their current
individual subscription.
The group plan modal has been duplicated rather than extended, to keep
this code seperate as it is potentially only a stopgap measure - and we
don't want to be untangling the additional logic from the existing
modal/template later down the line.
GitOrigin-RevId: 10664bd19af2c3870dfe7e19fd0f9c5b7c877cc6
Users on an individual plan don't have a way to upgrade to a group
subscription without contacting support. As a temporary measure, we're
adding a way to do this by re-using the existing group plan modal from
the plans pages, to allow users to configure and upgrade to a group plan
directly.
This is currently only available for USD, EUR, and GBP - since although
we now support other currencies in Recurly, the group plans modal does
not yet support them. The user however can not change currency here,
their group subscription will be in the same currency as their current
individual subscription.
The group plan modal has been duplicated rather than extended, to keep
this code seperate as it is potentially only a stopgap measure - and we
don't want to be untangling the additional logic from the existing
modal/template later down the line.
GitOrigin-RevId: f310eb10ef00d43076981589ee45893e7d9ab881
* Schedule subscription downgrades to occur at the current term end.
If the plan is a downgrade, schedule the subscription change for term
end. Use Recurly v3 API subscription change event instead of v2 update
subscription.
* Add ability for user to revert a pending subscription change
In the case where a user has downgraded, but has since decided they'd
rather stay on their current plan, we need a way to let them revert. It
isn't enough to re-use a subscription change, because Recurly sees it as
an attempt to make a change from the current plan to itself.
Instead, we use a new dialog and call a new endpoint that has the
specific intent of reverting the pending plan change, by calling the
removeSubscriptionChange recurly client method.
* Add message prompting users to contact support for immediate changes
We're showing this in the confirmation modal for a plan change that
would occur in the future, and and on the subscription page if a pending
change is due.
Most users shouldn't need this, but it should help them out if they find
an edge case like moving from eg. Student (Annual) to Professional
(Monthly) and were expecting to be "upgraded" immediately.
GitOrigin-RevId: c5be0efbeb8568ed9caa941aadcef6f6db65c420
* Add Content-Security-Policy header
* Add nonce attribute to script tags
* Use source-map for webpack devtool
* Add ng-csp attribute when CSP is enabled
* Allow overriding CSP settings with environment variables
* Hook into render and allow routes to disable the CSP header
GitOrigin-RevId: a873736a3514198165f1b2f1e18d002b65f20d30