Add workspace favorites behind feature flag (#6904)

- make member nullable on favorites
- add potential relation with view entity
- add a new type of favorite list in front : workspace favorite
- build a new component for retrieving workspace favorite to display +
refacto the existing one

Bonus:
- removing activities seed since this is deprecated
This commit is contained in:
Thomas Trompette
2024-09-05 16:41:06 +02:00
committed by GitHub
parent bc8c961e30
commit 78d8df6a68
21 changed files with 339 additions and 160 deletions

View File

@ -3,12 +3,14 @@ import { useSetRecoilState } from 'recoil';
import { IconSearch, IconSettings } from 'twenty-ui';
import { useCommandMenu } from '@/command-menu/hooks/useCommandMenu';
import { Favorites } from '@/favorites/components/Favorites';
import { NavigationDrawerSectionForObjectMetadataItems } from '@/object-metadata/components/NavigationDrawerSectionForObjectMetadataItems';
import { CurrentWorkspaceMemberFavorites } from '@/favorites/components/CurrentWorkspaceMemberFavorites';
import { WorkspaceFavorites } from '@/favorites/components/WorkspaceFavorites';
import { NavigationDrawerSectionForObjectMetadataItemsWrapper } from '@/object-metadata/components/NavigationDrawerSectionForObjectMetadataItemsWrapper';
import { NavigationDrawerItem } from '@/ui/navigation/navigation-drawer/components/NavigationDrawerItem';
import { NavigationDrawerSection } from '@/ui/navigation/navigation-drawer/components/NavigationDrawerSection';
import { navigationMemorizedUrlState } from '@/ui/navigation/states/navigationMemorizedUrlState';
import { useIsMobile } from '@/ui/utilities/responsive/hooks/useIsMobile';
import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
export const MainNavigationDrawerItems = () => {
const isMobile = useIsMobile();
@ -17,6 +19,9 @@ export const MainNavigationDrawerItems = () => {
const setNavigationMemorizedUrl = useSetRecoilState(
navigationMemorizedUrlState,
);
const isWorkspaceFavoriteEnabled = useIsFeatureEnabled(
'IS_WORKSPACE_FAVORITE_ENABLED',
);
return (
<>
@ -39,10 +44,16 @@ export const MainNavigationDrawerItems = () => {
</NavigationDrawerSection>
)}
<Favorites />
<CurrentWorkspaceMemberFavorites />
<NavigationDrawerSectionForObjectMetadataItems isRemote={false} />
<NavigationDrawerSectionForObjectMetadataItems isRemote={true} />
{isWorkspaceFavoriteEnabled ? (
<WorkspaceFavorites />
) : (
<NavigationDrawerSectionForObjectMetadataItemsWrapper
isRemote={false}
/>
)}
<NavigationDrawerSectionForObjectMetadataItemsWrapper isRemote={true} />
</>
);
};