edu-analytics-ui/src/components/SelectPlayList.tsx (45 lines of code) (raw):
interface SelectPlaylist {
selectedPlayList: Array<Object>,
onPlaylistClick:Function,
playListSeleted:string,
}
const SelectPlaylist: React.FunctionComponent<SelectPlaylist> = ({
selectedPlayList,
onPlaylistClick,
playListSeleted
}) => {
const isSelected = (index) => {
if (playListSeleted === index) {
return "card card-compact bg-base-100 shadow-xl image-full border-blue-100 border-2"
}
else {
return "card card-compact bg-base-100 shadow-xl image-full"
}
}
return (
<div className="m-5">
<p>Select Playlist</p>
<div className='grid grid-cols-3 gap-4 '>
{selectedPlayList.length === 0 ? <p>No playlist selected</p> : selectedPlayList.map((items, index) => {
return (
<div onClick={()=>onPlaylistClick(index)}>
<div className={isSelected(index)}>
<figure><img src={items.videos[0]?.thumbnail} alt="thumbnail" /></figure>
<div className="card-body">
<div className="absolute inset-y-0 right-0 bottom-0 w-16 text-center " style={{ backgroundColor: 'rgba(0,0,0,0.51)' }}>
<div style={{ marginTop: '85%', marginLeft: '35%' }}>{items.count}
<svg width="20" height="16" viewBox="0 0 20 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 0H0V2H12V0ZM12 4H0V6H12V4ZM0 8H10V10H0V8ZM20 11L13 15.2V6.8L20 11Z" fill="white" />
</svg></div>
</div>
</div>
</div>
<div>{items.title}</div>
</div>
)
})}
</div>
</div>
)
}
export default SelectPlaylist;