mirror of
https://github.com/lingble/twenty.git
synced 2025-10-29 20:02:29 +00:00
Something changed, which affected the Favorite folder picker checkbox styles -- fixed it! Cleaned up code in `CurrentWorkspaceMemberFavoritesFolders` - removed redundant filtering since favorites are already filtered in `usePrefetchedFavoritesData`. Regarding issue #8569 - I am not sure what to do in this case. Since Folders data is gated by a feature flag, we can't use it in `CurrentWorkspaceMemberFavoritesFolders` to ensure the favorite section renders with empty folders. Currently, the section only appears when at least one favorite exists - may be leave this section open at all times or fix this bug after removal of the feature flag? --------- Co-authored-by: Nitin Koche <nitinkoche@Nitins-MacBook-Pro.local> Co-authored-by: Charles Bochet <charles@twenty.com>
72 lines
2.9 KiB
TypeScript
72 lines
2.9 KiB
TypeScript
import { useLocation } from 'react-router-dom';
|
|
import { useRecoilState, useSetRecoilState } from 'recoil';
|
|
import { IconSearch, IconSettings } from 'twenty-ui';
|
|
|
|
import { useCommandMenu } from '@/command-menu/hooks/useCommandMenu';
|
|
import { CurrentWorkspaceMemberFavoritesFolders } from '@/favorites/components/CurrentWorkspaceMemberFavoritesFolders';
|
|
import { WorkspaceFavorites } from '@/favorites/components/WorkspaceFavorites';
|
|
import { NavigationDrawerOpenedSection } from '@/object-metadata/components/NavigationDrawerOpenedSection';
|
|
import { RemoteNavigationDrawerSection } from '@/object-metadata/components/RemoteNavigationDrawerSection';
|
|
import { NavigationDrawerItem } from '@/ui/navigation/navigation-drawer/components/NavigationDrawerItem';
|
|
import { NavigationDrawerSection } from '@/ui/navigation/navigation-drawer/components/NavigationDrawerSection';
|
|
import { isNavigationDrawerExpandedState } from '@/ui/navigation/states/isNavigationDrawerExpanded';
|
|
import { navigationDrawerExpandedMemorizedState } from '@/ui/navigation/states/navigationDrawerExpandedMemorizedState';
|
|
import { navigationMemorizedUrlState } from '@/ui/navigation/states/navigationMemorizedUrlState';
|
|
import { useIsMobile } from '@/ui/utilities/responsive/hooks/useIsMobile';
|
|
import { ScrollWrapper } from '@/ui/utilities/scroll/components/ScrollWrapper';
|
|
import styled from '@emotion/styled';
|
|
|
|
const StyledMainSection = styled(NavigationDrawerSection)`
|
|
min-height: fit-content;
|
|
`;
|
|
|
|
export const MainNavigationDrawerItems = () => {
|
|
const isMobile = useIsMobile();
|
|
const { toggleCommandMenu } = useCommandMenu();
|
|
const location = useLocation();
|
|
const setNavigationMemorizedUrl = useSetRecoilState(
|
|
navigationMemorizedUrlState,
|
|
);
|
|
|
|
const [isNavigationDrawerExpanded, setIsNavigationDrawerExpanded] =
|
|
useRecoilState(isNavigationDrawerExpandedState);
|
|
const setNavigationDrawerExpandedMemorized = useSetRecoilState(
|
|
navigationDrawerExpandedMemorizedState,
|
|
);
|
|
|
|
return (
|
|
<>
|
|
{!isMobile && (
|
|
<StyledMainSection>
|
|
<NavigationDrawerItem
|
|
label="Search"
|
|
Icon={IconSearch}
|
|
onClick={toggleCommandMenu}
|
|
keyboard={['⌘', 'K']}
|
|
/>
|
|
<NavigationDrawerItem
|
|
label="Settings"
|
|
to={'/settings/profile'}
|
|
onClick={() => {
|
|
setNavigationDrawerExpandedMemorized(isNavigationDrawerExpanded);
|
|
setIsNavigationDrawerExpanded(true);
|
|
setNavigationMemorizedUrl(location.pathname + location.search);
|
|
}}
|
|
Icon={IconSettings}
|
|
/>
|
|
</StyledMainSection>
|
|
)}
|
|
<ScrollWrapper
|
|
contextProviderName="navigationDrawer"
|
|
enableXScroll={false}
|
|
scrollHide={true}
|
|
>
|
|
<NavigationDrawerOpenedSection />
|
|
<CurrentWorkspaceMemberFavoritesFolders />
|
|
<WorkspaceFavorites />
|
|
<RemoteNavigationDrawerSection />
|
|
</ScrollWrapper>
|
|
</>
|
|
);
|
|
};
|