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 filteredActiveNonSystemObjectMetadataItems = activeObjectMetadataItems.filter((item) => !item.isRemote); const loading = useIsPrefetchLoading(); const { workspaceFavoritesObjectMetadataItems } = useWorkspaceFavorites(); const { objectNamePlural: currentObjectNamePlural, objectNameSingular: currentObjectNameSingular, } = useParams(); if (!currentObjectNamePlural && !currentObjectNameSingular) { return; } const objectMetadataItem = filteredActiveNonSystemObjectMetadataItems.find( (item) => item.namePlural === currentObjectNamePlural || item.nameSingular === currentObjectNameSingular, ); if (!objectMetadataItem) { return; } const shouldDisplayObjectInOpenedSection = !workspaceFavoritesObjectMetadataItems .map((item) => item.id) .includes(objectMetadataItem.id); if (loading) { return ; } return ( shouldDisplayObjectInOpenedSection && ( ) ); };