2025-08-05 20:01:33 +03:00
|
|
|
'use client';
|
|
|
|
|
|
2025-01-27 15:03:48 +03:00
|
|
|
import { Suspense } from 'react';
|
|
|
|
|
|
2025-03-12 12:04:50 +03:00
|
|
|
import { useDropdown } from '@/components/dropdown';
|
|
|
|
|
import { Loader } from '@/components/loader';
|
2023-12-13 14:32:57 +03:00
|
|
|
|
2024-04-01 21:45:10 +03:00
|
|
|
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() {
|
2023-12-13 14:32:57 +03:00
|
|
|
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'>
|
2025-01-27 15:03:48 +03:00
|
|
|
<Suspense fallback={<Loader circular scale={1.5} />}>
|
2025-03-06 22:26:44 +03:00
|
|
|
<UserButton
|
|
|
|
|
onLogin={() => router.push({ path: urls.login, force: true })}
|
2025-10-14 01:07:10 +03:00
|
|
|
onClickUser={toggleMenu}
|
|
|
|
|
isOpen={isMenuOpen}
|
2025-03-06 22:26:44 +03:00
|
|
|
/>
|
2025-01-27 15:03:48 +03:00
|
|
|
</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
|
|
|
}
|