Files
twenty/front/src/AppNavbar.tsx
Kanav Arora 74e2464939 2495 fix cmdk removal and added toggle functionality (#2528)
* 2495-fix(front): cmdk removed; custom styles added

* 2495-fix(front): search issue fixed

* 2495-feat(front): Menu toggle funct added

* 2495-fix(front): onclick handler added

* 2495-fix(front): Focus with ArrowKeys added; cmdk removed

* Remove cmdk

* Introduce Selectable list

* Improve api

* Improve api

* Complete refactoring

* Fix ui regressions

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-11-28 18:50:23 +01:00

73 lines
2.2 KiB
TypeScript

import { useLocation } from 'react-router-dom';
import { useCurrentUserTaskCount } from '@/activities/tasks/hooks/useCurrentUserDueTaskCount';
import { useCommandMenu } from '@/command-menu/hooks/useCommandMenu';
import { Favorites } from '@/favorites/components/Favorites';
import { ObjectMetadataNavItems } from '@/object-metadata/components/ObjectMetadataNavItems';
import { SettingsNavbar } from '@/settings/components/SettingsNavbar';
import {
IconBell,
IconCheckbox,
IconSearch,
IconSettings,
IconTargetArrow,
} from '@/ui/display/icon/index';
import { useIsSubMenuNavbarDisplayed } from '@/ui/layout/hooks/useIsSubMenuNavbarDisplayed';
import MainNavbar from '@/ui/navigation/navbar/components/MainNavbar';
import NavItem from '@/ui/navigation/navbar/components/NavItem';
import NavTitle from '@/ui/navigation/navbar/components/NavTitle';
export const AppNavbar = () => {
const currentPath = useLocation().pathname;
const { toggleCommandMenu } = useCommandMenu();
const isInSubMenu = useIsSubMenuNavbarDisplayed();
const { currentUserDueTaskCount } = useCurrentUserTaskCount();
return (
<>
{!isInSubMenu ? (
<MainNavbar>
<NavItem
label="Search"
Icon={IconSearch}
onClick={() => {
toggleCommandMenu();
}}
keyboard={['⌘', 'K']}
/>
<NavItem
label="Notifications"
to="/inbox"
Icon={IconBell}
soon={true}
/>
<NavItem
label="Settings"
to="/settings/profile"
Icon={IconSettings}
/>
<NavItem
label="Tasks"
to="/tasks"
active={currentPath === '/tasks'}
Icon={IconCheckbox}
count={currentUserDueTaskCount}
/>
<Favorites />
<NavTitle label="Workspace" />
<ObjectMetadataNavItems />
<NavItem
label="Opportunities"
to="/objects/opportunities"
active={currentPath === '/objects/opportunities'}
Icon={IconTargetArrow}
/>
</MainNavbar>
) : (
<SettingsNavbar />
)}
</>
);
};