diff --git a/src/components/card/CommentItem.vue b/src/components/card/CommentItem.vue index 66241c997..70721d0d5 100644 --- a/src/components/card/CommentItem.vue +++ b/src/components/card/CommentItem.vue @@ -1,6 +1,6 @@ @@ -152,14 +153,14 @@ export default { const data = { comment: this.commentMsg, cardId: this.comment.objectId, - commentId: this.comment.id, + id: this.comment.id, } await this.$store.dispatch('updateComment', data) this.hideUpdateForm() }, deleteComment() { const data = { - commentId: this.comment.id, + id: this.comment.id, cardId: this.comment.objectId, } this.$store.dispatch('deleteComment', data) @@ -173,8 +174,14 @@ export default { .reply { border-left: 3px solid var(--color-primary-element); - padding-left: 10px; - margin-left: 44px; + padding-left: 5px; + margin-left: 2px; + + .reply--hint { + font-size: 0.9em; + color: var(--color-text-lighter); + vertical-align: top; + } .comment--content { margin: 0; diff --git a/src/services/CommentApi.js b/src/services/CommentApi.js index d41ddeaa2..4d70236f3 100644 --- a/src/services/CommentApi.js +++ b/src/services/CommentApi.js @@ -21,8 +21,7 @@ */ import axios from '@nextcloud/axios' -import { generateUrl } from '@nextcloud/router' -import xmlToTagList from '../helpers/xml' +import { generateUrl, generateOcsUrl } from '@nextcloud/router' export class CommentApi { @@ -32,53 +31,30 @@ export class CommentApi { } async loadComments({ cardId, limit, offset }) { - const api = await axios.get(generateUrl(`/apps/deck/api/v1.0/boards/0/stacks/0/cards/${cardId}/comments`), { + const api = await axios.get(generateOcsUrl(`apps/deck/api/v1.0/cards`, 2) + `${cardId}/comments`, { headers: { 'OCS-APIRequest': 'true' }, }) - return api.data - } - - async fetchComment({ cardId, commentId }) { - const response = await axios({ - method: 'PROPFIND', - url: this.url(`${cardId}/${commentId}`), - data: ` - - - - - - - - - - - - - - `, - }) - return xmlToTagList(response.data) + return api.data.ocs.data } async createComment({ cardId, comment, replyTo }) { - const api = await axios.post(generateUrl(`/apps/deck/api/v1.0/boards/0/stacks/0/cards/${cardId}/comments`), { + const api = await axios.post(generateOcsUrl(`apps/deck/api/v1.0/cards`, 2) + `${cardId}/comments`, { message: `${comment}`, parentId: replyTo ? replyTo.id : null, }) - return api.data + return api.data.ocs.data } - async updateComment({ cardId, commentId, comment }) { - const api = await axios.put(generateUrl(`/apps/deck/api/v1.0/boards/0/stacks/0/cards/${cardId}/comments/${commentId}`), { + async updateComment({ cardId, id, comment }) { + const api = await axios.put(generateOcsUrl(`apps/deck/api/v1.0/cards`, 2) + `${cardId}/comments/${id}`, { message: `${comment}`, }) - return api.data + return api.data.ocs.data } - async deleteComment({ cardId, commentId }) { - const api = await axios.delete(generateUrl(`/apps/deck/api/v1.0/boards/0/stacks/0/cards/${cardId}/comments/${commentId}`)) - return api.data + async deleteComment({ cardId, id }) { + const api = await axios.delete(generateOcsUrl(`apps/deck/api/v1.0/cards`, 2) + `${cardId}/comments/${id}`) + return api.data.ocs.data } async markCommentsAsRead(cardId) { diff --git a/src/store/comment.js b/src/store/comment.js index 536c2d383..f0635c26e 100644 --- a/src/store/comment.js +++ b/src/store/comment.js @@ -53,7 +53,7 @@ export default { if (state.comments[cardId] === undefined) { Vue.set(state.comments, cardId, { hasMore: comments.length > 0, - comments, + comments: [ ...comments ], }) } else { const newComments = comments.filter((comment) => {