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

99 lines
4.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 { HelpTopic } from '@/models/miscellaneous';
2024-06-04 16:06:48 +03:00
import HelpAccess from './items/HelpAccess';
2024-05-16 22:39:28 +03:00
import HelpAPI from './items/HelpAPI';
import HelpConcept from './items/HelpConcept';
import HelpConceptRelations from './items/HelpConceptRelations';
import HelpConceptSynthesis from './items/HelpConceptSynthesis';
import HelpConceptSystem from './items/HelpConceptSystem';
2024-06-07 13:42:50 +03:00
import HelpContributors from './items/HelpContributors';
2024-05-16 22:39:28 +03:00
import HelpCstAttributes from './items/HelpCstAttributes';
import HelpCstClass from './items/HelpCstClass';
import HelpCstEditor from './items/HelpCstEditor';
import HelpCstStatus from './items/HelpCstStatus';
import HelpExteor from './items/HelpExteor';
import HelpFormulaTree from './items/HelpFormulaTree';
2024-06-07 13:42:50 +03:00
import HelpInfo from './items/HelpInfo';
2024-05-16 22:39:28 +03:00
import HelpInterface from './items/HelpInterface';
import HelpLibrary from './items/HelpLibrary';
2024-06-07 13:42:50 +03:00
import HelpOSS from './items/HelpOSS';
2024-05-17 15:48:54 +03:00
import HelpPortal from './items/HelpPortal';
2024-05-16 22:39:28 +03:00
import HelpPrivacy from './items/HelpPrivacy';
2024-05-17 15:48:54 +03:00
import HelpRSFormCard from './items/HelpRSFormCard';
2024-05-16 22:39:28 +03:00
import HelpRSFormItems from './items/HelpRSFormItems';
import HelpRSFormMenu from './items/HelpRSFormMenu';
import HelpRSLang from './items/HelpRSLang';
import HelpRSLangCorrect from './items/HelpRSLangCorrect';
import HelpRSLangInterpret from './items/HelpRSLangInterpret';
import HelpRSLangOperations from './items/HelpRSLangOperations';
2024-05-17 15:48:54 +03:00
import HelpRSLangTemplates from './items/HelpRSLangTemplates';
2024-05-16 22:39:28 +03:00
import HelpRSLangTypes from './items/HelpRSLangTypes';
2024-06-04 16:06:48 +03:00
import HelpRules from './items/HelpRules';
2024-05-16 22:39:28 +03:00
import HelpTermGraph from './items/HelpTermGraph';
import HelpTerminologyControl from './items/HelpTerminologyControl';
import HelpVersions from './items/HelpVersions';
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-05-17 15:48:54 +03:00
if (topic === HelpTopic.MAIN) return <HelpPortal />;
2024-05-16 22:39:28 +03:00
if (topic === HelpTopic.INTERFACE) return <HelpInterface />;
if (topic === HelpTopic.UI_LIBRARY) return <HelpLibrary />;
if (topic === HelpTopic.UI_RS_MENU) return <HelpRSFormMenu />;
2024-05-17 15:48:54 +03:00
if (topic === HelpTopic.UI_RS_CARD) return <HelpRSFormCard />;
2024-05-16 22:39:28 +03:00
if (topic === HelpTopic.UI_RS_LIST) return <HelpRSFormItems />;
if (topic === HelpTopic.UI_RS_EDITOR) return <HelpCstEditor />;
if (topic === HelpTopic.UI_GRAPH_TERM) return <HelpTermGraph />;
if (topic === HelpTopic.UI_FORMULA_TREE) return <HelpFormulaTree />;
if (topic === HelpTopic.UI_CST_STATUS) return <HelpCstStatus />;
if (topic === HelpTopic.UI_CST_CLASS) return <HelpCstClass />;
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-07 13:42:50 +03:00
if (topic === HelpTopic.CC_OSS) return <HelpOSS />;
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;