// Copyright (C) 2017-2022 Smart code 203358507 const React = require('react'); const PropTypes = require('prop-types'); const classnames = require('classnames'); const Icon = require('@stremio/stremio-icons/dom'); const { Button, Image } = require('stremio/common'); const { useServices } = require('stremio/services'); const Stream = require('./Stream'); const styles = require('./styles'); const StreamsList = ({ className, ...props }) => { const { core } = useServices(); const streams = React.useMemo(() => { return props.streams .filter((streams) => streams.content.type === 'Ready') .map((streams) => { return streams.content.content.map((stream) => ({ ...stream, onClick: () => { core.transport.analytics({ event: 'StreamClicked', args: { stream } }); }, addonName: streams.addon.manifest.name })); }) .flat(1); }, [props.streams]); return (
{ props.streams.length === 0 ?
{'
No addons were requested for streams!
: props.streams.every((streams) => streams.content.type === 'Err') ?
{'
No streams were found!
: streams.length === 0 ?
:
{streams.map((stream, index) => ( ))}
}
); }; StreamsList.propTypes = { className: PropTypes.string, streams: PropTypes.arrayOf(PropTypes.object).isRequired }; module.exports = StreamsList;