import * as React from 'react' import { PageBlock } from 'notion-types' import { CollectionViewProps } from '../types' import { Property } from './property' import { useNotionContext } from '../context' import { CollectionGroup } from './collection-group' import { getCollectionGroups } from './collection-utils' const defaultBlockIds = [] export const CollectionViewList: React.FC = ({ collection, collectionView, collectionData }) => { const isGroupedCollection = collectionView?.format?.collection_group_by if (isGroupedCollection) { const collectionGroups = getCollectionGroups( collection, collectionView, collectionData ) return collectionGroups.map((group, key) => ( )) } const blockIds = (collectionData['collection_group_results']?.blockIds ?? collectionData.blockIds) || defaultBlockIds return ( ) } function List({ blockIds, collection, collectionView }) { const { components, recordMap, mapPageUrl } = useNotionContext() return (
{blockIds?.map((blockId) => { const block = recordMap.block[blockId]?.value as PageBlock if (!block) return null const titleSchema = collection.schema.title const titleData = block?.properties?.title return (
{collectionView.format?.list_properties ?.filter((p) => p.visible) .map((p) => { const schema = collection.schema[p.property] const data = block && block.properties?.[p.property] if (!schema) { return null } return (
) })}
) })}
) }