* Added Overview page * Revised Getting Started page * Minor revision * Edited readme, minor modifications to docs * Removed sweep.yaml, .devcontainer, .ergomake * Moved security.md to .github, added contributing.md * changes as per code review * updated contributing.md * fixed broken links & added missing links in doc, improved structure * fixed link in wsl setup * fixed server link, added https cloning in yarn-setup * removed package-lock.json * added doc card, admonitions * removed underline from nav buttons * refactoring modules/ui * refactoring modules/ui * Change folder case * Fix theme location * Fix case 2 * Fix storybook --------- Co-authored-by: Nimra Ahmed <nimra1408@gmail.com> Co-authored-by: Nimra Ahmed <50912134+nimraahmed@users.noreply.github.com>
99 lines
2.8 KiB
TypeScript
99 lines
2.8 KiB
TypeScript
import { useLocation, useNavigate } 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 { SettingsNavbar } from '@/settings/components/SettingsNavbar';
|
|
import {
|
|
IconBell,
|
|
IconBuildingSkyscraper,
|
|
IconCheckbox,
|
|
IconSearch,
|
|
IconSettings,
|
|
IconTargetArrow,
|
|
IconUser,
|
|
} 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';
|
|
|
|
import { measureTotalFrameLoad } from './utils/measureTotalFrameLoad';
|
|
|
|
export const AppNavbar = () => {
|
|
const currentPath = useLocation().pathname;
|
|
const { openCommandMenu } = useCommandMenu();
|
|
|
|
const navigate = useNavigate();
|
|
|
|
const isInSubMenu = useIsSubMenuNavbarDisplayed();
|
|
const { currentUserDueTaskCount } = useCurrentUserTaskCount();
|
|
|
|
return (
|
|
<>
|
|
{!isInSubMenu ? (
|
|
<MainNavbar>
|
|
<NavItem
|
|
label="Search"
|
|
Icon={IconSearch}
|
|
onClick={() => {
|
|
openCommandMenu();
|
|
}}
|
|
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" />
|
|
<NavItem
|
|
label="Companies"
|
|
to="/companies"
|
|
Icon={IconBuildingSkyscraper}
|
|
active={currentPath === '/companies'}
|
|
/>
|
|
<NavItem
|
|
label="People"
|
|
to="/people"
|
|
onClick={() => {
|
|
measureTotalFrameLoad('people');
|
|
|
|
navigate('/people');
|
|
}}
|
|
Icon={IconUser}
|
|
active={currentPath === '/people'}
|
|
/>
|
|
<NavItem
|
|
label="Opportunities"
|
|
// to="/opportunities"
|
|
onClick={() => {
|
|
measureTotalFrameLoad('opportunities');
|
|
|
|
navigate('/opportunities');
|
|
}}
|
|
Icon={IconTargetArrow}
|
|
active={currentPath === '/opportunities'}
|
|
/>
|
|
</MainNavbar>
|
|
) : (
|
|
<SettingsNavbar />
|
|
)}
|
|
</>
|
|
);
|
|
};
|