import '../../elements/emby-itemscontainer/emby-itemscontainer'; import { BaseItemDtoQueryResult } from '@thornbill/jellyfin-sdk/dist/generated-client'; import React, { FunctionComponent, useEffect, useRef } from 'react'; import cardBuilder from '../../components/cardbuilder/cardBuilder'; import globalize from '../../scripts/globalize'; import ItemsContainerElement from '../../elements/ItemsContainerElement'; type ResumableItemsContainerProps = { getThumbShape: () => string; enableScrollX: () => boolean; itemsResult?: BaseItemDtoQueryResult; } const ResumableItemsContainer: FunctionComponent = ({ getThumbShape, enableScrollX, itemsResult = {} }: ResumableItemsContainerProps) => { const element = useRef(null); useEffect(() => { const section = element.current?.querySelector('#resumableSection') as HTMLDivElement; if (itemsResult.Items?.length) { section.classList.remove('hide'); } else { section.classList.add('hide'); } const allowBottomPadding = !enableScrollX(); const container = element.current?.querySelector('#resumableItems') as HTMLDivElement; cardBuilder.buildCards(itemsResult.Items || [], { itemsContainer: container, preferThumb: true, shape: getThumbShape(), scalable: true, overlayPlayButton: true, allowBottomPadding: allowBottomPadding, cardLayout: false, showTitle: true, showYear: true, centerText: true }); }, [enableScrollX, getThumbShape, itemsResult.Items]); return (

{globalize.translate('HeaderContinueWatching')}

); }; export default ResumableItemsContainer;