Files
twenty/front/src/AppNavbar.tsx
T
Sammy Teillet 294b290939 338 on opportunities page when i associate a new company to a pipelinestage its persisted in db (#339)
* feature: add navigation for opportunities

* chore: add companies in pipeline seed

* feature: make the board scrollable

* feature: make the board scrollable vertically

* feature: remove board container

* feature: fix newButton style

* feature: add onClickNew method on board

* feature: call backend with hardcoded id for new pipeline progressable

* feature: refetch board on click on new

* feature: use pipelineProgressId instead of entityId to ensure unicity of itemKey

* feature: avoid rerender of columns when refetching
2023-06-20 19:27:02 -07:00

75 lines
2.2 KiB
TypeScript

import { useLocation } from 'react-router-dom';
import { useTheme } from '@emotion/react';
import { SettingsNavbar } from '@/settings/components/SettingsNavbar';
import {
IconBuildingSkyscraper,
IconInbox,
IconSearch,
IconSettings,
IconTargetArrow,
IconUser,
} from '@/ui/icons/index';
import NavItemsContainer from '@/ui/layout/navbar/NavItemsContainer';
import NavItem from './modules/ui/layout/navbar/NavItem';
import NavTitle from './modules/ui/layout/navbar/NavTitle';
import NavWorkspaceButton from './modules/ui/layout/navbar/NavWorkspaceButton';
export function AppNavbar() {
const theme = useTheme();
const currentPath = useLocation().pathname;
const shouldDiplaySubNavBar = currentPath.match(/\/settings\//g) !== null;
return (
<>
{!shouldDiplaySubNavBar ? (
<>
<NavWorkspaceButton />
<NavItemsContainer>
<NavItem
label="Search"
to="/search"
icon={<IconSearch size={theme.iconSizeMedium} />}
soon={true}
/>
<NavItem
label="Inbox"
to="/inbox"
icon={<IconInbox size={theme.iconSizeMedium} />}
soon={true}
/>
<NavItem
label="Settings"
to="/settings/profile"
icon={<IconSettings size={theme.iconSizeMedium} />}
/>
<NavTitle label="Workspace" />
<NavItem
label="People"
to="/people"
icon={<IconUser size={theme.iconSizeMedium} />}
active={currentPath === '/people'}
/>
<NavItem
label="Companies"
to="/companies"
icon={<IconBuildingSkyscraper size={theme.iconSizeMedium} />}
active={currentPath === '/companies'}
/>
<NavItem
label="Opportunities"
to="/opportunities"
icon={<IconTargetArrow size={theme.iconSizeMedium} />}
active={currentPath === '/opportunities'}
/>
</NavItemsContainer>
</>
) : (
<SettingsNavbar />
)}
</>
);
}