diff --git a/lib/music_library_web/live/stats_live/index.ex b/lib/music_library_web/live/stats_live/index.ex index 90a72cb2..d866a9e3 100644 --- a/lib/music_library_web/live/stats_live/index.ex +++ b/lib/music_library_web/live/stats_live/index.ex @@ -20,10 +20,7 @@ defmodule MusicLibraryWeb.StatsLive.Index do recent_tracks = LastFm.Feed.all() - release_ids = - recent_tracks - |> Enum.map(fn t -> t.album.musicbrainz_id end) - |> Enum.uniq() + release_ids = release_ids(recent_tracks) collected_release_ids = Collection.collected_release_ids(release_ids) wishlisted_release_ids = Wishlist.wishlisted_release_ids(release_ids) @@ -83,10 +80,7 @@ defmodule MusicLibraryWeb.StatsLive.Index do end def handle_info(%{tracks: recent_tracks}, socket) do - release_ids = - recent_tracks - |> Enum.map(fn t -> t.album.musicbrainz_id end) - |> Enum.uniq() + release_ids = release_ids(recent_tracks) collected_release_ids = Collection.collected_release_ids(release_ids) wishlisted_release_ids = Wishlist.wishlisted_release_ids(release_ids) @@ -100,6 +94,13 @@ defmodule MusicLibraryWeb.StatsLive.Index do |> stream(:recent_tracks, recent_tracks, reset: true)} end + defp release_ids(recent_tracks) do + recent_tracks + |> Enum.map(fn t -> t.album.musicbrainz_id end) + |> Enum.uniq() + |> Enum.reject(fn musicbrainz_id -> musicbrainz_id == "" end) + end + # The Tailwind build step requires all needed classes to be explicitly referenced # in the source code, and not dynamically generated. This implies that one cannot # (for example) interpolate a number in a class name. diff --git a/lib/music_library_web/live/stats_live/index.html.heex b/lib/music_library_web/live/stats_live/index.html.heex index dbde706e..7444edc8 100644 --- a/lib/music_library_web/live/stats_live/index.html.heex +++ b/lib/music_library_web/live/stats_live/index.html.heex @@ -114,6 +114,19 @@ + + <%= gettext("No MusicBrainz ID") %> +