Skip to content

Commit 6e36daa

Browse files
author
иван Горбунов
committed
пофиксил обновление значения лайков и дизлайков
1 parent 2ea2e24 commit 6e36daa

1 file changed

Lines changed: 44 additions & 34 deletions

File tree

src/components/TheReviewCard.vue

Lines changed: 44 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -56,20 +56,22 @@
5656
</v-col>
5757
</template>
5858
<template #actions>
59-
<v-btn
60-
@click="changeReactionLike() "
61-
density="compact"
62-
size="large"
59+
<v-btn
60+
@click="changeReactionLike()"
61+
density="compact"
62+
size="large"
6363
:color="isLiked ? 'primary' : 'default'"
64-
:prepend-icon="isLiked ? 'mdi-thumb-up' : 'mdi-thumb-up-outline'">
64+
:prepend-icon="isLiked ? 'mdi-thumb-up' : 'mdi-thumb-up-outline'"
65+
>
6566
{{ like_count }}
6667
</v-btn>
6768
<v-btn
68-
@click="changeReactionDislike()"
69-
density="compact"
69+
@click="changeReactionDislike()"
70+
density="compact"
7071
size="large"
7172
:color="isDisliked ? 'primary' : 'default'"
72-
:prepend-icon="isDisliked ? 'mdi-thumb-down' : 'mdi-thumb-down-outline'">
73+
:prepend-icon="isDisliked ? 'mdi-thumb-down' : 'mdi-thumb-down-outline'"
74+
>
7375
{{ dislike_count }}
7476
</v-btn>
7577
</template>
@@ -90,46 +92,54 @@ const propsLocal = defineProps({
9092
photo: { type: String, required: true },
9193
comment: { type: Object, required: true },
9294
});
93-
const isLiked = ref(false)
94-
const like_count = ref(0)
95+
const isLiked = ref(false);
96+
const like_count = ref(propsLocal.comment.raw.like_count);
9597
96-
const isDisliked = ref(false)
97-
const dislike_count = ref(0)
98+
const isDisliked = ref(false);
99+
const dislike_count = ref(0);
98100
99101
const emit = defineEmits(['comment-deleted']);
100102
101103
const markGeneral = ref(0);
102104
const redactedText = ref<string[]>([]);
103105
104106
async function changeReactionLike() {
105-
try{
107+
try {
106108
const response = await apiClient.PUT('/rating/comment/{uuid}/{reaction}', {
107-
params: {
108-
path: {
109-
uuid: propsLocal.comment.raw.uuid,
110-
reaction: "like"
111-
}
112-
},
113-
})
114-
115-
like_count.value = response.data.like_count+ 1
116-
isLiked.value = !isLiked.value
117-
118-
}catch(error){
119-
console.error("Ошибка лайка:", error)
109+
params: {
110+
path: {
111+
uuid: propsLocal.comment.raw.uuid,
112+
reaction: 'like',
113+
},
114+
},
115+
});
116+
if (isLiked.value == false) {
117+
like_count.value = response.data.like_count;
118+
isLiked.value = !isLiked.value;
119+
}else{
120+
like_count.value = response.data.like_count;
121+
isLiked.value = !isLiked.value;
122+
}
123+
} catch (error) {
124+
console.error('Ошибка лайка:', error);
120125
}
121126
}
122127
123128
async function changeReactionDislike() {
124-
try{
129+
try {
125130
const response = await apiClient.PUT('/rating/comment/{uuid}/{reaction}', {
126-
params: { path: { uuid: propsLocal.comment.raw.uuid,
127-
reaction: "dislike"} },
128-
})
129-
dislike_count.value = response.data.dislike_count+ 1
130-
isDisliked.value = !isDisliked.value
131-
}catch(error){
132-
console.error("Ошибка дизлайка:", error)
131+
params: { path: { uuid: propsLocal.comment.raw.uuid, reaction: 'dislike' } },
132+
});
133+
if (isDisliked.value == false) {
134+
dislike_count.value = response.data.dislike_count;
135+
isDisliked.value = !isDisliked.value;
136+
}
137+
else{
138+
dislike_count.value = response.data.dislike_count;
139+
isDisliked.value = !isDisliked.value;
140+
}
141+
} catch (error) {
142+
console.error('Ошибка дизлайка:', error);
133143
}
134144
}
135145

0 commit comments

Comments
 (0)