diff --git a/component/layout/BlogPost/BlogPost.jsx b/component/layout/BlogPost/BlogPost.jsx index 46c5e26d..8839ed92 100644 --- a/component/layout/BlogPost/BlogPost.jsx +++ b/component/layout/BlogPost/BlogPost.jsx @@ -25,40 +25,38 @@ export default function BlogPost(props) { * @author sNkr-10 */ //posts having no votes field will have null as initial state for voteType and votes are created during createPost - const [voteType, setVoteType] = useState(0); - console.log(voteType, 'voteType'); - useEffect(() => { - const votes = props.blog.votes?.find((item) => item.userId == props.userId); - if (votes) { - setVoteType(votes.type); - } - }, [props.blog]); + const [voteType, setVoteType] = useState(); const [voteCount, setVoteCount] = useState(0); const getVoteCount = async () => { try { - const response = await PostService.getVotes( - props.blog.id, - ); - console.log(response, 'vote value'); - if (response.data != null) { - setVoteCount( - response.data.upvotes - - response.data.downvotes - ); - console.log(voteCount); - } - return response; + const response = await PostService.getVotes(props.blog.id); + if (response.data != null) { + setVoteCount(response.data.upvotes - response.data.downvotes); + } + return response; } catch (err) { - notify(err?.response?.data?.message ?? err?.message, 'error'); + notify(err?.response?.data?.message ?? err?.message, "error"); + } + }; + + const getVoteType = async () => { + try { + const response = await PostService.getVotesType(props.blog.id); + if (response.data != null) { + setVoteType(response.data.vote_kind); + } + return response; + } catch (err) { + notify(err?.response?.data?.message ?? err?.message, "error"); } }; useEffect(() => { getVoteCount(); + getVoteType(); }, []); - /** * function triggered during upvotes/downvotes * @author sNkr-10 @@ -67,18 +65,15 @@ export default function BlogPost(props) { const setVotes = async (value) => { try { if (props.userId) { - const response = await PostService.setVotes( - value, - props.blog.id, - ); + const response = await PostService.setVotes(value, props.blog.id); if (response.data != null) { getVoteCount(); - setVoteType(value); + getVoteType(); } return response; } } catch (err) { - notify(err?.response?.data?.message ?? err?.message, 'error'); + notify(err?.response?.data?.message ?? err?.message, "error"); } }; @@ -87,7 +82,7 @@ export default function BlogPost(props) { if (props.userId != props.blog.user.id) { setVotes(value); } - !props.userId && notify("Please login for further actions", 'dark'); + !props.userId && notify("Please login for further actions", "dark"); }; const [headings, setHeadings] = useState(); @@ -100,7 +95,6 @@ export default function BlogPost(props) { text: item.innerText }; }); - // console.log({ h2Tags }); setHeadings(hTags); hljs.highlightAll(); }, []); @@ -141,7 +135,12 @@ export default function BlogPost(props) {