Commit Graph

123 Commits

Author SHA1 Message Date
Tim Down
427419e6a5 Merge pull request #30233 from overleaf/td-select-check-icon
Fix regression with select check icon

GitOrigin-RevId: c76e126c26395429cd3d41ac4e6ee36259062224
2025-12-11 09:05:33 +00:00
Antoine Clausse
d0d0776d25 [web] Misc. CIAM fixes (#30196)
* Remove focused style from the stepper

* Reduce spacing between password input and password policy

* Make input validation icon larger

* Make animated-tick.svg faster

* Move notification to below h1

* Move notification to below h1

* Fix: Warning: Invalid DOM property `autocomplete`. Did you mean `autoComplete`?

* Wrap form-text in a span so it's displayed correctly and not altered by flex

* Remove "Please request a new password reset email and follow the link." text after the email is entered

* Remove (unnecessary?) flex property on .ciam-form-text-icon

* Rename `messageTextNode` to `messageTextSpan`

* Revert changes to input-validator.ts

GitOrigin-RevId: ad83c92a59b9dbc872cf4e49362b0baec9fb5b93
2025-12-10 09:07:13 +00:00
Antoine Clausse
da72a45e86 [web] Requested changes to email verification screens (#30173)
* no grey hyphen when the input is empty

* show email in bold

* Fix tests

* Add test to verify email display in confirmation code input

* Format

GitOrigin-RevId: ade4a670b9dc80b99f64cc3273407a98428521b8
2025-12-09 09:05:46 +00:00
Tim Down
452d854d5b Merge pull request #29972 from overleaf/td-ciam-onboarding
Unified access onboarding data collection pages

GitOrigin-RevId: c56a3d52f749883eeb2302e22aaf6bdf1239160c
2025-12-08 09:04:54 +00:00
Tim Down
5bbc5b2e58 Merge pull request #29900 from overleaf/td-ciam-login
Implement unified access login page

GitOrigin-RevId: 9973565099e1e88dd9d6b232d8f5c545dc73e6f7
2025-12-04 09:06:11 +00:00
Tim Down
763bede00a Merge pull request #29654 from overleaf/ac-ciam-confirm-email-storybook
[web] CIAM design for Email confirmation form

GitOrigin-RevId: 3e66c45fe20073eb0600b8243761dbe82d7dc6b2
2025-11-26 09:05:47 +00:00
Davinder Singh
6008f8b764 Replacing placeholders with labels for institution Role and department (#29425)
* removing placeholders and adding labels

* adding a test

* adding a test back

* deleting comment

* Target the label of department and role

---------

Co-authored-by: Rebeka <o.dekany@gmail.com>
GitOrigin-RevId: 890c2f836a17c360a577bd71280805e3e5408dd6
2025-11-11 09:05:25 +00:00
Antoine Clausse
2ebc411db4 [web] Create a first implementation of the CIAM version of the email confirmation page (#29432)
* Move `main#main-content.content.content-alt` into a React component (`ContentLayout`)

* Create the CIAM variant of `RegistrationConfirmEmailForm`

* `bin/run web npm run extract-translations`

* Use `CiamLayout` in the Storybook demo

* Add `SplitTestProvider` in tests

* Fix Storybook: Wrap `RegistrationConfirmEmailForm` Story in `onboarding-confirm-email`

* Refactor SCSS files:

- only imports in all.scss
- split .storybook-layout and .storybook-enabled
- extract ciam-spacing.scss

GitOrigin-RevId: f4a214a0978423a1621dd8f60bf459af7b8f877e
2025-11-05 09:06:30 +00:00
MoxAmber
87d8e142cc Merge pull request #29332 from overleaf/as-sso-prevent-double-linking
[web] Prevent users from attempting to link to the same SSO institution twice

GitOrigin-RevId: 7e708eadc9f9aedc2007cb83f7f48df83561fa84
2025-10-30 09:06:42 +00:00
Rebeka Dekany
0e04cdda8e Fix translation from "Change email" to "Change role and department" (#29341)
GitOrigin-RevId: c99415d30f7ff65e54f0823d98607a1a757e6c94
2025-10-29 09:05:39 +00:00
Jessica Lawshe
046449d4bd Merge pull request #28710 from overleaf/jel-no-sso-notifications-when-domain-capture
[web] Do not show notification to link to Commons SSO when domain is also for group with domain capture

GitOrigin-RevId: 6779e2db02d5d9cc4e7a60789a620403a4e4aa11
2025-10-17 08:06:15 +00:00
Rebeka Dekany
19b38340ac Consistent usage of the modal header close button (#28681)
* Convert OLModal to named exports only

* Make closeButton the default for OLModalHeader

* Set `closeButton={false}` for modal that is not dismissible

* Fix duplicated imports

* Remove another unnecessary `closeButton` prop

* Fix import

---------

Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: ddd7be6e59a966ac634683d2494d6e9d2c3732e6
2025-09-30 08:05:24 +00:00
Rebeka Dekany
aebff54a6b Improvement to OLButton loading labels (#28659)
* Create eslint rule for requiring loadingLabel prop when isLoading is specified on OLButton

* Add `loadingLabel` props for OLButton components with `isLoading`

* Clarify loading label and button loading state

GitOrigin-RevId: 89279d5b4c346f9c3b67a59d0db822a2ff04314a
2025-09-26 08:05:41 +00:00
Liangjun Song
8f9a343004 Merge pull request #28226 from overleaf/ls-remove-leaver-survey-alert
Remove leaver survey alert

GitOrigin-RevId: 6dbeabaff8c73d2ce9e3e382da83ce8f2177668d
2025-09-09 08:06:48 +00:00
Rebeka Dekany
d751b88e6b Bootstrap files and folders cleanup (#27692)
* Remove icons folder

* Create folders for badge, button, and dropdown components

* Remove Bootstrap 5 from test

* Rename `getBootstrap5Breakpoint` to `getBootstrapBreakpoint`

* Cleanup and update BS 5 comments

* Move components to the shared folder

* Rename `tooltips-bs5` to `tooltip`

* Remove `-bs5` suffix

* Fix path

* Delete BS3 version file

* Rename `_form_marketing-bootstrap-5` to `_form_marketing`

* Delete BS3 version file

* Rename `_contact_general_modal-marketing-bootstrap-5` to `_contact_general_modal-marketing`

* Delete BS3 version file

* Rename `_contact_modal-marketing-bootstrap-5` to `_contact_modal-marketing`

* Delete BS3 version file

* Rename `thin-footer-bootstrap-5` to `thin-footer`

* Delete BS3 version file

* Rename `language-picker-bootstrap-5` to `language-picker`

* Rename `fat-footer-react-bootstrap-5` to `fat-footer-react`

* Delete BS3 version file

* Rename `navbar-marketing-bootstrap-5` to `navbar-marketing`

* Rename `navbar-marketing-react-bootstrap-5` to `navbar-marketing-react`

* Delete BS3 version file

* Rename `layout-website-redesign-cms-bootstrap-5` to `layout-website-redesign-cms`

* Source format

* Fix path

GitOrigin-RevId: cf0f5db7c84cf545c69213dcc271d9ff17fe5db7
2025-08-11 08:06:16 +00:00
Simon Gardner
e129856dfe Merge pull request #27445 from overleaf/slg-improve-domain-matcher-error
Improve domain matcher error message

GitOrigin-RevId: 8f07a8e27854637cb931f852e6c59d4960caa33b
2025-08-05 08:06:16 +00:00
ilkin-overleaf
bd57bca3b4 Merge pull request #27479 from overleaf/ii-domain-capture-recovery-email
[web] Domain capture recovery email

GitOrigin-RevId: bcff750aff23f8d8f06e4e19dbda1b7be1623035
2025-08-01 08:06:06 +00:00
Antoine Clausse
e7eb7d32c5 [web] Replace token-link validation on reconfirm affiliation notifications (#27250)
* Update Reconfirm Affiliation (Pug) in Portal page

Change the notification so it directs users to the settings page instead of triggering an email confirmation with token-link

* Update Reconfirm Affiliation (React) in Settings page

Update the component so it sends the 6-digits code and opens the modal to enter it

* Update Reconfirm Affiliation (React) in Projects page

Update the component so it sends the 6-digits code and opens the modal to enter it

* `cleanup_unused_locales`

* `bin/run web npm run extract-translations`

* Update tests

* Minor updates in tests

* Update Pug notifications with the notification mixin

* De-center the "reconfirmed notification"

* Update "Learn more" links to "Learn more about institutional email reconfirmation"

* Update tests

GitOrigin-RevId: cb65623e209217614786eec56f7f5d28b9e8cec5
2025-07-24 08:05:34 +00:00
Jessica Lawshe
1387466151 Merge pull request #27026 from overleaf/jel-domain-capture-check
[web] Check if domain is captured by group when using domain API

GitOrigin-RevId: 6e14df0a1701c33fc80f21f01bb3fbb446d7f074
2025-07-23 08:06:52 +00:00
roo hutton
1b02a26d1f Merge pull request #26799 from overleaf/rh-resolve-deleted-email
Clear loading state after deleting email address

GitOrigin-RevId: 7422a7e223ba430459afa862f10c2b2fd9038306
2025-07-04 08:05:39 +00:00
roo hutton
10b6f82677 Merge pull request #26764 from overleaf/rh-department-autocomplete
Use department institutions when adding email

GitOrigin-RevId: d82df795428f8545f22a64b55986d2bf5fff0037
2025-07-04 08:05:31 +00:00
Rebeka Dekany
1950585514 Improve selectors to reduce flaky E2E tests (#26413)
* Use the leadingIcon prop instead of spacing

* Remove duplicated ID

* Make the alt text to be empty since image is decorative

* Make switcher input visually hidden

The switcher's input previously used 'pointer-events: none', which prevented proper interaction in the test. It replaces that hack.

* Add accessibilityLabel to the info icon that is actually a clickable link

* Use more specific selectors

* It should display

* Use more specific selectors

* Use more specific selectors

GitOrigin-RevId: a555d96cf972d06dd5432f44a23b02355cedcd94
2025-06-27 07:34:51 +00:00
Antoine Clausse
46555d27b0 [web] Add window. prefix to globals and add no-restricted-globals rule (#26422)
* Add `no-restricted-globals` eslint rule

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

* Change `self` to `window.self`

* Change `innerWidth` to `window.innerWidth`

* Change `confirm` to `window.confirm`

* Change `location` to `window.location`

* Use `location` from `useLocation` hook

* Use location from useLocation hook
Co-authored-by: Antoine <antoine.clausse@overleaf.com>

* Disable no-restricted-globals eslint rule for use of 'self'

* Use `confusing-browser-globals` from npm

* Prevent unexpected globals in workers, using `no-undef`

* Use `self` as a global in workers

* Use unexpected globals in workers, using `no-restricted-globals` in workers

---------

Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>
Co-authored-by: Rebeka <o.dekany@gmail.com>
GitOrigin-RevId: 526986799f5f2edf53c7d978fa85c1e98189565f
2025-06-24 08:05:10 +00:00
Antoine Clausse
b3dc0097fd Merge pull request #26188 from overleaf/ac-bs5-fix-redundant-carets
[web] Fix redundant carets in BS5 marketing pages

GitOrigin-RevId: 479687d982db23e4f5f2efcc3f5f39bb78f0eb24
2025-06-12 08:05:11 +00:00
Antoine Clausse
f7b6246d41 [web] Use 6-digits verification in project-list notifications (bis) (#25847)
* Pull email context outside of `ResendConfirmationCodeModal`

* Use `loading` prop of button instead of deprecated Icon

* Swap notification order to clarify priority (no change in behaviour)

* Replace confirmation link action by confirmationCodeModal, and simplify code

* Change to secondary button variant in the Notification

* Display errors within the modal

* Increase ratelimit for resend-confirmation

* Copy changes

* Add stories on email confirmation notifications

* Fix other Notification stories

* Update tests

* Update services/web/frontend/js/features/settings/components/emails/confirm-email-form.tsx

Co-authored-by: Rebeka Dekany <50901361+rebekadekany@users.noreply.github.com>

* Remove placeholder on 6-digit code input

---------

Co-authored-by: Rebeka Dekany <50901361+rebekadekany@users.noreply.github.com>
GitOrigin-RevId: dad8bfd79505a2e7d065fd48791fd57c8a31e071
2025-05-28 08:05:01 +00:00
roo hutton
d680544b69 Merge pull request #24787 from overleaf/rh-sort-account-emails
Sort user emails by primary>confirmed>alphabetical

GitOrigin-RevId: 1d166e424e3848b83110c1a87adfff7790c1a01f
2025-05-20 08:06:00 +00:00
Rebeka Dekany
e282a74f7a Make links more descriptive on the Account settings page (#25558)
GitOrigin-RevId: 21cb7c02f7a5678b4c385da5b842ad6a5303169b
2025-05-16 08:06:44 +00:00
Tim Down
fb50d429b4 Merge pull request #24965 from overleaf/td-downshift-9-upgrade
Upgrade Downshift to version 9

GitOrigin-RevId: b36904ab0c82c09a633a25cd6fed651d7c8b19f7
2025-04-24 08:06:24 +00:00
Tim Down
28468e134c Merge pull request #24660 from overleaf/td-bs5-remove-react-bootstrap-0
Remove react-bootstrap 0.33.1

GitOrigin-RevId: c320a6b18c576afdc0fd49559915d3d2f3a7a1ef
2025-04-10 08:04:50 +00:00
Antoine Clausse
2f0254a2c8 [web] Add reCAPTCHA conditions to /user/emails/add-secondary (#24528)
* Add RecaptchaConditions to `user/emails/add-secondary`, set font to 12px

* Hide `RecaptchaConditions` if `ExposedSettings.recaptchaDisabled.addEmail`

GitOrigin-RevId: dcc4609bf8787076257caed6b5a5d1e47178380e
2025-03-27 09:05:47 +00:00
Antoine Clausse
fa058a5ca8 Add recaptcha conditions to the add-email form (#24295)
GitOrigin-RevId: 4b90a73edd2435d6c858ccf790827fb3352069e8
2025-03-27 09:05:42 +00:00
Rebeka Dekany
562ef81389 Cleanup Bootstrap 3 code in the Account settings page (#24058)
* Remove the Bootstrap 5 version utilities

* Remove Account settings LESS stylesheet and unused styles

* Prefer using the OLFormText wrapper component instead of FormText

* Remove the Bootstrap 3 version stories

* Replace Font Awesome icons to Material icons

* Fix the heading hierarchy

* Cleanup unused translation

* Restore ellipsis to the text of two loading spinners

* Add loading button tests back and add some button loading labels

---------

Co-authored-by: Tim Down <158919+timdown@users.noreply.github.com>
GitOrigin-RevId: 283a9167c8c78bf0fe5062840ded6917dcd6263b
2025-03-24 10:49:33 +00:00
Tim Down
c2da12939e Merge pull request #24313 from overleaf/td-ac-bs5-frontend-tests
Update front-end tests to use Bootstrap 5

GitOrigin-RevId: abaa09f8c0639d64d6ade97468ab16204e5de97b
2025-03-24 10:48:20 +00:00
Tim Down
e98ec386cb Merge pull request #24349 from overleaf/td-bs5-add-secondary-email
Migrate add secondary email page to Bootstrap 5

GitOrigin-RevId: f5d1992f2cb2d313f5950ccfd5c187b9bac72d82
2025-03-24 10:46:57 +00:00
Antoine Clausse
c4e6dfbbbd [web] Use 6-digits code to confirm existing email in Account Settings (#23931)
* Rename `checkSecondaryEmailConfirmationCode` to `checkAddSecondaryEmailConfirmationCode`

* Create function `sendCodeAndStoreInSession`

* Create function `sendExistingSecondaryEmailConfirmationCode`

* Create function `_checkConfirmationCode`

* Create function `checkExistingEmailConfirmationCode`

* Rename `resendSecondaryEmailConfirmationCode` to `resendAddSecondaryEmailConfirmationCode`

* Create function `_resendConfirmationCode`

* Create function `resendExistingSecondaryEmailConfirmationCode`

* Add `ResendConfirmationCodeModal`

* Remove `ResendConfirmationEmailButton`

* `bin/run web npm run extract-translations`

* Update frontend test

* Fix: don't throw on render when send-confirmation-code fails!

* Update phrasing in the UI

Per https://docs.google.com/document/d/1PE1vlZWQN--PjmXpyHR9rV2YPd7OIPIsUbnZaHj0cDI/edit?usp=sharing

* Add unit test

* Don't share the "send-confirmation" and "resend-confirmation" rate-limits

* Update frontend test after copy change

* Rename `checkAddSecondaryEmailConfirmationCode` to `checkNewSecondaryEmailConfirmationCode` and `resendAddSecondaryEmailConfirmationCode` to `resendNewSecondaryEmailConfirmationCode`

* Rename `cb` to `beforeConfirmEmail`

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>

* Return `422` on missing session data

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>

* Add `userId` to log

* Replace `isSecondary` param by `welcomeUser`

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>

* Rename `resend-confirm-email-code`'s `existingEmail` to `email`

* Remove "secondary" from rate-limiters

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>

* Remove unnecessary `userId` check behind `AuthenticationController.requireLogin()`

* Only open the modal if the code was sent successfully

---------

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: df892064641d9f722785699777383b2d863124e1
2025-03-07 09:06:50 +00:00
Antoine Clausse
34cac93f9a [web] When switching primary email, delete the old primary if it's unconfirmed (#23688)
* Add note to ConfirmModal: unconfirmed primary will be deleted

* Change confirm button copy

* Promisify `UserEmailsController.setDefault`

* Update tests after promisification

* Delete unconfirmed primary when swapped

* Fixup apostrophe in translation

* `npm run extract-translations`

* Add unit tests

* Add acceptance tests

* Fix frontend tests

* Make email address bold

* Add "We removed the previous primary..." to the email

GitOrigin-RevId: c971e219e36e509f9963e1720acdd44f562a05b5
2025-02-21 09:05:44 +00:00
M Fahru
b4051e48d3 Merge pull request #23305 from overleaf/mf-onboarding-data-collection-bs5
[web] Migrate onboarding collection data page to bootstrap 5

GitOrigin-RevId: ebf91db34ff11313c262bf57ad45e70d30857cd6
2025-02-13 09:05:58 +00:00
Antoine Clausse
4738961f51 [web] Update secondary email addition: confirm with 6 digits code (#22851)
* Remove `Interstitial` from `ConfirmEmailForm`

* Allow adding `affiliationOptions` in `addWithConfirmationCode`

* Add confirmationStep in add-email.tsx

* Call `getEmails` once a secondary email is added

* Fix tests

* Lint fix

* Style confirm-email-form

Figma: https://www.figma.com/design/TWyeImDSZHhkl9akYaGmeb/24.5-Secondary-email-reconfirmation?node-id=1-449&p=f&m=dev

* Remove unnecessary `successMessage` and `successButtonText` from hidden ConfirmEmailForm

* Remove icon padding

* Rename file to confirm-email-form.tsx

* Use `OLButton`

* Add Cancel button

* Update loading states

* Remove redundant `className` with variants

GitOrigin-RevId: 62b1729cf2299da38f20fa3946273ad0193c7d54
2025-01-31 09:05:23 +00:00
Antoine Clausse
b054342ddb [web] Update bsVersion to return its arguments types (#20963)
* [web] Update `bsVersion` to return its arguments types

* [web] Remove `as string` after `bsVersion` calls

GitOrigin-RevId: 604ce87aaccd709299124a986e98cf45874484bb
2024-10-14 11:07:45 +00:00
ilkin-overleaf
92eade7502 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
Tim Down
e60885aa88 Merge pull request #19347 from overleaf/td-bs5-cypress-css
Move CSS loading in Cypress to individual test spec files

GitOrigin-RevId: 92bb5167cfa81b0bd54acc724efb23b397421ccb
2024-07-25 08:05:16 +00:00
Rebeka Dekany
6cb956b1ff Merge pull request #19472 from overleaf/rd-stylelint-ci
[web] Add Stylelint formatting to the CI

GitOrigin-RevId: f31139f9f6f70aa96214b59db37ad1f79cd1e733
2024-07-23 08:04:09 +00:00
ilkin-overleaf
687b56f18e Merge pull request #19141 from overleaf/ii-add-email-account-settings
[web] Reset recaptcha every time

GitOrigin-RevId: 6db3571ad6dad3611c748a2d92dce47002a16a77
2024-07-01 08:04:07 +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
ilkin-overleaf
182e9859ec Merge pull request #18690 from overleaf/ii-bs5-projects-welcome
[web] Welcome page migration

GitOrigin-RevId: 2469786372df24d579d1987cf5bb1113450e9d78
2024-06-14 08:04:32 +00:00
Tim Down
29837ec838 Merge pull request #18733 from overleaf/td-bs5-button-props
Simplify handling of BS3 props in button wrapper component

GitOrigin-RevId: 12a6b1374da5084e075775f3cef23f0b24d098fc
2024-06-07 08:04:24 +00:00
Tim Down
7825bb8dd8 Merge pull request #18662 from overleaf/td-bs5-increase-settings-button-sizes
Bootstrap 5: increase size of "Add new email" and institution/role change submit buttons

GitOrigin-RevId: 28756bdfe723a57da9c73f0ab3d852d2f9c3ea5e
2024-06-04 08:04:34 +00:00
Rebeka Dekany
9120afffa5 Merge pull request #18567 from overleaf/rd-bs5-settings-modal
[web] Migrate the Git Integration settings on the Account Settings page to Bootstrap 5

GitOrigin-RevId: bafac941d3afaadaa046de07e18968d8e3692b1c
2024-05-31 08:04:49 +00:00
ilkin-overleaf
4e7fbcfe2e Merge pull request #18473 from overleaf/ii-bs5-settings-grid-fix
[web] Adjust column breakpoints in bs5 account settings page

GitOrigin-RevId: 90e7fe7561a75439166472627fdb6189ebcdefa1
2024-05-29 08:03:46 +00:00
David
635aae7b1f Merge pull request #18320 from overleaf/dp-add-secondary-prompt-ui
Add secondary email form V2 (with Captcha this time)

GitOrigin-RevId: b06216a2c9cb5b3b09305a17992eca506a0047f5
2024-05-27 10:22:40 +00:00