Explorar el Código

[web] Disallow empty links. Minor fixes.

Innokentiy Enikeev hace 4 años
padre
commit
aaa8681f42
Se han modificado 3 ficheros con 7 adiciones y 6 borrados
  1. 2 2
      web/src/Album.js
  2. 3 2
      web/src/AlbumList.js
  3. 2 2
      web/src/Queue.js

+ 2 - 2
web/src/Album.js

@@ -16,14 +16,14 @@ export default function Album({album, showArtist, showType, dispatch}) {
 
   return (
     <div>
-      {showArtist && (<h3><Link routeName="artist" routeParams={{artist}}>{album.artist}</Link></h3>)}
+      {showArtist && artist && (<h3><Link routeName="artist" routeParams={{artist}}>{album.artist}</Link></h3>)}
       {showType && (<h4>{album.type}</h4>)}
       <div className="Album">
         <img src={album.cover || logo} alt={album.album} />
         <span className="Album-year">{album.year}</span>
         <span className="Album-country">{album.country}</span>
         <span className="Album-tracks">{album.track_count}&nbsp;@&nbsp;{formatDuration(album.total_duration)}</span>
-        <span className="Album-title"><Link routeName='album' routeParams={{artist, album: slugify(album.album)}}>{album.album}</Link></span>
+      {album.album && album.artist && <span className="Album-title"><Link routeName='album' routeParams={{artist, album: slugify(album.album)}}>{album.album}</Link></span>}
         <span className="Album-publisher">{album.publisher}</span>
         <span className="Album-genre">{album.genre}</span>
         <div className="Album-actions">

+ 3 - 2
web/src/AlbumList.js

@@ -24,7 +24,8 @@ export function fetchAlbums(filters, page, dispatch) {
   const offset = page * limit;
   const params = {filter, offset, limit:(limit+1)};
   for (const [type, value] of Object.entries(categories)) {
-    params[type] = value;
+    if (value)
+      params[type] = value;
   }
   if (latest) params['latest'] = 1;
   const {url, options} = getAlbums(params);
@@ -32,7 +33,7 @@ export function fetchAlbums(filters, page, dispatch) {
   request(url, options)
     .then(data => {
       const more = data.length > limit;
-      dispatch({type: 'LOAD_ALBUMS', payload:{items: data, more}});
+      dispatch({type: 'LOAD_ALBUMS', payload:{items: data.slice(0, limit), more}});
     })
     .catch((e) => {
       console.log(e);

+ 2 - 2
web/src/Queue.js

@@ -11,9 +11,9 @@ export default function Queue({queue, dispatch}) {
             <tr key={i} className={ i === queue.pos ? "Queue-active" : "" }>
               <td>{i+1}</td>
               <td>{track.title}</td>
-              <td><Link routeName="artist" routeParams={{artist: slugify(track.album_artist || track.artist)}}>{track.artist}</Link></td>
+              <td>{(track.album_artist || track.artist) && <Link routeName="artist" routeParams={{artist: slugify(track.album_artist || track.artist)}}>{track.artist}</Link>}</td>
               <td>{track.year}</td>
-              <td><Link routeName="album" routeParams={{artist: slugify(track.album_artist || track.artist), album: slugify(track.album)}}>{track.album}</Link></td>
+              <td>{track.album && <Link routeName="album" routeParams={{artist: slugify(track.album_artist || track.artist), album: slugify(track.album)}}>{track.album}</Link>}</td>
               <td>{track.no}</td>
               <td>{track.bit_rate} kbps</td>
               <td>{formatDuration(track.duration)}</td>