import type { BaseItemDto } from '@jellyfin/sdk/lib/generated-client'; import React, { FC, useEffect, useRef } from 'react'; import cardBuilder from 'components/cardbuilder/cardBuilder'; import ItemsContainerElement from 'elements/ItemsContainerElement'; import Scroller from 'elements/emby-scroller/Scroller'; import LinkButton from 'elements/emby-button/LinkButton'; import imageLoader from 'components/images/imageLoader'; import { CardOptions } from 'types/cardOptions'; interface SectionContainerProps { url?: string; sectionTitle: string; items: BaseItemDto[]; cardOptions: CardOptions; } const SectionContainer: FC = ({ sectionTitle, url, items, cardOptions }) => { const element = useRef(null); useEffect(() => { const itemsContainer = element.current?.querySelector('.itemsContainer'); cardBuilder.buildCards(items, { itemsContainer: itemsContainer, parentContainer: element.current, ...cardOptions }); imageLoader.lazyChildren(itemsContainer); }, [cardOptions, items]); return (
{url && items.length > 5 ? (

{sectionTitle}

) : (

{sectionTitle}

)}
); }; export default SectionContainer;