2023-07-15 17:46:19 +03:00
|
|
|
|
import { useNavigate } from 'react-router-dom';
|
2023-07-25 20:27:29 +03:00
|
|
|
|
|
|
|
|
|
import { useConceptTheme } from '../../context/ThemeContext';
|
2023-09-03 18:26:50 +03:00
|
|
|
|
import { EducationIcon, LibraryIcon, PlusIcon } from '../Icons';
|
2023-07-25 20:27:29 +03:00
|
|
|
|
import Logo from './Logo'
|
2023-07-15 17:46:19 +03:00
|
|
|
|
import NavigationButton from './NavigationButton';
|
|
|
|
|
import UserMenu from './UserMenu';
|
|
|
|
|
|
2023-07-25 20:27:29 +03:00
|
|
|
|
function Navigation () {
|
2023-07-15 17:46:19 +03:00
|
|
|
|
const navigate = useNavigate();
|
2023-07-25 00:20:37 +03:00
|
|
|
|
const { noNavigation, toggleNoNavigation } = useConceptTheme();
|
2023-07-15 17:46:19 +03:00
|
|
|
|
|
2023-08-27 16:35:17 +03:00
|
|
|
|
const navigateLibrary = () => navigate('/library');
|
|
|
|
|
const navigateHelp = () => navigate('/manuals');
|
2023-09-03 18:26:50 +03:00
|
|
|
|
const navigateCreateNew = () => navigate('/rsform-create');
|
2023-07-25 20:27:29 +03:00
|
|
|
|
|
2023-07-15 17:46:19 +03:00
|
|
|
|
return (
|
2023-08-26 19:39:49 +03:00
|
|
|
|
<nav className='sticky top-0 left-0 right-0 z-50 select-none h-fit'>
|
2023-07-25 20:27:29 +03:00
|
|
|
|
{!noNavigation &&
|
2023-07-21 01:50:57 +03:00
|
|
|
|
<button
|
|
|
|
|
title='Скрыть навигацию'
|
2023-09-03 18:26:50 +03:00
|
|
|
|
className='absolute top-0 right-0 z-[60] w-[1.2rem] h-[3rem] border-b-2 border-l-2 clr-btn-nav rounded-none'
|
2023-07-25 00:20:37 +03:00
|
|
|
|
onClick={toggleNoNavigation}
|
2023-09-04 19:12:27 +03:00
|
|
|
|
tabIndex={-1}
|
2023-07-21 01:50:57 +03:00
|
|
|
|
>
|
|
|
|
|
<p>{'>'}</p><p>{'>'}</p>
|
|
|
|
|
</button>}
|
2023-07-25 20:27:29 +03:00
|
|
|
|
{noNavigation &&
|
2023-07-21 01:50:57 +03:00
|
|
|
|
<button
|
|
|
|
|
title='Показать навигацию'
|
2023-09-03 18:26:50 +03:00
|
|
|
|
className='absolute top-0 right-0 z-[60] px-1 h-[1.6rem] border-b-2 border-l-2 clr-btn-nav rounded-none'
|
2023-07-25 00:20:37 +03:00
|
|
|
|
onClick={toggleNoNavigation}
|
2023-09-04 19:12:27 +03:00
|
|
|
|
tabIndex={-1}
|
2023-07-21 01:50:57 +03:00
|
|
|
|
>
|
|
|
|
|
{'∨∨∨'}
|
|
|
|
|
</button>}
|
2023-07-25 20:27:29 +03:00
|
|
|
|
{!noNavigation &&
|
2023-09-03 18:26:50 +03:00
|
|
|
|
<div className='flex items-stretch justify-between pl-2 pr-[0.8rem] border-b-2 rounded-none h-[3rem]'>
|
2023-08-26 19:39:49 +03:00
|
|
|
|
<div className='flex items-center justify-start'>
|
2023-07-15 17:46:19 +03:00
|
|
|
|
<Logo title='КонцептПортал' />
|
|
|
|
|
</div>
|
2023-09-03 18:26:50 +03:00
|
|
|
|
<div className='flex items-center h-full'>
|
|
|
|
|
<NavigationButton
|
|
|
|
|
text='Новая схема'
|
|
|
|
|
description='Создать новую схему'
|
|
|
|
|
icon={<PlusIcon />}
|
|
|
|
|
onClick={navigateCreateNew}
|
|
|
|
|
/>
|
|
|
|
|
<NavigationButton
|
|
|
|
|
text='Библиотека'
|
|
|
|
|
description='Библиотека концептуальных схем'
|
|
|
|
|
icon={<LibraryIcon />}
|
|
|
|
|
onClick={navigateLibrary}
|
|
|
|
|
/>
|
|
|
|
|
<NavigationButton
|
|
|
|
|
text='Справка'
|
|
|
|
|
description='Справочные материалы и обучение'
|
|
|
|
|
icon={<EducationIcon />}
|
|
|
|
|
onClick={navigateHelp}
|
|
|
|
|
/>
|
|
|
|
|
<UserMenu />
|
2023-07-15 17:46:19 +03:00
|
|
|
|
</div>
|
2023-07-21 01:50:57 +03:00
|
|
|
|
</div>}
|
2023-07-15 17:46:19 +03:00
|
|
|
|
</nav>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default Navigation;
|