Favorite playlists, item detail changes

You can now view your favorite playlists in the Favorites tab

You can now see an updated layout of the item detail modal, including big clunky buttons for the queuing options and for viewing the album
This commit is contained in:
Violet Caulfield
2025-02-05 17:59:14 -06:00
parent 172d4af286
commit 31f5a552db
12 changed files with 207 additions and 95 deletions
+7 -8
View File
@@ -1,21 +1,20 @@
import { QueryKeys } from "../../enums/query-keys";
import { useQuery } from "@tanstack/react-query";
import { fetchFavoriteAlbums, fetchFavoriteArtists, fetchFavoriteTracks, fetchUserData } from "./functions/favorites";
import { fetchFavoriteAlbums, fetchFavoriteArtists, fetchFavoritePlaylists, fetchFavoriteTracks, fetchUserData } from "./functions/favorites";
export const useFavoriteArtists = () => useQuery({
queryKey: [QueryKeys.FavoriteArtists],
queryFn: () => {
return fetchFavoriteArtists()
}
queryFn: () => fetchFavoriteArtists()
});
export const useFavoriteAlbums = () => useQuery({
queryKey: [QueryKeys.FavoriteAlbums],
queryFn: () => {
queryFn: () => fetchFavoriteAlbums()
});
return fetchFavoriteAlbums()
}
export const useFavoritePlaylists = () => useQuery({
queryKey: [QueryKeys.FavoritePlaylists],
queryFn: () => fetchFavoritePlaylists()
});
export const useFavoriteTracks = () => useQuery({
+32
View File
@@ -70,6 +70,38 @@ export function fetchFavoriteAlbums(): Promise<BaseItemDto[]> {
})
}
export function fetchFavoritePlaylists(): Promise<BaseItemDto[]> {
console.debug(`Fetching user's favorite playlists`);
return new Promise(async (resolver, reject) => {
getItemsApi(Client.api!)
.getItems({
parentId: Client.library!.playlistLibraryId,
includeItemTypes: [
BaseItemKind.Playlist
],
isFavorite: true,
sortBy: [
ItemSortBy.SortName
],
sortOrder: [
SortOrder.Ascending
]
})
.then((response) => {
if (response.data.Items)
resolver(response.data.Items)
else
resolver([])
})
.catch((error) => {
console.error(error);
reject(error);
});
});
}
export function fetchFavoriteTracks(): Promise<BaseItemDto[]> {
console.debug(`Fetching user's favorite tracks`);