ConceptPortal-public/rsconcept/frontend/src/features/help/pages/ManualsPage/TopicPage.tsx

111 lines
5.2 KiB
TypeScript
Raw Normal View History

2024-06-07 15:05:08 +03:00
import useWindowSize from '@/hooks/useWindowSize';
2024-05-16 22:39:28 +03:00
import HelpConceptOSS from '../../items/cc/HelpConceptOSS';
import HelpConceptPropagation from '../../items/cc/HelpConceptPropagation';
import HelpConceptRelations from '../../items/cc/HelpConceptRelations';
import HelpConceptSynthesis from '../../items/cc/HelpConceptSynthesis';
import HelpConceptSystem from '../../items/cc/HelpConceptSystem';
import HelpCstAttributes from '../../items/cc/HelpCstAttributes';
import HelpAccess from '../../items/HelpAccess';
import HelpConcept from '../../items/HelpConcept';
import HelpExteor from '../../items/HelpExteor';
import HelpInfo from '../../items/HelpInfo';
import HelpInterface from '../../items/HelpInterface';
import HelpMain from '../../items/HelpMain';
import HelpRSLang from '../../items/HelpRSLang';
import HelpTerminologyControl from '../../items/HelpTerminologyControl';
import HelpThesaurus from '../../items/HelpThesaurus';
import HelpVersions from '../../items/HelpVersions';
import HelpAPI from '../../items/info/HelpAPI';
import HelpContributors from '../../items/info/HelpContributors';
import HelpPrivacy from '../../items/info/HelpPrivacy';
import HelpRules from '../../items/info/HelpRules';
import HelpRSLangCorrect from '../../items/rslang/HelpRSLangCorrect';
import HelpRSLangInterpret from '../../items/rslang/HelpRSLangInterpret';
import HelpRSLangOperations from '../../items/rslang/HelpRSLangOperations';
import HelpRSLangTemplates from '../../items/rslang/HelpRSLangTemplates';
import HelpRSLangTypes from '../../items/rslang/HelpRSLangTypes';
import HelpCstClass from '../../items/ui/HelpCstClass';
import HelpCstStatus from '../../items/ui/HelpCstStatus';
import HelpFormulaTree from '../../items/ui/HelpFormulaTree';
import HelpLibrary from '../../items/ui/HelpLibrary';
import HelpOssGraph from '../../items/ui/HelpOssGraph';
import HelpRelocateCst from '../../items/ui/HelpRelocateCst';
import HelpRSCard from '../../items/ui/HelpRSCard';
import HelpRSEditor from '../../items/ui/HelpRSEditor';
import HelpRSGraphTerm from '../../items/ui/HelpRSGraphTerm';
import HelpRSList from '../../items/ui/HelpRSList';
import HelpRSMenu from '../../items/ui/HelpRSMenu';
import HelpSubstitutions from '../../items/ui/HelpSubstitutions';
import HelpTypeGraph from '../../items/ui/HelpTypeGraph';
import { HelpTopic } from '../../models/helpTopic';
2024-05-16 22:39:28 +03:00
2024-06-07 15:05:08 +03:00
// PDF Viewer setup
const OFFSET_X_SMALL = 32;
const OFFSET_X_LARGE = 280;
const MIN_SIZE_SMALL = 300;
const MIN_SIZE_LARGE = 600;
2024-05-16 22:39:28 +03:00
interface TopicPageProps {
topic: HelpTopic;
}
function TopicPage({ topic }: TopicPageProps) {
2024-06-07 15:05:08 +03:00
const size = useWindowSize();
2024-08-17 23:42:56 +03:00
if (topic === HelpTopic.MAIN) return <HelpMain />;
2024-08-21 12:37:50 +03:00
if (topic === HelpTopic.THESAURUS) return <HelpThesaurus />;
2024-05-16 22:39:28 +03:00
if (topic === HelpTopic.INTERFACE) return <HelpInterface />;
if (topic === HelpTopic.UI_LIBRARY) return <HelpLibrary />;
2024-08-17 23:42:56 +03:00
if (topic === HelpTopic.UI_RS_MENU) return <HelpRSMenu />;
if (topic === HelpTopic.UI_RS_CARD) return <HelpRSCard />;
if (topic === HelpTopic.UI_RS_LIST) return <HelpRSList />;
if (topic === HelpTopic.UI_RS_EDITOR) return <HelpRSEditor />;
if (topic === HelpTopic.UI_GRAPH_TERM) return <HelpRSGraphTerm />;
2024-05-16 22:39:28 +03:00
if (topic === HelpTopic.UI_FORMULA_TREE) return <HelpFormulaTree />;
2024-11-19 22:30:52 +03:00
if (topic === HelpTopic.UI_TYPE_GRAPH) return <HelpTypeGraph />;
2024-05-16 22:39:28 +03:00
if (topic === HelpTopic.UI_CST_STATUS) return <HelpCstStatus />;
if (topic === HelpTopic.UI_CST_CLASS) return <HelpCstClass />;
2024-06-10 11:58:23 +03:00
if (topic === HelpTopic.UI_OSS_GRAPH) return <HelpOssGraph />;
2024-10-29 12:06:43 +03:00
if (topic === HelpTopic.UI_SUBSTITUTIONS) return <HelpSubstitutions />;
if (topic === HelpTopic.UI_RELOCATE_CST) return <HelpRelocateCst />;
2024-05-16 22:39:28 +03:00
if (topic === HelpTopic.CONCEPTUAL) return <HelpConcept />;
if (topic === HelpTopic.CC_SYSTEM) return <HelpConceptSystem />;
if (topic === HelpTopic.CC_CONSTITUENTA) return <HelpCstAttributes />;
if (topic === HelpTopic.CC_RELATIONS) return <HelpConceptRelations />;
if (topic === HelpTopic.CC_SYNTHESIS) return <HelpConceptSynthesis />;
2024-06-10 11:58:23 +03:00
if (topic === HelpTopic.CC_OSS) return <HelpConceptOSS />;
2024-08-19 22:03:39 +03:00
if (topic === HelpTopic.CC_PROPAGATION) return <HelpConceptPropagation />;
2024-05-16 22:39:28 +03:00
if (topic === HelpTopic.RSLANG) return <HelpRSLang />;
if (topic === HelpTopic.RSL_TYPES) return <HelpRSLangTypes />;
if (topic === HelpTopic.RSL_CORRECT) return <HelpRSLangCorrect />;
if (topic === HelpTopic.RSL_INTERPRET) return <HelpRSLangInterpret />;
if (topic === HelpTopic.RSL_OPERATIONS) return <HelpRSLangOperations />;
2024-05-17 15:48:54 +03:00
if (topic === HelpTopic.RSL_TEMPLATES) return <HelpRSLangTemplates />;
2024-05-16 22:39:28 +03:00
if (topic === HelpTopic.TERM_CONTROL) return <HelpTerminologyControl />;
2024-06-04 16:06:48 +03:00
if (topic === HelpTopic.ACCESS) return <HelpAccess />;
2024-05-16 22:39:28 +03:00
if (topic === HelpTopic.VERSIONS) return <HelpVersions />;
2024-06-07 13:42:50 +03:00
if (topic === HelpTopic.INFO) return <HelpInfo />;
if (topic === HelpTopic.INFO_RULES) return <HelpRules />;
if (topic === HelpTopic.INFO_CONTRIB) return <HelpContributors />;
2024-06-07 15:05:08 +03:00
if (topic === HelpTopic.INFO_PRIVACY)
return (
<HelpPrivacy
offsetXpx={size.isSmall ? OFFSET_X_SMALL : OFFSET_X_LARGE}
minWidth={size.isSmall ? MIN_SIZE_SMALL : MIN_SIZE_LARGE}
/>
);
2024-06-07 13:42:50 +03:00
if (topic === HelpTopic.INFO_API) return <HelpAPI />;
2024-05-16 22:39:28 +03:00
if (topic === HelpTopic.EXTEOR) return <HelpExteor />;
return null;
}
export default TopicPage;