diff --git a/src/js/components/ItemSource.js b/src/js/components/ItemSource.js new file mode 100755 index 00000000..f35c6763 --- /dev/null +++ b/src/js/components/ItemSource.js @@ -0,0 +1,15 @@ + +import React, { PropTypes } from 'react' + +export default class extends React.Component{ + + constructor(props) { + super(props); + } + + render(){ + var uriElements = this.props.uri.split(':'); + if( uriElements.length <= 0 ) return false; + return { uriElements[0] }; + } +} \ No newline at end of file diff --git a/src/js/components/ListItem.js b/src/js/components/ListItem.js new file mode 100755 index 00000000..92b9d4bf --- /dev/null +++ b/src/js/components/ListItem.js @@ -0,0 +1,26 @@ + +import React, { PropTypes } from 'react' +import FontAwesome from 'react-fontawesome' +import { browserHistory } from 'react-router' + +export default class ListItem extends React.Component{ + + constructor(props) { + super(props); + } + + handleClick(e){ + browserHistory.push( this.props.link ); + } + + render(){ + var className = 'list-item'; + if( this.props.extraClasses ) className += ' '+this.props.extraClasses; + + return ( +
  • this.handleClick(e) }> + { this.props.children } +
  • + ); + } +} \ No newline at end of file diff --git a/src/js/components/PlaylistListItem.js b/src/js/components/PlaylistListItem.js new file mode 100755 index 00000000..1484cd05 --- /dev/null +++ b/src/js/components/PlaylistListItem.js @@ -0,0 +1,39 @@ + +import React, { PropTypes } from 'react' +import FontAwesome from 'react-fontawesome' +import { Link } from 'react-router' + +import ListItem from './ListItem' +import ItemSource from './ItemSource' + +export default class PlaylistListItem extends React.Component{ + + constructor(props) { + super(props); + } + + renderOwner(){ + if( !this.props.item.owner ) return null; + return ( + + { this.props.item.owner.id } + + ); + } + + render(){ + return ( + + + {this.props.item.name} + + + { this.renderOwner() } + + + + + + ); + } +} \ No newline at end of file diff --git a/src/js/components/Track.js b/src/js/components/Track.js index c6e97007..375b1b1e 100755 --- a/src/js/components/Track.js +++ b/src/js/components/Track.js @@ -39,7 +39,7 @@ export default class Track extends React.Component{ render(){ - var className = 'track'; + var className = 'list-item track'; var selectedIcon = 'square-o'; if( typeof(this.props.track.selected) !== 'undefined' && this.props.track.selected ){ selectedIcon = 'check-square-o'; diff --git a/src/js/components/TrackList.js b/src/js/components/TrackList.js index 2f78158a..e81528c0 100755 --- a/src/js/components/TrackList.js +++ b/src/js/components/TrackList.js @@ -105,6 +105,12 @@ class TrackList extends React.Component{ return (