ConceptPortal-public/rsconcept/frontend/src/app/Navigation/ToggleNavigation.tsx

37 lines
1.2 KiB
TypeScript
Raw Normal View History

import clsx from 'clsx';
2023-12-08 19:24:08 +03:00
import { IconPin, IconUnpin } from '@/components/Icons';
import { useConceptOptions } from '@/context/ConceptOptionsContext';
import { globals, PARAMETER } from '@/utils/constants';
2023-12-08 19:24:08 +03:00
function ToggleNavigation() {
2024-04-01 19:07:20 +03:00
const { noNavigationAnimation, toggleNoNavigation } = useConceptOptions();
2023-12-08 19:24:08 +03:00
return (
<button
2023-12-28 14:04:44 +03:00
type='button'
tabIndex={-1}
className={clsx(
2024-08-24 19:41:29 +03:00
'absolute top-0 right-0 z-navigation',
'min-h-[2rem] min-w-[2rem] sm:min-w-fit',
'flex items-center justify-center',
2024-06-21 11:17:50 +03:00
'clr-hover',
2024-08-24 19:41:29 +03:00
'select-none'
2023-12-28 14:04:44 +03:00
)}
onClick={toggleNoNavigation}
2024-04-06 14:39:49 +03:00
data-tooltip-id={globals.tooltip}
data-tooltip-content={noNavigationAnimation ? 'Показать навигацию' : 'Скрыть навигацию'}
style={{
2024-12-17 11:38:00 +03:00
transitionProperty: 'height, width, background-color',
transitionDuration: `${PARAMETER.moveDuration}ms`,
height: noNavigationAnimation ? '1.2rem' : '3rem',
width: noNavigationAnimation ? '3rem' : '1.2rem'
}}
2023-12-28 14:04:44 +03:00
>
{!noNavigationAnimation ? <IconPin /> : null}
{noNavigationAnimation ? <IconUnpin /> : null}
</button>
2023-12-28 14:04:44 +03:00
);
}
export default ToggleNavigation;