ConceptPortal-public/rsconcept/frontend/src/app/navigation/menu-user.tsx

36 lines
1021 B
TypeScript
Raw Normal View History

2025-08-05 20:01:33 +03:00
'use client';
import { Suspense } from 'react';
2025-03-12 12:04:50 +03:00
import { useDropdown } from '@/components/dropdown';
import { Loader } from '@/components/loader';
import { urls } from '../urls';
2025-02-12 21:36:25 +03:00
2025-03-12 11:55:43 +03:00
import { useConceptNavigation } from './navigation-context';
import { UserButton } from './user-button';
import { UserDropdown } from './user-dropdown';
2023-07-15 17:46:19 +03:00
2025-07-11 13:34:00 +03:00
export function MenuUser() {
const router = useConceptNavigation();
2025-10-14 01:07:10 +03:00
const {
elementRef: menuRef,
isOpen: isMenuOpen,
toggle: toggleMenu,
handleBlur: handleMenuBlur,
hide: hideMenu
} = useDropdown();
2023-07-15 17:46:19 +03:00
return (
2025-10-14 01:07:10 +03:00
<div ref={menuRef} onBlur={handleMenuBlur} className='flex items-center justify-start relative h-full'>
<Suspense fallback={<Loader circular scale={1.5} />}>
<UserButton
onLogin={() => router.push({ path: urls.login, force: true })}
2025-10-14 01:07:10 +03:00
onClickUser={toggleMenu}
isOpen={isMenuOpen}
/>
</Suspense>
2025-10-14 01:07:10 +03:00
<UserDropdown isOpen={isMenuOpen} hideDropdown={() => hideMenu()} />
2023-12-28 14:04:44 +03:00
</div>
);
2023-07-15 17:46:19 +03:00
}