diff --git a/src/components/nav/Titles/FavoriteAlbumsNav.vue b/src/components/nav/Titles/FavoriteAlbumsNav.vue
index 516e9731..044dcb98 100644
--- a/src/components/nav/Titles/FavoriteAlbumsNav.vue
+++ b/src/components/nav/Titles/FavoriteAlbumsNav.vue
@@ -1,3 +1,3 @@
- 💜 Favorite albums
+ Favorite albums ❤️
diff --git a/src/composables/fetch/favorite.ts b/src/composables/fetch/favorite.ts
index 7aec7b45..81c691aa 100644
--- a/src/composables/fetch/favorite.ts
+++ b/src/composables/fetch/favorite.ts
@@ -7,7 +7,7 @@ import { Album, Artist, Track } from "@/interfaces";
export async function addFavorite(favtype: favType, itemhash: string) {
const { data, error } = await useAxios({
- url: paths.api.favorite,
+ url: paths.api.addFavorite,
props: {
type: favtype,
hash: itemhash,
@@ -47,6 +47,21 @@ export async function removeFavorite(favtype: favType, itemhash: string) {
return true;
}
+export async function getAllFavs(
+ track_limit = 6,
+ album_limit = 6,
+ artist_limit = 6
+) {
+ const { data } = await useAxios({
+ url:
+ paths.api.favorites +
+ `?track_limit=${track_limit}&album_limit=${album_limit}&artist_limit=${artist_limit}`,
+ get: true,
+ });
+
+ return data;
+}
+
export async function getFavAlbums(limit = 6) {
const { data } = await useAxios({
url: paths.api.favAlbums + `?limit=${limit}`,
diff --git a/src/config.ts b/src/config.ts
index 67a8174e..08380b4a 100644
--- a/src/config.ts
+++ b/src/config.ts
@@ -20,11 +20,15 @@ const imageRoutes = {
const paths = {
api: {
album: baseApiUrl + "/album",
+ favorite: baseApiUrl + "/favorite",
+ favorites: baseApiUrl + "/favorites",
favAlbums: baseApiUrl + "/albums/favorite",
favTracks: baseApiUrl + "/tracks/favorite",
favArtists: baseApiUrl + "/artists/favorite",
artist: baseApiUrl + "/artist",
- favorite: baseApiUrl + "/favorite",
+ get addFavorite() {
+ return this.favorite + "/add";
+ },
get removeFavorite() {
return this.favorite + "/remove";
},
diff --git a/src/views/Favorites.vue b/src/views/Favorites.vue
index 8b7c99fc..52a22834 100644
--- a/src/views/Favorites.vue
+++ b/src/views/Favorites.vue
@@ -30,11 +30,7 @@ import ArtistAlbums from "@/components/AlbumView/ArtistAlbums.vue";
import TopTracks from "@/components/ArtistView/TopTracks.vue";
import FeaturedArtists from "@/components/PlaylistView/ArtistsList.vue";
import { discographyAlbumTypes } from "@/composables/enums";
-import {
- getFavAlbums,
- getFavArtists,
- getFavTracks,
-} from "@/composables/fetch/favorite";
+import { getAllFavs, getFavTracks } from "@/composables/fetch/favorite";
import { Album, Artist, Track } from "@/interfaces";
import useQueueStore from "@/stores/queue";
import { maxAbumCards } from "@/stores/content-width";
@@ -46,11 +42,12 @@ const favTracks: Ref