Files
twenty_crm/packages/twenty-front/src/modules/object-metadata/components/NavigationDrawerOpenedSection.tsx
Félix Malfait 9d32e63111 Continue Frontend localization (#9909)
Translation more content on the frontend
2025-01-29 17:36:28 +01:00

60 lines
2.0 KiB
TypeScript

import { useParams } from 'react-router-dom';
import { useWorkspaceFavorites } from '@/favorites/hooks/useWorkspaceFavorites';
import { NavigationDrawerSectionForObjectMetadataItems } from '@/object-metadata/components/NavigationDrawerSectionForObjectMetadataItems';
import { NavigationDrawerSectionForObjectMetadataItemsSkeletonLoader } from '@/object-metadata/components/NavigationDrawerSectionForObjectMetadataItemsSkeletonLoader';
import { useFilteredObjectMetadataItems } from '@/object-metadata/hooks/useFilteredObjectMetadataItems';
import { useIsPrefetchLoading } from '@/prefetch/hooks/useIsPrefetchLoading';
import { useLingui } from '@lingui/react/macro';
export const NavigationDrawerOpenedSection = () => {
const { t } = useLingui();
const { activeObjectMetadataItems } = useFilteredObjectMetadataItems();
const filteredActiveObjectMetadataItems = activeObjectMetadataItems.filter(
(item) => !item.isRemote,
);
const loading = useIsPrefetchLoading();
const { workspaceFavoritesObjectMetadataItems } = useWorkspaceFavorites();
const {
objectNamePlural: currentObjectNamePlural,
objectNameSingular: currentObjectNameSingular,
} = useParams();
if (!currentObjectNamePlural && !currentObjectNameSingular) {
return;
}
const objectMetadataItem = filteredActiveObjectMetadataItems.find(
(item) =>
item.namePlural === currentObjectNamePlural ||
item.nameSingular === currentObjectNameSingular,
);
if (!objectMetadataItem) {
return;
}
const shouldDisplayObjectInOpenedSection =
!workspaceFavoritesObjectMetadataItems
.map((item) => item.id)
.includes(objectMetadataItem.id);
if (loading) {
return <NavigationDrawerSectionForObjectMetadataItemsSkeletonLoader />;
}
return (
shouldDisplayObjectInOpenedSection && (
<NavigationDrawerSectionForObjectMetadataItems
sectionTitle={t`Opened`}
objectMetadataItems={[objectMetadataItem]}
isRemote={false}
/>
)
);
};