Commit graph

93 commits

Author SHA1 Message Date
roo hutton
551de499d5 Merge pull request #20802 from overleaf/rh-change-personal-plan
[web] Remove personal plans from 'change plans' table

GitOrigin-RevId: 284573cf3d5d38b1964d10fe6451b1468c90ff84
2024-10-14 11:02:24 +00:00
Antoine Clausse
9997c4874f [web] Migrate /user/subscription to BS5 (#20513)
* [web] Initialize BS5 in subscription page

* [web] Update subscription-dashboard.tsx for BS5

* [web] Update row-link.tsx for BS5

* [web] Update modals

* [web] Add `btn` to `btn-inline-link` classes

* [web] Update circle change-to-group circle price element

* [web] Replace `list-item-with-margin-bottom` with `mb-3`

* [web] Update form elements to BS5

* [web] Use `useContactUsModal`

* [web] Adjust tables margin/padding, and more

* [web] Update change-to-group-modal.tsx

* [web] Add gap to subscription buttons

* [web] Remove subscription page colspan for md and above

* [web] Use Notification component

* [web] Update "leave group" buttons

* [web] Fix tests: add `ol-user` meta tag

* [web] Nest .hover-highlight in #subscription-dashboard-root

* [web] Update to OLRow/OLCol

* [web] Update to OLButtons

* [web] Update to OLFormGroup

* [web] Naming: use BSversion prefix

* [web] Set CancelSubscriptionButton as ghost directly in component

* [web] Set "Plan" font size

* [web] Simplify cancel-subscription buttons

* [web] Remove `--neutral-10` ModalFooter background

* [web] Simplify circle styles

* [web] Center discount badge

* [web] Update fieldset label

* [web] Add `<ul>` around RowLink

* [web] Define SCSS for row-link component

* [web] Remove some use of utility classes

* [web] Revert and update `fieldset` changes (fixes tests)

* [web] Fixup some more OLButtons

* [web] Fixup use of OLRow/OLCol

* [web] Reduce spacing below "legend-as-label"

* [web] Use h5 instead of small in OLModalTitle

* [web] Revert OLCol removal on lg screens

I had removed them by mistake because I wasn't using the proper breakpoints

* [web] Add backdrop to nested modal ContactUsModal

* [web] Don't prefill project URL in ContactUsModal

* [web] Fix lint

* [web] Share `className` prop in BS5 and BS3 modals

* [web] Set sub-title font sans serif (BS3)

* [web] Update remaining Alerts to OLNotification

GitOrigin-RevId: 7fd975ae3e992cebfaf71d4e182f8e13ec886d09
2024-10-01 08:05:14 +00:00
Antoine Clausse
d4bf47932e [web] Migrate /subscription/invites/:token to BS5 (#20640)
* [web] Wiring work for `/subscription/invites/:token` BS5 migration

* [web] Add SCSS for .enrollment-invite

* [web] Update invite_logged_out PUG file for BS5

* [web] Update `GroupInviteViews` (and children) to BS5

* [web] Update `InviteManaged` to BS5

* [web] Update Logout button

* [web] Update subtitles

This removes the `text-overflow:ellipsis`. I think it's better without it, because it can be an accessibility issue.

* [web] Add margin on inner-card

* [web] Style action buttons in InviteManaged

* [web] Add missing container around Row

This was causing the row to overflow the body.

Increased the col width to compensate.

* [web] Fixup lint

* [web] Fix `ManagedUserCannotJoin` title in BS3 (!)

I checked all the other `OLNotification`: we don't use `title` anywhere else

* [web] Put title in OLNotification content

See https://github.com/overleaf/internal/pull/20640#discussion_r1777551257

* [web] Use translations for "aria-label="Email address""

* [web] Handle OLButton `isLoading` in `bs3Props`

* [web] Remove duplicated `btn` class

* [web] Add margin-bottom to InviteManaged title and fix logout button CSS in BS3

* [web] Adjust col class in Pug file for BS3 and BS5

* [web] Revert migration to OLNotification

Revert back to `@/shared/components/notification`

* [web] Add note to remove .team-invite-name after BS5 migration

* [web] Set `btn-link-logout` in BS3 only

* [web] Update OLButton so other classNames automatically get passed to the BS3 implementation

* [web] Revert OLButton changes for BS3 classnames

Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>

* [web] Update services/web/modules/group-settings/frontend/js/components/invite-managed.tsx

Co-authored-by: ilkin-overleaf <100852799+ilkin-overleaf@users.noreply.github.com>

* [web] Use OLFormGroup `controlId`

---------

Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>
Co-authored-by: ilkin-overleaf <100852799+ilkin-overleaf@users.noreply.github.com>
GitOrigin-RevId: 64b3f79c83002a9c9585bfb8e344e80b2e8eac5c
2024-10-01 08:05:09 +00:00
Antoine Clausse
246157cf63 [web] Migrate /subscription/invites to BS5 (#20652)
* [web] Wiring work for `/subscription/invites` BS5 migration

* [web] Migrate group-invites.tsx to BS5

* [web] Migrate group-invites-item.tsx to BS5

GitOrigin-RevId: a12aafce3ad0040dc500f5f29b1a20fbae4a748e
2024-10-01 08:05:04 +00:00
Eric Mc Sween
918d0f24eb Merge pull request #20547 from overleaf/em-assist-plan
Add a button for buying standalone Overleaf Assist

GitOrigin-RevId: 50baea48ea990eba38ef564b71a79a76bbd45dfc
2024-09-30 08:04:52 +00:00
Antoine Clausse
44103dd6a5 [web] Migrate /user/subscription/canceled to BS5 (#20590)
* [web] Initialize BS5 in subscription page

* [web] Backend wiring for `/user/subscription/canceled` to BS5

* [web] Backend `Canceled` to BS5

GitOrigin-RevId: 660458145c06e0d2dd1343186d31b6a7662b01a0
2024-09-26 08:05:04 +00:00
Antoine Clausse
6b4c483269 [web] Migrate /user/subscription/thank-you to BS5 (#20588)
* [web] Initialize BS5 in subscription page

* [web] Backend wiring for `user/subscription/thank-you` to BS5

* [web] Update `SuccessfulSubscription` to BS5

GitOrigin-RevId: 45162664c116eb04b73e16443c84fa24ea8b220c
2024-09-26 08:04:59 +00:00
Thomas
a16db120c0 Implement free trial limits (#19507)
* Add additional validations for subscription trials

GitOrigin-RevId: 1cb821c62e02d3eaa5b2bcacaee63b6bc7a63311
2024-08-08 08:05:05 +00:00
Jakob Ackermann
aa480a2663 Merge pull request #18898 from overleaf/jpa-no-window
[web] migrate from window attributes to getMeta

GitOrigin-RevId: 3dcf1ab6b01155e5e4abeb3e78d0fa9053e055bc
2024-06-19 08:04:21 +00:00
Jessica Lawshe
cbe5cefb9a Merge pull request #18161 from overleaf/jel-subscription-dash-admin
[web] Subscription dash message when viewing as admin

GitOrigin-RevId: 699a523d7ac8d1a71e9ba14c7b8a66b39142958a
2024-05-31 08:04:23 +00:00
Jessica Lawshe
c6b88085d5 Merge pull request #18188 from overleaf/jel-react-group-invite
[web] Migrate team invite to React

GitOrigin-RevId: 32e968c3b512020aef9a396808c73a7b4859e6d1
2024-05-09 08:05:03 +00:00
Antoine Clausse
2f99e3ccf1 Add autoComplete="off" to React-controlled checkboxes (#18212)
Fixes https://github.com/overleaf/internal/issues/18144

Browsers use a [bfcache](https://web.dev/articles/bfcache) (Back/forward cache) which restores form data on navigation. Unfortunately, it causes checkbox appearances not to respect our React states.

Setting `autoComplete="off"` on checkboxes mitigates this problem. (From https://stackoverflow.com/questions/299811/why-does-the-checkbox-stay-checked-when-reloading-the-page)

Another solution could be to set a `Cache-Control: no-store` header, but this might additionnal undesired consequences.

GitOrigin-RevId: 7d3cceb1c818ad70de7e806ea6d714ffc8bffb4a
2024-05-06 08:04:39 +00:00
Jessica Lawshe
ae0abd6445 Merge pull request #18159 from overleaf/jel-group-invite-header
[web] Break word on group invite header

GitOrigin-RevId: 790c24e8291f1dbdfa9231e4c9e3d4e531bf2b8f
2024-05-02 08:03:52 +00:00
Antoine Clausse
6a6f155029 [web] Use React hooks to get split-test variants instead of getSplitTestVariant (getMeta) (#18133)
* Fix split-tests loading in React component: use `useSplitTestContext` instead of `getSplitTestVariant`

* Replace use of `isSplitTestEnabled` by `useSplitTestContext`

* Add SplitTestProvider to roots, and fix tests

* Create `useFeatureFlag` hook

* Use `useFeatureFlag` where applicable

GitOrigin-RevId: 9ff7bb3975d50bc4d07d74d93c482d56dc96f615
2024-05-01 08:04:55 +00:00
Antoine Clausse
ede03daafd Rename test to local-ccy-format-v2 to restart with clean data (#18115)
GitOrigin-RevId: 610495f41d69f8cac1a427ef7b8d64886bc5cdba
2024-04-26 08:04:26 +00:00
Antoine Clausse
b2ef7a935f [web] Use localized number formatting for currencies (#17622)
* Add a unit test on `SubscriptionFormatters.formatPrice`

* Add JSDoc to `formatPrice`

Also: Name the functions before exporting:
This fixes my IDE (WebStorm) navigation

* Make `'USD'` the default param instead of reassigning

* Create `formatCurrency` function

* Use `formatCurrency` in SubscriptionFormatters

* Use an `isNoCentsCurrency` logic for `CLP` `JPY` `KRW` `VND`

And remove custom `CLP` logic and locale

* Add `locale` param to `formatPrice`

* Generate `groups.json` and `localizedPlanPricing.json`

```
bin/exec web node ./scripts/recurly/recurly_prices.js --download -o prices.json
bin/exec web node ./scripts/plan-prices/plans.js -f ../../prices.json -o dir
```

* Update scripts/plan-prices/plans.js to generate numbers instead of localized amounts

* Generate `groups.json` and `localizedPlanPricing.json`

```
bin/exec web node ./scripts/recurly/recurly_prices.js --download -o prices.json
bin/exec web node ./scripts/plan-prices/plans.js -f ../../prices.json -o dir
```

* Remove generation of `plans.json`

As /services/web/frontend/js/main/plans.js was removed in https://github.com/overleaf/internal/pull/12593

* Sort currencies in alphabetical order in scripts/plan-prices/plans.js

* Generate `groups.json` and `localizedPlanPricing.json`

```
bin/exec web node ./scripts/recurly/recurly_prices.js --download -o prices.json
bin/exec web node ./scripts/plan-prices/plans.js -f ../../prices.json -o dir
```

* Use `formatCurrency` in price-summary.tsx

* Use `formatCurrency` in Subscription Pug files

* Fix unit tests SubscriptionHelperTests.js

* Remove unused `currencySymbol`

* Change to `formatCurrency` in other React components

* Add `CurrencyCode` JSDoc types

* Duplicate `formatCurrency` into services/web/app/src/util

* Wrap tests in a top-level describe block

* Use `narrowSymbol`

* Fix tests with `narrowSymbol` expects

* Revert deletion of old `formatPrice` in SubscriptionFormatters.js

* Rename `formatCurrency` -> `formatCurrencyLocalized`

* Revert deletion of `CurrencySymbol`

* Add split-test in SubscriptionController.js

* Add split-test in SubscriptionViewModelBuilder.js

* Add split-test in plans

* Add split-test in subscription-dashboard-context.tsx

* Add split-test in 4 more components

* Update tests

* Show currency and payment methods in interstitial page

* Fix `&ndash;` being printed. Use `–` instead

* Fix test with NOK

* Storybook: Fix missing `SplitTestProvider`

* Storybook: Revert "Remove unused `currencySymbol`"

This reverts commit e55387d4753f97bbf8e39e0fdc3ad17312122aaa.

* Replace `getSplitTestVariant` by `useSplitTestContext`

* Use parameterize currencyFormat in `generateInitialLocalizedGroupPrice`

* Fixup import paths of `formatCurrencyLocalized`

* Replace `% 1 === 0` by `Number.isInteger`

* Add comment explaining that any combinations of languages/currencies could happen

* Fixup after rebase: import `useSplitTestContext`

* Revert "Remove SplitTestProvider from subscription root"

This reverts commit be9f378fda715b86589ab0759737581c72321d87.

* Revert "Remove split test provider from some tests"

This reverts commit 985522932b550cfd38fa6a4f4c3d2ebaee6ff7df.

GitOrigin-RevId: 59a83cbbe0f7cc7e45f189c654e23fcf9bfa37af
2024-04-19 08:03:54 +00:00
Jessica Lawshe
d5639794c2 Merge pull request #17166 from overleaf/ab-fix-group-settings-label
[web] Cleanup managed users env var and fix group settings label

GitOrigin-RevId: 817ed86a6c94c03adb41e8c10115d6404180142e
2024-02-20 09:05:54 +00:00
Jimmy Domagala-Tang
537c822789 Merge pull request #16874 from overleaf/jdt-me-learn-links-new-tab
Learn wiki links should open in new tab

GitOrigin-RevId: 7e87feff971bc2c28d0e0bac85e0e20ef139e321
2024-02-06 09:03:57 +00:00
Jimmy Domagala-Tang
d2ab51f385 Merge pull request #16320 from overleaf/msm-remove-ic-country
[web] Remove Canary Islands from Recurly countries

GitOrigin-RevId: edad9e5fee1f90608dfea29ad45a5a08b711c4f3
2024-01-04 09:03:34 +00:00
Thomas
24023dd267 Merge pull request #15901 from overleaf/tm-design-system-updates-teardown
Design system updates test tear down and clean up

GitOrigin-RevId: 743423f7c31c0ba89093bba0107d7e6799e1c309
2023-11-28 09:04:06 +00:00
Mathias Jakobsen
7c8014d791 Merge pull request #15798 from overleaf/mj-features-page-teardown
[web] Tear down features-page split test

GitOrigin-RevId: 346064bea8775033d226f4405843717b380085fd
2023-11-21 09:04:03 +00:00
M Fahru
0639f266d8 Merge pull request #14756 from overleaf/mf-group-invite-new-user-redirection
[web] Redirect to invite screen if new user register with a pending group invitations

GitOrigin-RevId: 39aeffd65b9d793c87e53398a700ad140794594e
2023-11-10 09:04:23 +00:00
Alexandre Bourdin
8abf8ba956 Merge pull request #15639 from overleaf/ab-fix-group-settings-visibility
[web] Various fixes for Group SSO

GitOrigin-RevId: 0a98d7eed14b2878a6be5e28e54ab1f7ceb9be5f
2023-11-07 12:34:45 +00:00
Davinder Singh
8b5213397c Group SSO - Display group SSO switch independently of managed users (#15423)
GitOrigin-RevId: 249a9b176404418da712eee9e29de931d9498887
2023-11-07 09:04:31 +00:00
Alf Eaton
221d16f4e4 Disable transSupportBasicHtmlNodes in react-i18next config (#15430)
* Set transSupportBasicHtmlNodes to false
* Update ESLint rule
* Convert Trans to t
* Convert shouldUnescape={true}
* Convert some arrays to objects
* Update translations

GitOrigin-RevId: 64a50318388abcada408f72d949de148129a9f63
2023-10-31 09:04:04 +00:00
Alf Eaton
0c81bccfca Ensure that translation values are correctly escaped (#15252)
GitOrigin-RevId: 5a38b4c01921fd4d95dbdb7b9e756443fdb00b80
2023-10-20 08:03:31 +00:00
Alexandre Bourdin
7268e0f0aa Merge pull request #15084 from overleaf/ab-managers-users-ga
[web] Managed users general availability prep

GitOrigin-RevId: 9ab286a67c15f67e5d7617db506547b6ead8a9cb
2023-10-09 08:04:11 +00:00
Thomas
843b4f3940 Move checkout to subscriptions module (#15022)
* Move checkout to subscriptions module

GitOrigin-RevId: 0ad6587ddd7042aed7f2e18d9d0668e02942eb1e
2023-10-03 08:04:31 +00:00
Jakob Ackermann
9daa8f5d98 Merge pull request #15040 from overleaf/jpa-js-to-jsx
[web] rename all the JSX files to .jsx/.tsx

GitOrigin-RevId: 82056ae47e017523722cf258dcc83c8a925a28f7
2023-09-29 08:04:29 +00:00
Jakob Ackermann
1213709578 Merge pull request #14980 from overleaf/jpa-debug-console
[web] migrate frontend logging to debugConsole

GitOrigin-RevId: b03ff9030b03fff059738d2270bc4b4912e79f16
2023-09-28 08:04:12 +00:00
ilkin-overleaf
c6289cc67f Merge pull request #14773 from overleaf/ii-modify-design-system-update-split-test
[web] Modify design-system-update split test

GitOrigin-RevId: f28aeef5ba782006afd30fd2862d0ad129077f6c
2023-09-18 08:03:49 +00:00
Thomas Mees
00f329cb67 Move check to display PremiumFeaturesLink in to SubscriptionDashboard
GitOrigin-RevId: 931dcd61e019d889e60a6c7ea5f1facd15dcf905
2023-09-06 08:06:00 +00:00
Thomas Mees
2ca51e82cd Add new flag to subscription dash context for PremiumFeaturesLink
GitOrigin-RevId: 55c3d00e0e0fdeb5a63cefac3f1c1428ce01cc9a
2023-09-06 08:05:51 +00:00
Thomas Mees
1cde138160 Move premium features link outside the subscription block
GitOrigin-RevId: b88d765d859f1bdf1eb1d469131c8f239f327562
2023-09-06 08:05:47 +00:00
Thomas
6a9c9652f9 Merge pull request #14007 from overleaf/tm-subscription-active-until-trial-ends
Show cancelled subscription will remain active until end of trial

GitOrigin-RevId: 277f477dc95869ff61cbb48cb2033ec55db3cf52
2023-08-09 08:04:28 +00:00
Tim Down
3aa0fcf464 Merge pull request #13934 from overleaf/tm-block-subscriptions-restricted-countries
Block web sales to restricted countries

GitOrigin-RevId: 47c0ac1d5dc387369bbadb67f5822d7fc6637d98
2023-07-25 08:03:59 +00:00
Brian Gough
558992d947 Merge pull request #13916 from overleaf/bg-managed-users-hide-leave-group-action
managed users hide leave group action

GitOrigin-RevId: 160e31e6935cd3737356714020e057f8c1acc5b8
2023-07-21 08:04:36 +00:00
Brian Gough
d298a258e0 Merge pull request #13932 from overleaf/bg-managed-users-hide-reactivate-button
hide button to reactivate subscription for managed users

GitOrigin-RevId: 3632c5ffdee68eb5e0aed1479f3b7ffb45e3aa4a
2023-07-21 08:04:31 +00:00
Rebeka
38d1e749fb Update translation for the annual plan
GitOrigin-RevId: 3a7e42f61f7820221df3be3c8bd4cd1738b5cb46
2023-07-17 11:12:17 +00:00
June Kelly
4f8852feaa Merge pull request #13850 from overleaf/ab-invite-enrollment
[web] Managed users - combined invite/surrender flow

GitOrigin-RevId: 70cb0d81e0019eac69a4a565377447bb6d1a1823
2023-07-17 11:10:37 +00:00
Thomas
c1ec3044d7 Add geo-pricing split test for enabling LATAM currencies (#13663)
* Implement LATAM geo-pricing split test

* Hide Paypal if currency is one of INR, COP, CLP, PEN

* Only send the LATAM/INR banner events when banner is rendered

* Workaround in Subscription dashboard for CLP not having minor units

GitOrigin-RevId: a677086a7762900563558126d2f81a4c57bbe9d7
2023-07-17 11:01:10 +00:00
Alexandre Bourdin
2ef48be496 Merge pull request #13448 from overleaf/ab-sub-dash-wording-changes
[web] Wording changes on the subscription dashboard buttons

GitOrigin-RevId: 9b5be3a39b2a4c6f92041aab1478f8a87e3a74cf
2023-07-17 10:41:51 +00:00
Alexandre Bourdin
39bc601826 Merge pull request #13482 from overleaf/ab-group-settings-page
[web] Group settings button and page enabled based on env var

GitOrigin-RevId: 77574a3705b3f1301935b72010022af61f7fe552
2023-07-17 10:41:41 +00:00
Davinder Singh
88d0254dde Merge pull request #13390 from overleaf/ab-managers-page-styling
[web] Full-row links styling for group subscription links in dash

GitOrigin-RevId: f3b2dd67e9c14cf8fde1df41d74d380c06cc3d4c
2023-07-17 10:31:18 +00:00
Rebeka
9fd9e991a7 Update Recurly card style based on split test variants
GitOrigin-RevId: 6c5bd6dffb9254400e7e134da8334957b929d78e
2023-05-31 08:04:50 +00:00
Alexandre Bourdin
d95eeb097a Merge pull request #13096 from overleaf/ab-disable-paypal-checkout-inr
[web] Disable paypal as a payment option when INR is selected

GitOrigin-RevId: f12796ac23d0c7dce1a06c12b7c8cef5f7acae6d
2023-05-16 08:05:46 +00:00
Alexandre Bourdin
caeceba28c [web] INR Geo pricing test (#12976)
* Implement INR geopricing test

* Show again the INR banner after 30 days

* Update INRBanner to direct users to the plans page and add tracking

* Remove local testing hack in GeoIpLookup

* Update formatter for subscription dashboard

* Flip assignment to assign all users and add event segmentations

* Fix linting

* Review suggestions - factorised recommended currency helper function

GitOrigin-RevId: b1616520f8c7ead689a840720057297e67d3f574
2023-05-11 08:03:59 +00:00
Jessica Lawshe
44c2b6d2b2 Merge pull request #12958 from overleaf/jel-payment-change-currency
[web] Add currency as a dependency of effect and query price with current currency

GitOrigin-RevId: 1bbb2c5cd71a0dc23642e9af1eddc4a8a129b7ae
2023-05-05 08:05:27 +00:00
June Kelly
e89b4b4214 Merge pull request #12811 from overleaf/jk-plans-event-currency-segmentation
[web] Add currency/id segmentation to Recurly analytics events

GitOrigin-RevId: 56998f403358d5f6b3cece6835e16e65e06635b1
2023-05-02 19:44:24 +00:00
Alf Eaton
f375362894 Always use mockable location methods (#11929)
* Always use mockable location methods
* Add eslint rules for window.location calls/assignment
* Add useLocation hook
* Update tests

GitOrigin-RevId: eafb846db89f884a7a9a8570cce7745be605152c
2023-03-17 09:05:21 +00:00