overleaf/services/web/frontend/js/features/editor-left-menu/components/sync-menu.tsx
Alf Eaton 381cdf34ce Use imported components directly
GitOrigin-RevId: 4533d7eb59ed543a301d99a9dce4ff54af6cfe6c
2022-11-09 09:03:48 +00:00

35 lines
865 B
TypeScript

import { ElementType } from 'react'
import { useTranslation } from 'react-i18next'
import importOverleafModules from '../../../../macros/import-overleaf-module.macro'
import getMeta from '../../../utils/meta'
const components = importOverleafModules('editorLeftMenuSync') as {
import: { default: ElementType }
path: string
}[]
export default function SyncMenu() {
const { t } = useTranslation()
const anonymous = getMeta('ol-anonymous') as boolean | undefined
if (anonymous === true || anonymous === undefined) {
return null
}
if (components.length === 0) {
return null
}
return (
<>
<h4>{t('sync')}</h4>
<ul className="list-unstyled nav">
{components.map(({ import: { default: Component }, path }) => (
<li key={path}>
<Component />
</li>
))}
</ul>
</>
)
}