Placeholders en Search

This commit is contained in:
Daniel Cortes
2020-06-16 03:05:53 -04:00
parent 32353f814c
commit 049f7e83d7
2 changed files with 27 additions and 4 deletions

View File

@@ -2,6 +2,20 @@ import React from "react";
import {Link} from "react-router-dom";
import "./EntityList.scss"
const EntityPlaceholder = (props) => {
return (
<li className='entity-item pulsating'>
<Link to={props.link}>
{props.cover && <div className='cover'/>}
<div className='body'>
<span class='title'>&nbsp;</span>
<span className='subtitle'>&nbsp;</span>
</div>
</Link>
</li>
)
}
const EntityItem = (props) => {
return (
<li className='entity-item'>
@@ -21,8 +35,17 @@ const EntityItem = (props) => {
}
export const EntityList = (props) => {
const entities = props.items.map(item => <EntityItem cover={item.cover} link={item.link}
let entities;
if(props.placeholder){
entities = [];
for(const i of Array(props.size).keys()){
entities.push(<EntityPlaceholder key={i} cover={props.cover}/>)
}
}else{
entities = props.items.map(item => <EntityItem cover={item.cover} link={item.link}
title={item.title} subtitle={item.subtitle}/>);
}
const className = props.grid ? "grid" : "column";
return (

View File

@@ -39,7 +39,7 @@ const SearchSongs = (props) => {
};
let songsComponent = <Fragment/>;
let songsComponent = <EntityList placeholder={true} size={10}/>;
if (songs) {
const items = songs.map((song) => {
return {
@@ -99,7 +99,7 @@ const SearchDiscs = (props) => {
})
};
let discsComponent = <Fragment/>;
let discsComponent = <EntityList placeholder={true} size={10} cover={true}/>;
if (discs) {
const items = discs.map((disc) => ({
'cover': <CoverArt disc={disc}/>,
@@ -157,7 +157,7 @@ const SearchArtists = (props) => {
})
};
let artistsContent = <Fragment/>;
let artistsContent = <EntityList placeholder={true} size={10}/>;
if (artists) {
const items = artists.map((artist) => ({
'cover': null,