Portal/rsconcept/frontend/src/app/navigation1/toggle-navigation.tsx

42 lines
1.6 KiB
TypeScript
Raw Normal View History

2025-03-09 21:57:21 +03:00
'use client';
2024-06-07 20:17:03 +03:00
2025-03-12 11:54:32 +03:00
import { IconDarkTheme, IconLightTheme, IconPin, IconUnpin } from '@/components/icons1';
import { useAppLayoutStore } from '@/stores/app-layout';
import { usePreferencesStore } from '@/stores/preferences';
2025-03-09 21:57:21 +03:00
import { globalIDs } from '@/utils/constants';
2024-06-07 20:17:03 +03:00
2025-02-19 23:29:45 +03:00
export function ToggleNavigation() {
const darkMode = usePreferencesStore(state => state.darkMode);
const toggleDarkMode = usePreferencesStore(state => state.toggleDarkMode);
const noNavigationAnimation = useAppLayoutStore(state => state.noNavigationAnimation);
const toggleNoNavigation = useAppLayoutStore(state => state.toggleNoNavigation);
2024-06-07 20:17:03 +03:00
return (
2025-03-09 21:57:21 +03:00
<div className='absolute top-0 right-0 z-navigation h-12 grid'>
<button
tabIndex={-1}
type='button'
className='p-1 cursor-pointer self-start'
onClick={toggleNoNavigation}
data-tooltip-id={globalIDs.tooltip}
data-tooltip-content={noNavigationAnimation ? 'Показать навигацию' : 'Скрыть навигацию'}
>
{!noNavigationAnimation ? <IconPin size='0.75rem' /> : null}
{noNavigationAnimation ? <IconUnpin size='0.75rem' /> : null}
</button>
2024-12-19 18:48:43 +03:00
{!noNavigationAnimation ? (
<button
tabIndex={-1}
type='button'
2025-02-22 16:12:29 +03:00
className='p-1 cursor-pointer'
2024-12-19 18:48:43 +03:00
onClick={toggleDarkMode}
2025-02-20 18:10:34 +03:00
data-tooltip-id={globalIDs.tooltip}
2024-12-19 18:48:43 +03:00
data-tooltip-content={darkMode ? 'Тема: Темная' : 'Тема: Светлая'}
>
{darkMode ? <IconDarkTheme size='0.75rem' /> : null}
{!darkMode ? <IconLightTheme size='0.75rem' /> : null}
</button>
) : null}
</div>
2024-06-07 20:17:03 +03:00
);
}