Commit Graph

115 Commits

Author SHA1 Message Date
Eric Mc Sween 737d1599c3 Merge pull request #21897 from overleaf/jdt-assistant-events
Ai Error assistant events

GitOrigin-RevId: c70e5cecbc220fdfc63512680a76616dbd631c86
2024-11-28 09:06:15 +00:00
Eric Mc Sween 240c992dd1 Merge pull request #22030 from overleaf/em-subscription-change-pay-now-button
Implement the Pay Now button for upgrades to premium from the AI add-on

GitOrigin-RevId: 06e00662b877308c64ce5feaa5ce8f80f8f1b552
2024-11-25 09:05:11 +00:00
Liangjun Song b691c26e59 Merge pull request #21957 from overleaf/ls-compute-immediate-charge-for-subscription-update
compute immediate charge for subscription update

GitOrigin-RevId: 4e5162660b26e6e9db69827a59aa8e0048fa7d5d
2024-11-22 09:05:12 +00:00
Jimmy Domagala-Tang 9bf8124e6f Merge pull request #21938 from overleaf/jdt-checkout-success-add-on-wording
[Web] Adapt post checkout page for add-ons

GitOrigin-RevId: ee3ee28820f65977600a5aa47d85365148233bac
2024-11-21 09:05:01 +00:00
Eric Mc Sween 63c20826da Merge pull request #21959 from overleaf/em-redeploy-ai-add-on-prs
Redeploy AI add-on PRs

GitOrigin-RevId: d234ac0862947e9ea8926055ad205e32a456dd2e
2024-11-21 09:04:57 +00:00
Miguel Serrano d080218d96 Merge pull request #21683 from overleaf/msm-sso-admin-checkbox
[web] Change Group SSO radio in admin panel to checkbox

GitOrigin-RevId: c4a07400c6f399724be0368108be24ec6df67efa
2024-11-21 09:03:52 +00:00
Miguel Serrano 2d122323eb Merge pull request #21884 from overleaf/msm-remove-group-sso-enabled-flag
[web] Cleanup `GROUP_SSO_ENABLED` env variable

GitOrigin-RevId: b41ce989348c70c3b4ca59ebf4986edf059534aa
2024-11-21 09:03:43 +00:00
Eric Mc Sween bf073279f7 Merge pull request #21954 from overleaf/em-revert-ai-add-on-deploy
Revert faulty AI add-on deploy

GitOrigin-RevId: 923ec89f01d4951596f83fcf58b820c39db1e54a
2024-11-19 09:05:27 +00:00
Eric Mc Sween 45e5b1067e Merge pull request #21937 from overleaf/em-total-per-year
Display "Total per year" for annual subscription change previews

GitOrigin-RevId: 90e6cd6ccc9f442b6ce1ec27f539202d2b6a7796
2024-11-19 09:05:14 +00:00
Eric Mc Sween 9fbcf1666f Merge pull request #21839 from overleaf/em-subscription-change-preview-premium
Subscription preview for users with standalone AI add-on

GitOrigin-RevId: 636fa5aca8538bb95e79040d5c309dc505cfb17a
2024-11-19 09:05:09 +00:00
Eric Mc Sween bd1120b2c2 Merge pull request #21898 from overleaf/em-ai-add-on-checkout-page
Adapt checkout page to standalone AI add-on

GitOrigin-RevId: ed877bc10c1dd4362c981000e0d783e370f3593a
2024-11-19 09:05:04 +00:00
M Fahru c85578848a Merge pull request #21854 from overleaf/as-checkout-name-fields
Add new Name fields for Checkout Redesign

GitOrigin-RevId: 448084e026a86510efe3c76c6663c0a770c24f8e
2024-11-15 09:06:07 +00:00
Eric Mc Sween 0b74ffa242 Merge pull request #21745 from overleaf/em-subscription-change-preview-pay-now
Implement Pay Now button from the subscription change preview page

GitOrigin-RevId: b4b2835ecd366082af6b692b5e859f36091f98be
2024-11-15 09:05:00 +00:00
Jimmy Domagala-Tang 6e02d2d5d8 Merge pull request #21741 from overleaf/jdt-assist-paywall-routing
Direct users to the correct assistant add-on checkout

