overleaf/services/web/frontend/js/features/settings/components/root.tsx
Timothée Alby 0c2c3bff8b Merge pull request #7711 from overleaf/ta-misc-section
[SettingsPage] Add Misc Section

GitOrigin-RevId: a4a00c6b2bb920a0c0c6665f30a9657a6e89bc8f
2022-04-25 08:05:19 +00:00

64 lines
2 KiB
TypeScript

import { useEffect } from 'react'
import { Alert } from 'react-bootstrap'
import { useTranslation } from 'react-i18next'
import getMeta from '../../../utils/meta'
import EmailsSection from './emails-section'
import AccountInfoSection from './account-info-section'
import PasswordSection from './password-section'
import IntegrationLinkingSection from './integration-linking-section'
import SSOLinkingSection from './sso-linking-section'
import MiscSection from './misc-section'
import LeaveSection from './leave-section'
import * as eventTracking from '../../../infrastructure/event-tracking'
import { UserProvider } from '../../../shared/context/user-context'
function SettingsPageRoot() {
const { t } = useTranslation()
const ssoError = getMeta('ol-ssoError') as string
useEffect(() => {
eventTracking.sendMB('settings-view')
}, [])
return (
<UserProvider>
<div className="container">
<div className="row">
<div className="col-md-12 col-lg-10 col-lg-offset-1">
{ssoError ? (
<Alert bsStyle="danger">
{t('sso_link_error')}: {t(ssoError)}
</Alert>
) : null}
<div className="card">
<div className="page-header">
<h1>{t('account_settings')}</h1>
</div>
<div className="account-settings">
<EmailsSection />
<div className="row">
<div className="col-md-5">
<AccountInfoSection />
</div>
<div className="col-md-5 col-md-offset-1">
<PasswordSection />
</div>
</div>
<hr />
<IntegrationLinkingSection />
<hr />
<SSOLinkingSection />
<hr />
<MiscSection />
<hr />
<LeaveSection />
</div>
</div>
</div>
</div>
</div>
</UserProvider>
)
}
export default SettingsPageRoot