feature/favorite-recipes (#443)

* add favorites options

* bump dependencies

* add badges to all cards

* typo

* remove console.log

* fix site-loader viewport

Co-authored-by: hay-kot <hay-kot@pm.me>
This commit is contained in:
Hayden
2021-05-29 15:54:18 -08:00
committed by GitHub
parent 57f7ea3750
commit 6f38fcf81b
38 changed files with 365 additions and 82 deletions

View File

@@ -49,7 +49,7 @@ const apiReq = {
return handleResponse(response, getSuccessText);
},
get: function(url, data, getErrorText = defaultErrorText) {
get: async function(url, data, getErrorText = defaultErrorText) {
return axios.get(url, data).catch(function(error) {
handleError(error, getErrorText);
});

View File

@@ -54,6 +54,7 @@ export const API_ROUTES = {
categoriesCategory: (category) => `${prefix}/categories/${category}`,
debugLogNum: (num) => `${prefix}/debug/log/${num}`,
groupsId: (id) => `${prefix}/groups/${id}`,
mealPlansId: (id) => `${prefix}/meal-plans/${id}`,
mealPlansIdShoppingList: (id) => `${prefix}/meal-plans/${id}/shopping-list`,
mealPlansPlanId: (plan_id) => `${prefix}/meal-plans/${plan_id}`,
mediaRecipesRecipeSlugAssetsFileName: (recipe_slug, file_name) => `${prefix}/media/recipes/${recipe_slug}/assets/${file_name}`,
@@ -70,6 +71,8 @@ export const API_ROUTES = {
themesId: (id) => `${prefix}/themes/${id}`,
usersApiTokensTokenId: (token_id) => `${prefix}/users-tokens/${token_id}`,
usersId: (id) => `${prefix}/users/${id}`,
usersIdFavorites: (id) => `${prefix}/users/${id}/favorites`,
usersIdFavoritesSlug: (id, slug) => `${prefix}/users/${id}/favorites/${slug}`,
usersIdImage: (id) => `${prefix}/users/${id}/image`,
usersIdPassword: (id) => `${prefix}/users/${id}/password`,
usersIdResetPassword: (id) => `${prefix}/users/${id}/reset-password`,

View File

@@ -1,4 +1,5 @@
import { baseURL } from "./api-utils";
import { API_ROUTES } from "./apiRoutes";
import { apiReq } from "./api-utils";
import axios from "axios";
import i18n from "@/i18n.js";
@@ -91,6 +92,27 @@ export const userAPI = {
const response = await apiReq.delete(usersURLs.userAPIDelete(id));
return response.data;
},
/** Adds a Recipe to the users favorites
* @param id
*/
async getFavorites(id) {
const response = await apiReq.get(API_ROUTES.usersIdFavorites(id));
return response.data;
},
/** Adds a Recipe to the users favorites
* @param id
*/
async addFavorite(id, slug) {
const response = await apiReq.post(API_ROUTES.usersIdFavoritesSlug(id, slug));
return response.data;
},
/** Adds a Recipe to the users favorites
* @param id
*/
async removeFavorite(id, slug) {
const response = await apiReq.delete(API_ROUTES.usersIdFavoritesSlug(id, slug));
return response.data;
},
};
const deleteErrorText = response => {