import { useState } from 'react'; import { useAuth } from '../context/AuthContext'; export function useCategoryFollow() { const [isCategoryFollowing, setIsCategoryFollowing] = useState(false); const { isLoggedIn } = useAuth(); const checkCategoryFollowStatus = async (categoryName: string) => { try { const response = await fetch(`/api/user/category/following/${categoryName}`); const data = await response.json(); setIsCategoryFollowing(data.following); } catch (error) { console.error("Error checking follow status:", error); } }; const followCategory = async (categoryName: string) => { if (!isLoggedIn) { return; } try { const response = await fetch(`/api/user/category/follow/${categoryName}`); const data = await response.json(); if (data.success) { console.log(`Now following category ${categoryName}`); setIsCategoryFollowing(true); } else { console.error(`Failed to follow category ${categoryName}`); } } catch (error) { console.error("Error following category:", error); } }; const unfollowCategory = async (categoryName: string) => { if (!isLoggedIn) { return; } try { const response = await fetch(`/api/user/category/unfollow/${categoryName}`); const data = await response.json(); if (data.success) { console.log(`Unfollowed category ${categoryName}`); setIsCategoryFollowing(false); } else { console.error(`Failed to unfollow category ${categoryName}`); } } catch (error) { console.error("Error unfollowing category:", error); } }; return { isCategoryFollowing, setIsCategoryFollowing, checkCategoryFollowStatus, followCategory, unfollowCategory }; }