// Copyright (C) 2017-2022 Smart code 203358507 const React = require('react'); const ReactIs = require('react-is'); const PropTypes = require('prop-types'); const classnames = require('classnames'); const Icon = require('@stremio/stremio-icons/dom'); const Button = require('stremio/common/Button'); const CONSTANTS = require('stremio/common/CONSTANTS'); const MetaRowPlaceholder = require('./MetaRowPlaceholder'); const styles = require('./styles'); const MetaRow = ({ className, title, message, items, itemComponent, deepLinks }) => { return (
{ (typeof title === 'string' && title.length > 0) || (deepLinks && (typeof deepLinks.discover === 'string' || typeof deepLinks.library === 'string')) ?
{ typeof title === 'string' && title.length > 0 ?
{title}
: null } { deepLinks && (typeof deepLinks.discover === 'string' || typeof deepLinks.library === 'string') ? : null }
: null } { typeof message === 'string' && message.length > 0 ?
{message}
:
{ ReactIs.isValidElementType(itemComponent) ? items.slice(0, CONSTANTS.CATALOG_PREVIEW_SIZE).map((item, index) => { return React.createElement(itemComponent, { ...item, key: index, className: classnames(styles['meta-item'], styles['poster-shape-poster'], styles[`poster-shape-${item.posterShape}`]) }); }) : null } {Array(Math.max(0, CONSTANTS.CATALOG_PREVIEW_SIZE - items.length)).fill(null).map((_, index) => (
))}
}
); }; MetaRow.Placeholder = MetaRowPlaceholder; MetaRow.propTypes = { className: PropTypes.string, title: PropTypes.string, message: PropTypes.string, items: PropTypes.arrayOf(PropTypes.shape({ posterShape: PropTypes.string })), itemComponent: PropTypes.elementType, deepLinks: PropTypes.shape({ discover: PropTypes.string, library: PropTypes.string }) }; module.exports = MetaRow;