좋아요 작업중

This commit is contained in:
kimdaae328 2025-02-04 16:05:48 +09:00
parent 57c81b36a5
commit 552f307c45
2 changed files with 47 additions and 22 deletions

View File

@ -62,27 +62,28 @@ watch(() => props.dislikeCount, (newVal) => {
}); });
const handleLike = () => { const handleLike = () => {
likeClicked.value = !likeClicked.value; // console.log('adadasd')
likeCount.value += likeClicked.value ? 1 : -1; // likeClicked.value = !likeClicked.value;
// likeCount.value += likeClicked.value ? 1 : -1;
emit('updateReaction', { type: 'like', boardId: props.boardId, commentId: props.commentId }); emit('updateReaction', { type: 'like', boardId: props.boardId, commentId: props.commentId });
if(likeClicked.value === true){ // if(likeClicked.value === true){
if(dislikeClicked.value === true) { // if(dislikeClicked.value === true) {
dislikeClicked.value = false; // dislikeClicked.value = false;
dislikeCount.value += -1 // dislikeCount.value += -1
} // }
} // }
}; };
const handleDislike = () => { const handleDislike = () => {
dislikeClicked.value = !dislikeClicked.value; // dislikeClicked.value = !dislikeClicked.value;
dislikeCount.value += dislikeClicked.value ? 1 : -1; // dislikeCount.value += dislikeClicked.value ? 1 : -1;
emit('updateReaction', { type: 'dislike', boardId: props.boardId, commentId: props.commentId }); emit('updateReaction', { type: 'dislike', boardId: props.boardId, commentId: props.commentId });
if(dislikeClicked.value === true){ // if(dislikeClicked.value === true){
if(likeClicked.value === true) { // if(likeClicked.value === true) {
likeClicked.value = false; // likeClicked.value = false;
likeCount.value += -1 // likeCount.value += -1
} // }
} // }
}; };
</script> </script>

View File

@ -100,6 +100,8 @@ const date = ref('');
const views = ref(0); const views = ref(0);
const likes = ref(0); const likes = ref(0);
const dislikes = ref(0); const dislikes = ref(0);
const likeClicked = ref(false);
const dislikeClicked = ref(false);
const comments = ref(0); const comments = ref(0);
const attachment = ref(false); const attachment = ref(false);
@ -120,10 +122,9 @@ const fetchBoardDetails = async () => {
const data = response.data.data; const data = response.data.data;
// API // API
const boardDetail = data.boardDetail || {}; // const boardDetail = data.boardDetail || {};
// console.log('boardDetail:', boardDetail);
console.log('API Response:', response.data); // console.log('API Response:', response.data);
profileName.value = data.author || '익명 사용자'; profileName.value = data.author || '익명 사용자';
boardTitle.value = data.title || '제목 없음'; boardTitle.value = data.title || '제목 없음';
@ -134,7 +135,6 @@ const fetchBoardDetails = async () => {
dislikes.value = data.dislikeCount || 0; dislikes.value = data.dislikeCount || 0;
attachment.value = data.hasAttachment || null; attachment.value = data.hasAttachment || null;
comments.value = data.commentCount || 0; comments.value = data.commentCount || 0;
console.log(date.value)
} catch (error) { } catch (error) {
alert('게시물 데이터를 불러오는 중 오류가 발생했습니다.'); alert('게시물 데이터를 불러오는 중 오류가 발생했습니다.');
@ -144,9 +144,33 @@ const fetchBoardDetails = async () => {
// , // ,
const handleUpdateReaction = async ({ type, boardId, commentId }) => { const handleUpdateReaction = async ({ type, boardId, commentId }) => {
try { try {
const cmtId = commentId !== null ? commentId : 0; //
const response = await axios.post(`/board/${boardId}/${commentId}/reaction`, { type });
const response = await axios.post(`/board/${boardId}/${cmtId}/reaction`, { type }); // console.log('API :', response.data);
// console.log(commentId)
if (response.data.code === 200) {
if (type === 'like') {
likeClicked.value = !likeClicked.value;
likes.value += likeClicked.value ? 1 : -1;
} else if (type === 'dislike') {
dislikeClicked.value = !dislikeClicked.value;
dislikes.value += dislikeClicked.value ? 1 : -1;
}
} else {
alert('반응 업데이트 실패');
}
// likes.value = response.data.likeCount;
// dislikes.value = response.data.dislikeCount;
// if (type === 'like') {
// likeClicked.value = !likeClicked.value;
// console.log('aaaa' ,response.data)
// } else if (type === 'dislike') {
// console.log('')
// }
} catch (error) { } catch (error) {
alert('반응을 업데이트하는 중 오류 발생'); alert('반응을 업데이트하는 중 오류 발생');
} }