diff --git a/PlaylistShared.Api/Services/YandexMusicService.cs b/PlaylistShared.Api/Services/YandexMusicService.cs index efc85e4..0a6333c 100644 --- a/PlaylistShared.Api/Services/YandexMusicService.cs +++ b/PlaylistShared.Api/Services/YandexMusicService.cs @@ -230,23 +230,21 @@ public class YandexMusicService else if (searchType == TrackSearchType.Album) { var album = await client.GetAlbumAsync(id); - if (album != null) + + result.Tracks = album?.Volumes.SelectMany(v => v).Select(t => new YandexTrack { - result.Tracks = album.Volumes.SelectMany(v => v).Select(t => new YandexTrack + TrackId = t.Id, + Title = t.Title, + Artists = t.Artists.Select(t => new YandexArtist() { - TrackId = t.Id, - Title = t.Title, - Artists = t.Artists.Select(t => new YandexArtist() - { - Id = t.Id, - Name = t.Name, - CoverUrl = t.Cover.GetUrl(), - Description = t.Description?.Text ?? string.Empty, - }).ToList(), - CoverUri = t.CoverUri ?? string.Empty, - DurationMs = t.DurationMs, - }).ToList(); - } + Id = t.Id, + Name = t.Name, + CoverUrl = t.Cover.GetUrl(), + Description = t.Description?.Text ?? string.Empty, + }).ToList(), + CoverUri = t.CoverUri ?? string.Empty, + DurationMs = t.DurationMs, + }).ToList(); } else if (searchType == TrackSearchType.Artist) @@ -298,6 +296,26 @@ public class YandexMusicService } } + else if (searchType == TrackSearchType.Playlist) + { + var playlist = await client.GetPlaylistAsync(id); + + result.Tracks = playlist?.Tracks.Select(p => new YandexTrack + { + TrackId = p.Track.Id, + CoverUri = p.Track.CoverUri, + Artists = p.Track.Artists.Select(a => new YandexArtist + { + Id = a.Id, + Name = a.Name, + CoverUrl = a.Cover.GetUrl(), + Description = a.Description?.Text ?? string.Empty, + }).ToList(), + Title = p.Track.Title, + DurationMs = p.Track.DurationMs, + }).ToList(); + } + return result; } } \ No newline at end of file diff --git a/PlaylistShared.Pwa/Components/SharedPlaylist/Cards/AlbumCard.razor b/PlaylistShared.Pwa/Components/SharedPlaylist/Cards/AlbumCard.razor index 4c62a67..dd053c0 100644 --- a/PlaylistShared.Pwa/Components/SharedPlaylist/Cards/AlbumCard.razor +++ b/PlaylistShared.Pwa/Components/SharedPlaylist/Cards/AlbumCard.razor @@ -1,6 +1,6 @@ @using PlaylistShared.Shared.Yandex - + @if (!string.IsNullOrEmpty(Item.CoverUrl)) { diff --git a/PlaylistShared.Pwa/Components/SharedPlaylist/Cards/PlaylistCard.razor b/PlaylistShared.Pwa/Components/SharedPlaylist/Cards/PlaylistCard.razor index b553900..bdf9580 100644 --- a/PlaylistShared.Pwa/Components/SharedPlaylist/Cards/PlaylistCard.razor +++ b/PlaylistShared.Pwa/Components/SharedPlaylist/Cards/PlaylistCard.razor @@ -1,6 +1,6 @@ @using PlaylistShared.Shared.Yandex - + @if (!string.IsNullOrEmpty(Item.CoverUrl)) {