GitOrigin-RevId: 884d6e68458bc8f27ce79a4849f580a9ec0997fb
2024-11-14 09:05:36 +00:00
Jimmy Domagala-Tang 32973a5b59 Merge pull request #21699 from overleaf/jdt-hide-cancel-addon-when-cancelled-already
[Web] Handle add-on cancellation states on subscriptions page

GitOrigin-RevId: 2b834df6747560d54b7dc22e3870ee7a7e236498
2024-11-14 09:05:32 +00:00
Eric Mc Sween 697cea029c Merge pull request #21556 from overleaf/em-subscription-change-interstitial
Add-on purchase preview page

GitOrigin-RevId: 660e39a94e6112af020ea783d6acf01a19432605
2024-11-07 09:04:49 +00:00
Jimmy Domagala-Tang f8892cbc2e Merge pull request #20968 from overleaf/jdt-subscription-page-addons
feat: add all add-ons to price calculation in subs view model
GitOrigin-RevId: d03374192d735278c6459fc6341a72d0b0c7c3aa
2024-11-05 09:05:49 +00:00
Tim Down d0e2cccd87 Merge pull request #21566 from overleaf/td-bs5-website-redesign
Add website redesign query string override to arbitrary BS5 pages

GitOrigin-RevId: 72816f00d6e2e92dab21035097abc540689af1d3
2024-11-05 09:05:30 +00:00
Rebeka Dekany 05e8537263 Merge pull request #21238 from overleaf/rd-github-sync
Migrate the Github Sync modal to Bootstrap 5

GitOrigin-RevId: a6178fc2e9c7072d28d0a1b094b42dff12944781
2024-11-04 09:05:14 +00:00
Jimmy Domagala-Tang 3dced9c965 Merge pull request #21009 from overleaf/jdt-fix-assistant-plan-naming
Set Assist

GitOrigin-RevId: 0da509cbebd833da0d2dac648bce988191279c99
2024-10-14 11:10:37 +00:00
Jimmy Domagala-Tang 4ac33b7ed5 Merge pull request #20571 from overleaf/jdt-ai-addon-personal-upgrade
Enable purchasing an AI add-on for users on a monthly collaborator plan

GitOrigin-RevId: 988547bf6f01f7c1477191dd202df4448e376e5f
2024-10-14 11:09:04 +00:00
ilkin-overleaf 7439eee365 Merge pull request #20708 from overleaf/ii-bs5-pdf-toolbar
[web] BS5 pdf toolbar

GitOrigin-RevId: a04091c9e936e52f47c3977b3149ffe613d43bb9
2024-10-14 11:06:17 +00:00
roo hutton e3c809637e 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 012bc38630 [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 13ffe0b696 [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 67ac6a5480 [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 40304865f2 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 835dbb0ab1 [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 787d51a058 [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 e4620cc414 Implement free trial limits (#19507)
* Add additional validations for subscription trials

GitOrigin-RevId: 1cb821c62e02d3eaa5b2bcacaee63b6bc7a63311
2024-08-08 08:05:05 +00:00
Jakob Ackermann cb987446ed 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 43e94857b2 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 9af751edfa 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 8de689b944 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 cce50ecdb4 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 4b707e7630 [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 94ecea8bd0 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 7ed5000e29 [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 bd10c4e78d 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 b22466f776 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 5e907f924d 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 0c3418fcfb 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 f14822d8e8 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 7e04a9d3f7 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 b3308810fe 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 7b53da9cc5 Group SSO - Display group SSO switch independently of managed users (#15423)
GitOrigin-RevId: 249a9b176404418da712eee9e29de931d9498887
2023-11-07 09:04:31 +00:00
Alf Eaton 3b1c15addd 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 052bbdcb61 Ensure that translation values are correctly escaped (#15252)
GitOrigin-RevId: 5a38b4c01921fd4d95dbdb7b9e756443fdb00b80
2023-10-20 08:03:31 +00:00
Alexandre Bourdin 31e5ee61c9 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 bccb91343e Move checkout to subscriptions module (#15022)
* Move checkout to subscriptions module

GitOrigin-RevId: 0ad6587ddd7042aed7f2e18d9d0668e02942eb1e
2023-10-03 08:04:31 +00:00