From fbc34e71a0e860641dc680e737c4e8ba7554f3e7 Mon Sep 17 00:00:00 2001 From: James Barnsley Date: Mon, 27 Mar 2017 08:29:18 +1300 Subject: [PATCH] Search display --- src/js/components/AlbumGrid.js | 8 +++- src/js/components/ArtistGrid.js | 7 ++- src/js/components/PlaylistGrid.js | 10 +++-- src/js/views/Search.js | 71 +++++++++++++++++++++---------- src/scss/components/_grid.scss | 6 +-- src/scss/views/_search.scss | 5 +-- 6 files changed, 71 insertions(+), 36 deletions(-) diff --git a/src/js/components/AlbumGrid.js b/src/js/components/AlbumGrid.js index bba8256f..66530f21 100755 --- a/src/js/components/AlbumGrid.js +++ b/src/js/components/AlbumGrid.js @@ -8,6 +8,7 @@ import FontAwesome from 'react-fontawesome' import Thumbnail from './Thumbnail' import ArtistSentence from './ArtistSentence' +import * as helpers from '../helpers' import * as uiActions from '../services/ui/actions' class AlbumGrid extends React.Component{ @@ -48,9 +49,12 @@ class AlbumGrid extends React.Component{ onClick={ (e) => this.handleClick(e,global.baseURL+'album/'+album.uri) } onContextMenu={e => this.handleContextMenu(e,album)}> -
{ album.name }
+
+ {album.name} + {this.props.show_source_icon ? : null} +
- { album.artists ? : - } + {album.artists ? : -}
) diff --git a/src/js/components/ArtistGrid.js b/src/js/components/ArtistGrid.js index d6def038..a4057415 100755 --- a/src/js/components/ArtistGrid.js +++ b/src/js/components/ArtistGrid.js @@ -3,9 +3,11 @@ import React, { PropTypes } from 'react' import { connect } from 'react-redux' import { createStore, bindActionCreators } from 'redux' import { Link } from 'react-router' +import FontAwesome from 'react-fontawesome' import Thumbnail from './Thumbnail' +import * as helpers from '../helpers' import * as uiActions from '../services/ui/actions' class ArtistGrid extends React.Component{ @@ -41,7 +43,10 @@ class ArtistGrid extends React.Component{ key={index} onContextMenu={e => this.handleContextMenu(e,artist)}> -
{ artist.name }
+
+ {artist.name} + {this.props.show_source_icon ? : null} +
{artist.followers ? artist.followers.total.toLocaleString()+' followers' : null} {artist.albums_uris && !artist.followers ? artist.albums_uris.length+' albums' : null} diff --git a/src/js/components/PlaylistGrid.js b/src/js/components/PlaylistGrid.js index b4862bd3..7cf21e77 100755 --- a/src/js/components/PlaylistGrid.js +++ b/src/js/components/PlaylistGrid.js @@ -7,6 +7,7 @@ import FontAwesome from 'react-fontawesome' import Thumbnail from './Thumbnail' +import * as helpers from '../helpers' import * as uiActions from '../services/ui/actions' class PlaylistGrid extends React.Component{ @@ -43,10 +44,13 @@ class PlaylistGrid extends React.Component{ key={index} onContextMenu={e => this.handleContextMenu(e,playlist)}> -
{ playlist.name }
+
+ {playlist.name} + {this.props.show_source_icon ? : null} +
- { playlist.tracks_total ? playlist.tracks_total+' tracks' : 0 tracks } - { playlist.can_edit ? : null } + {playlist.tracks_total ? playlist.tracks_total+' tracks' : 0 tracks} + {playlist.can_edit ? : null}
) diff --git a/src/js/views/Search.js b/src/js/views/Search.js index 83e55493..e4bb1975 100755 --- a/src/js/views/Search.js +++ b/src/js/views/Search.js @@ -93,7 +93,7 @@ class Search extends React.Component{ return (
- + this.loadMore('artists') }/>
@@ -104,7 +104,7 @@ class Search extends React.Component{ return (
- + this.loadMore('albums') }/>
@@ -115,7 +115,7 @@ class Search extends React.Component{ return (
- + this.loadMore('playlists') }/>
@@ -126,7 +126,7 @@ class Search extends React.Component{ return (
- + this.loadMore('tracks') }/>
@@ -134,32 +134,57 @@ class Search extends React.Component{ break default: + + if (artists.length > 0){ + var artists_section = ( +
+
+

Artists

+ +
+
+ ) + } else { + var artists_section = null + } + + if (albums.length > 0){ + var albums_section = ( +
+
+

Albums

+ +
+
+ ) + } else { + var albums_section = null + } + + if (playlists.length > 0){ + var playlists_section = ( +
+
+

Playlists

+ +
+
+ ) + } else { + var playlists_section = null + } + return (
-
-
-

Artists

- {artists.length > 0 ? : No results} -
-
-
-
-

Albums

- {albums.length > 0 ? : No results} -
-
-
-
-

Playlists

- {playlists.length > 0 ? : No results} -
-
+ {artists_section} + {albums_section} + {playlists_section}

Tracks

- + this.loadMore('tracks') }/>
diff --git a/src/scss/components/_grid.scss b/src/scss/components/_grid.scss index 16cee513..bc5aa3de 100755 --- a/src/scss/components/_grid.scss +++ b/src/scss/components/_grid.scss @@ -27,9 +27,9 @@ color: $secondary_grey; } - .fa { - font-size: 10px; - padding-left: 4px; + .source { + color: $secondary_grey; + padding-left: 2px; } &:hover{ diff --git a/src/scss/views/_search.scss b/src/scss/views/_search.scss index bb100dcb..d065607f 100755 --- a/src/scss/views/_search.scss +++ b/src/scss/views/_search.scss @@ -5,11 +5,8 @@ padding: 20px 20px 0; section { - width: 33.3334%; - float: left; - .inner { - padding: 10px; + padding: 10px 10px 0 10px; } } }