Files
twenty/packages/twenty-front/src/modules/views/hooks/useViewOrDefaultViewFromPrefetchedViews.ts
Lucas Bordeau 1b0759ef2f Fix post merge revamp navigation bar (#6297)
Closes #6285 

@charlesBochet Also added some more utils for our component state v2.
2024-07-19 14:24:47 +02:00

25 lines
725 B
TypeScript

import { usePrefetchedData } from '@/prefetch/hooks/usePrefetchedData';
import { PrefetchKey } from '@/prefetch/types/PrefetchKey';
import { View } from '@/views/types/View';
import { useMemo } from 'react';
export const useViewOrDefaultViewFromPrefetchedViews = ({
objectMetadataItemId,
viewId,
}: {
objectMetadataItemId: string;
viewId: string | null | undefined;
}) => {
const { records: views } = usePrefetchedData<View>(PrefetchKey.AllViews);
const view = useMemo(() => {
return views.find(
(view: View) =>
(view.key === 'INDEX' || view?.id === viewId) &&
view?.objectMetadataId === objectMetadataItemId,
);
}, [viewId, views, objectMetadataItemId]);
return { view };
};