2025-01-27 15:03:48 +03:00
|
|
|
import { Suspense } from 'react';
|
|
|
|
|
2025-02-10 01:32:55 +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-02-10 01:32:55 +03:00
|
|
|
import { useConceptNavigation } from './NavigationContext';
|
2025-02-19 23:30:35 +03:00
|
|
|
import { UserButton } from './UserButton';
|
|
|
|
import { UserDropdown } from './UserDropdown';
|
2023-07-15 17:46:19 +03:00
|
|
|
|
2025-02-19 23:30:35 +03:00
|
|
|
export function UserMenu() {
|
2023-12-13 14:32:57 +03:00
|
|
|
const router = useConceptNavigation();
|
2023-07-20 17:11:03 +03:00
|
|
|
const menu = useDropdown();
|
2023-07-15 17:46:19 +03:00
|
|
|
return (
|
2024-04-27 15:19:20 +03:00
|
|
|
<div ref={menu.ref} className='h-full w-[4rem] flex items-center justify-center'>
|
2025-01-27 15:03:48 +03:00
|
|
|
<Suspense fallback={<Loader circular scale={1.5} />}>
|
2025-02-26 16:28:29 +03:00
|
|
|
<UserButton onLogin={() => router.push({ path: urls.login, force: true })} onClickUser={menu.toggle} />
|
2025-01-27 15:03:48 +03:00
|
|
|
</Suspense>
|
|
|
|
<UserDropdown isOpen={menu.isOpen} hideDropdown={() => menu.hide()} />
|
2023-12-28 14:04:44 +03:00
|
|
|
</div>
|
|
|
|
);
|
2023-07-15 17:46:19 +03:00
|
|
|
}
|