You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.3 KiB
41 lines
1.3 KiB
import React from 'react'; |
|
import ListItem from '@material-ui/core/ListItem'; |
|
import ListItemIcon from '@material-ui/core/ListItemIcon'; |
|
import ListItemText from '@material-ui/core/ListItemText'; |
|
import MusicNoteIcon from '@material-ui/icons/MusicNote'; |
|
import Chip from '@material-ui/core/Chip'; |
|
|
|
import { SongDisplayItem } from '../types/DisplayItem'; |
|
|
|
export interface IProps { |
|
item: SongDisplayItem |
|
} |
|
|
|
export default function ItemListLoadedSongItem(props: IProps) { |
|
var artists = props.item.artistNames.length ? props.item.artistNames[0] : "Unknown"; |
|
for (var i: number = 1; i < props.item.artistNames.length; i++) { |
|
artists = artists.concat(", " + props.item.artistNames[i]); |
|
} |
|
|
|
return ( |
|
<ListItem> |
|
<ListItemIcon> |
|
<MusicNoteIcon /> |
|
</ListItemIcon> |
|
<ListItemText |
|
primary={props.item.title} |
|
secondary={artists} |
|
/> |
|
{props.item.tagNames.map((tag: any) => { |
|
return <Chip label={tag}/> |
|
})} |
|
{props.item.storeLinks.map((link: any) => { |
|
return <a href={link.url} target="_blank" rel="noopener noreferrer"> |
|
<ListItemIcon> |
|
{link.icon} |
|
</ListItemIcon> |
|
</a>; |
|
})} |
|
</ListItem> |
|
); |
|
}
|
|
|