import { BaseItemDto } from '@thornbill/jellyfin-sdk/dist/generated-client'; import React, { FunctionComponent, useEffect, useRef } from 'react'; import cardBuilder from '../cardbuilder/cardBuilder'; import '../../elements/emby-scroller/emby-scroller'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; // There seems to be some compatibility issues here between // React and our legacy web components, so we need to inject // them as an html string for now =/ const createScroller = ({ title = '' }) => ({ __html: `

${title}

` }); type SearchResultsRowProps = { title?: string; items?: BaseItemDto[]; cardOptions?: Record; } const SearchResultsRow: FunctionComponent = ({ title, items = [], cardOptions = {} }: SearchResultsRowProps) => { const element = useRef(null); useEffect(() => { cardBuilder.buildCards(items, { itemsContainer: element.current?.querySelector('.itemsContainer'), parentContainer: element.current, shape: 'autooverflow', scalable: true, showTitle: true, overlayText: false, centerText: true, allowBottomPadding: false, ...cardOptions }); }, [cardOptions, items]); return (
); }; export default SearchResultsRow;