2023-09-11 20:31:54 +03:00
|
|
|
|
import { HelpTopic } from '../../models/miscelanious';
|
2023-08-23 18:11:42 +03:00
|
|
|
|
import { prefixes } from '../../utils/constants';
|
2023-09-21 14:58:01 +03:00
|
|
|
|
import { describeHelpTopic, labelHelpTopic } from '../../utils/labels';
|
2023-08-23 18:11:42 +03:00
|
|
|
|
|
|
|
|
|
interface TopicsListProps {
|
|
|
|
|
activeTopic: HelpTopic
|
|
|
|
|
onChangeTopic: (newTopic: HelpTopic) => void
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function TopicsList({ activeTopic, onChangeTopic }: TopicsListProps) {
|
|
|
|
|
return (
|
2023-10-14 17:14:40 +03:00
|
|
|
|
<div className='sticky top-0 left-0 border-x min-w-[13rem] select-none flex flex-col clr-controls small-caps h-fit'>
|
|
|
|
|
<div className='my-2 text-lg text-center'>Справка</div>
|
2023-09-21 14:58:01 +03:00
|
|
|
|
{ Object.values(HelpTopic).map(
|
|
|
|
|
(topic, index) => {
|
2023-08-23 18:11:42 +03:00
|
|
|
|
return (
|
|
|
|
|
<div key={`${prefixes.topic_list}${index}`}
|
2023-09-03 18:26:50 +03:00
|
|
|
|
className={`px-3 py-1 border-y cursor-pointer clr-hover ${activeTopic === topic ? 'font-semibold clr-selected ' : ''}`}
|
2023-09-21 14:58:01 +03:00
|
|
|
|
title={describeHelpTopic(topic)}
|
2023-08-23 18:11:42 +03:00
|
|
|
|
onClick={() => onChangeTopic(topic)}
|
|
|
|
|
>
|
2023-09-21 14:58:01 +03:00
|
|
|
|
{labelHelpTopic(topic)}
|
2023-08-23 18:11:42 +03:00
|
|
|
|
</div>)
|
|
|
|
|
})}
|
|
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default TopicsList;
|