mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-25 18:20:09 +02:00
* 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
101 lines
3.0 KiB
TypeScript
101 lines
3.0 KiB
TypeScript
import SecuritySection from '@/features/settings/components/security-section'
|
|
import { useEffect } from 'react'
|
|
import { useTranslation } from 'react-i18next'
|
|
import getMeta from '../../../utils/meta'
|
|
import EmailsSection from './emails-section'
|
|
import AccountInfoSection from './account-info-section'
|
|
import ManagedAccountAlert from './managed-account-alert'
|
|
import PasswordSection from './password-section'
|
|
import LinkingSection from './linking-section'
|
|
import BetaProgramSection from './beta-program-section'
|
|
import LabsProgramSection from './labs-program-section'
|
|
import SessionsSection from './sessions-section'
|
|
import NewsletterSection from './newsletter-section'
|
|
import LeaveSection from './leave-section'
|
|
import * as eventTracking from '../../../infrastructure/event-tracking'
|
|
import { UserProvider } from '../../../shared/context/user-context'
|
|
import { SSOProvider } from '../context/sso-context'
|
|
import { SplitTestProvider } from '@/shared/context/split-test-context'
|
|
import useWaitForI18n from '../../../shared/hooks/use-wait-for-i18n'
|
|
import useScrollToIdOnLoad from '../../../shared/hooks/use-scroll-to-id-on-load'
|
|
import { SSOAlert } from './emails/sso-alert'
|
|
import OLRow from '@/shared/components/ol/ol-row'
|
|
import OLCol from '@/shared/components/ol/ol-col'
|
|
import OLPageContentCard from '@/shared/components/ol/ol-page-content-card'
|
|
|
|
function SettingsPageRoot() {
|
|
const { isReady } = useWaitForI18n()
|
|
useScrollToIdOnLoad()
|
|
|
|
useEffect(() => {
|
|
eventTracking.sendMB('settings-view')
|
|
}, [])
|
|
|
|
return (
|
|
<div className="container">
|
|
<OLRow>
|
|
<OLCol xl={{ span: 10, offset: 1 }}>
|
|
{isReady ? <SettingsPageContent /> : null}
|
|
</OLCol>
|
|
</OLRow>
|
|
</div>
|
|
)
|
|
}
|
|
|
|
function SettingsPageContent() {
|
|
const { t } = useTranslation()
|
|
const { isOverleaf, labsEnabled } = getMeta('ol-ExposedSettings')
|
|
|
|
return (
|
|
<UserProvider>
|
|
<OLPageContentCard>
|
|
<div className="page-header">
|
|
<h1>{t('account_settings')}</h1>
|
|
</div>
|
|
<div>
|
|
<ManagedAccountAlert />
|
|
<EmailsSection />
|
|
<SSOAlert />
|
|
<OLRow>
|
|
<OLCol lg={5}>
|
|
<AccountInfoSection />
|
|
</OLCol>
|
|
<OLCol lg={{ span: 5, offset: 1 }}>
|
|
<PasswordSection />
|
|
</OLCol>
|
|
</OLRow>
|
|
<hr />
|
|
<SecuritySection />
|
|
<SplitTestProvider>
|
|
<SSOProvider>
|
|
<LinkingSection />
|
|
</SSOProvider>
|
|
</SplitTestProvider>
|
|
{isOverleaf ? (
|
|
<>
|
|
<BetaProgramSection />
|
|
<hr />
|
|
</>
|
|
) : null}
|
|
{labsEnabled ? (
|
|
<>
|
|
<LabsProgramSection />
|
|
</>
|
|
) : null}
|
|
<SessionsSection />
|
|
{isOverleaf ? (
|
|
<>
|
|
<hr />
|
|
<NewsletterSection />
|
|
<hr />
|
|
<LeaveSection />
|
|
</>
|
|
) : null}
|
|
</div>
|
|
</OLPageContentCard>
|
|
</UserProvider>
|
|
)
|
|
}
|
|
|
|
export default SettingsPageRoot
|