From 3572f8515668c5605b18fd139fa0288fee2ccdb6 Mon Sep 17 00:00:00 2001 From: SandraBergstrom Date: Thu, 29 Jun 2023 11:09:56 +0000 Subject: [PATCH] #25 Add unfollow const and helper --- src/contexts/TravelerDataContext.js | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/contexts/TravelerDataContext.js b/src/contexts/TravelerDataContext.js index db03f56..4961cca 100644 --- a/src/contexts/TravelerDataContext.js +++ b/src/contexts/TravelerDataContext.js @@ -1,7 +1,7 @@ import { createContext, useContext, useEffect, useState } from "react"; import { axiosReq, axiosRes } from "../api/axiosDefaults"; import { useCurrentUser } from "./CurrentUserContext"; -import { followHelper } from "../utils/utils"; +import { followHelper, unfollowHelper } from "../utils/utils"; export const TravelerDataContext = createContext(); export const SetTravelerDataContext = createContext(); @@ -43,6 +43,28 @@ export const TravelerDataProvider = ({ children }) => { } }; + const handleUnFollow = async (clickedTraveler) => { + try { + await axiosRes.delete(`/followers/${clickedTraveler.following_id}`); + setTravelerData((prevState) => ({ + ...prevState, + pageTraveler: { + results: prevState.pageTraveler.results.map((traveler) => + unfollowHelper(traveler, clickedTraveler) + ), + }, + popularTravelers: { + ...prevState.popularTravelers, + results: prevState.popularTravelers.results.map((traveler) => + unfollowHelper(traveler, clickedTraveler) + ), + }, + })); + } catch (err) { + console.log(err); + } + }; + useEffect(() => { const handleMount = async () => { try {