import { useProjectSettingsContext } from '@/features/editor-left-menu/context/project-settings-context' import DropdownSetting from '../dropdown-setting' import { useMemo } from 'react' import type { Option } from '../dropdown-setting' import { useTranslation } from 'react-i18next' import { usePermissionsContext } from '@/features/ide-react/context/permissions-context' import { useFileTreeData } from '@/shared/context/file-tree-data-context' import { isValidTeXFile } from '@/main/is-valid-tex-file' import { useSetCompilationSettingWithEvent } from '@/features/editor-left-menu/hooks/use-set-compilation-setting' export default function RootDocumentSetting() { const { rootDocId, setRootDocId } = useProjectSettingsContext() const { t } = useTranslation() const { write } = usePermissionsContext() const { docs } = useFileTreeData() const changeRootDocId = useSetCompilationSettingWithEvent( 'root-doc-id', setRootDocId, { omitValueInEvent: true } ) const validDocsOptions = useMemo(() => { const filteredDocs = docs?.filter( doc => isValidTeXFile(doc.doc.name) || rootDocId === doc.doc.id ) ?? [] const mappedDocs: Array