diff --git a/components/BeerById/BeerInfoHeader.tsx b/components/BeerById/BeerInfoHeader.tsx index 7d8b7e9..eac4c49 100644 --- a/components/BeerById/BeerInfoHeader.tsx +++ b/components/BeerById/BeerInfoHeader.tsx @@ -2,50 +2,29 @@ import Link from 'next/link'; import formatDistanceStrict from 'date-fns/formatDistanceStrict'; import format from 'date-fns/format'; import { FC, useContext, useEffect, useState } from 'react'; -import { FaRegThumbsUp, FaThumbsUp } from 'react-icons/fa'; import BeerPostQueryResult from '@/services/BeerPost/schema/BeerPostQueryResult'; import UserContext from '@/contexts/userContext'; -import sendCheckIfUserLikesBeerPostRequest from '@/requests/sendCheckIfUserLikesBeerPostRequest'; -import sendLikeRequest from '../../requests/sendLikeRequest'; +import BeerPostLikeButton from './BeerPostLikeButton'; -const BeerInfoHeader: FC<{ beerPost: BeerPostQueryResult }> = ({ beerPost }) => { +const BeerInfoHeader: FC<{ beerPost: BeerPostQueryResult; initialLikeCount: number }> = ({ + beerPost, + initialLikeCount, +}) => { const createdAtDate = new Date(beerPost.createdAt); const [timeDistance, setTimeDistance] = useState(''); const { user } = useContext(UserContext); - const [loading, setLoading] = useState(true); - const [isLiked, setIsLiked] = useState(false); + const [likeCount, setLikeCount] = useState(initialLikeCount); useEffect(() => { - if (!user) { - setLoading(false); - return; - } - sendCheckIfUserLikesBeerPostRequest(beerPost.id) - .then((currentLikeStatus) => { - setIsLiked(currentLikeStatus); - setLoading(false); - }) - .catch((e) => { - console.error(e); - setLoading(false); - }); - }, [user, beerPost.id]); + setLikeCount(initialLikeCount); + }, [initialLikeCount]); useEffect(() => { setTimeDistance(formatDistanceStrict(new Date(beerPost.createdAt), new Date())); }, [beerPost.createdAt]); - const handleLike = async () => { - try { - await sendLikeRequest(beerPost); - setIsLiked(!isLiked); - } catch (e) { - console.error(e); - } - }; - return (
{beerPost.description}