2024-05-14 19:16:04 +03:00
|
|
|
import clsx from 'clsx';
|
|
|
|
|
|
|
|
import { useConceptOptions } from '@/context/OptionsContext';
|
|
|
|
import { HelpTopic } from '@/models/miscellaneous';
|
|
|
|
|
|
|
|
import TopicsTree from './TopicsTree';
|
|
|
|
|
|
|
|
interface TopicsStaticProps {
|
|
|
|
activeTopic: HelpTopic;
|
|
|
|
onChangeTopic: (newTopic: HelpTopic) => void;
|
|
|
|
}
|
|
|
|
|
2024-05-16 16:05:39 +03:00
|
|
|
function TopicsStatic({ activeTopic, onChangeTopic }: TopicsStaticProps) {
|
2024-05-14 19:16:04 +03:00
|
|
|
const { calculateHeight } = useConceptOptions();
|
|
|
|
return (
|
|
|
|
<div
|
|
|
|
className={clsx(
|
|
|
|
'sticky top-0 left-0',
|
2024-05-15 02:51:50 +03:00
|
|
|
'w-[14.5rem] cc-scroll-y',
|
2024-05-14 19:16:04 +03:00
|
|
|
'self-start',
|
|
|
|
'border divide-y rounded-none',
|
|
|
|
'clr-controls',
|
|
|
|
'text-xs sm:text-sm',
|
|
|
|
'select-none'
|
|
|
|
)}
|
|
|
|
style={{ maxHeight: calculateHeight('2.25rem + 2px') }}
|
|
|
|
>
|
2024-05-16 16:05:39 +03:00
|
|
|
<TopicsTree activeTopic={activeTopic} onChangeTopic={onChangeTopic} />
|
2024-05-14 19:16:04 +03:00
|
|
|
</div>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
export default TopicsStatic;
|