Merge pull request #33202 from overleaf/jel-domain-captured-by-group-settings-page

[Domain capture] Check `domainCapturedByGroup` for existing emails on user settings

GitOrigin-RevId: 5ac86b89969b186cce0cac410c2957e5aa1b9703
This commit is contained in:
Jessica Lawshe
2026-05-12 08:06:33 +00:00
committed by Copybot
parent 6a911e4ec3
commit ba13ccdb11
5 changed files with 78 additions and 16 deletions
@@ -8,6 +8,7 @@ import Actions from './actions'
import { institutionAlreadyLinked } from '../../utils/selectors'
import { useUserEmailsContext } from '../../context/user-email-context'
import getMeta from '../../../../utils/meta'
import { useFeatureFlag } from '@/shared/context/split-test-context'
import { ssoAvailableForInstitution } from '../../utils/sso'
import ReconfirmationInfo from './reconfirmation-info'
import { useLocation } from '../../../../shared/hooks/use-location'
@@ -71,6 +72,10 @@ function SSOAffiliationInfo({ userEmailData }: SSOAffiliationInfoProps) {
const [linkAccountsButtonDisabled, setLinkAccountsButtonDisabled] =
useState(false)
const domainCapturedByGroupRolloutFlagEnabled = useFeatureFlag(
'domain-captured-by-group'
)
function handleLinkAccountsButtonClick() {
setLinkAccountsButtonDisabled(true)
location.assign(
@@ -140,7 +145,10 @@ function SSOAffiliationInfo({ userEmailData }: SSOAffiliationInfoProps) {
}
const domainAlsoForGroupWithDomainCapture =
userEmailData?.affiliation?.group?.domainCaptureEnabled
domainCapturedByGroupRolloutFlagEnabled
? userEmailData?.affiliation?.domainCapturedByGroup &&
userEmailData?.affiliation?.group?.domainCaptureEnabled
: userEmailData?.affiliation?.group?.domainCaptureEnabled
if (domainAlsoForGroupWithDomainCapture) {
// user is not linked via Commons and should link via groups
@@ -4,10 +4,15 @@ import '@/utils/webpack-public-path'
import '@/infrastructure/error-reporter'
import '@/i18n'
import SettingsPageRoot from '@/features/settings/components/root'
import { SplitTestProvider } from '@/shared/context/split-test-context'
// For react-google-recaptcha
window.recaptchaOptions = {
enterprise: true,
useRecaptchaNet: true,
}
renderInReactLayout('settings-page-root', () => <SettingsPageRoot />)
renderInReactLayout('settings-page-root', () => (
<SplitTestProvider>
<SettingsPageRoot />
</SplitTestProvider>
))