diff --git a/public/content/projects/1_miss-dior-blooming-bouquet/1_client-brief/38969543_extrait-de-louis-sullivan-form-follow-function.-de-la-tour-de-bureaux-artistiquement-consideree.pdf.txt b/public/content/projects/1_miss-dior-blooming-bouquet/1_client-brief/38969543_extrait-de-louis-sullivan-form-follow-function.-de-la-tour-de-bureaux-artistiquement-consideree.pdf.txt index d962415..fe45d56 100644 --- a/public/content/projects/1_miss-dior-blooming-bouquet/1_client-brief/38969543_extrait-de-louis-sullivan-form-follow-function.-de-la-tour-de-bureaux-artistiquement-consideree.pdf.txt +++ b/public/content/projects/1_miss-dior-blooming-bouquet/1_client-brief/38969543_extrait-de-louis-sullivan-form-follow-function.-de-la-tour-de-bureaux-artistiquement-consideree.pdf.txt @@ -19,36 +19,53 @@ Comments: file: uuid: file://s0lNtRA0Z7ybTCWG pageIndex: 1 - replies: [ ] - text: Premier commentaire + replies: + - + page: + uri: projects/miss-dior-blooming-bouquet + title: Miss Dior Blooming Bouquet + file: + uuid: file://s0lNtRA0Z7ybTCWG + pageIndex: 1 + replies: [ ] + text: Test de réponse + author: + name: Adrien Payet + email: adrien.payet@outlook.com + uuid: user://WWjXgPWk + role: admin + date: 2024-10-30T12:26:44+01:00 + id: m2vskcko + type: comment + isRead: false + parentId: m2vsk6jn + - + page: + uri: projects/miss-dior-blooming-bouquet + title: Miss Dior Blooming Bouquet + file: + uuid: file://s0lNtRA0Z7ybTCWG + pageIndex: 1 + replies: [ ] + text: deuxième réponse + author: + name: Adrien Payet + email: adrien.payet@outlook.com + uuid: user://WWjXgPWk + role: admin + date: 2024-10-30T12:27:42+01:00 + id: m2vslkxg + type: comment + isRead: false + parentId: m2vsk6jn + text: Un premier commentaire author: - name: Utilisateur Dior - email: utilisateur@dior.com - uuid: user://HfuumN8s - role: client - date: 2024-10-30T12:08:36+01:00 - id: m2vrx0ls - type: comment - isRead: false - position: - x: null - y: null -- - page: - uri: projects/miss-dior-blooming-bouquet - title: Miss Dior Blooming Bouquet - file: - uuid: file://s0lNtRA0Z7ybTCWG - pageIndex: 1 - replies: [ ] - text: Deuxième commentaire - author: - name: Utilisateur Dior - email: utilisateur@dior.com - uuid: user://HfuumN8s - role: client - date: 2024-10-30T12:08:41+01:00 - id: m2vrx4zz + name: Adrien Payet + email: adrien.payet@outlook.com + uuid: user://WWjXgPWk + role: admin + date: 2024-10-30T12:26:37+01:00 + id: m2vsk6jn type: comment isRead: false position: diff --git a/public/site/plugins/comments/routes/reply.php b/public/site/plugins/comments/routes/reply.php index dd527b9..44424a2 100644 --- a/public/site/plugins/comments/routes/reply.php +++ b/public/site/plugins/comments/routes/reply.php @@ -22,7 +22,7 @@ return [ 'file' => $file, 'filePageIndex' => $data->filePageIndex, 'text' => $data->text, - 'user' => $user, + 'author' => $user, 'date' => (string) $data->date, 'id' => $data->id, 'type' => 'comment' @@ -30,13 +30,17 @@ return [ $newReply = new Reply($data); - $comments[$newReply->parentId()]['replies'][$newReply->id()] = $newReply->toArray(); + foreach ($comments as &$comment) { + if ($comment['id'] === $newReply->parentId()) { + $comment['replies'][] = $newReply->toArray(); + } + } $newFile = $file->update([ 'comments' => $comments ]); - $user->sendNotification('comments', $newReply->toArray()); + $user->sendNotification($newReply); return getFileData($newFile); } diff --git a/src/components/comments/Comments.vue b/src/components/comments/Comments.vue index ab355a9..9bebeb2 100644 --- a/src/components/comments/Comments.vue +++ b/src/components/comments/Comments.vue @@ -24,16 +24,11 @@ Retour à la liste -
+
@@ -114,6 +109,13 @@ const emits = defineEmits(["update:file"]); const sortedComments = computed(() => { return comments.reverse(); }); +const sortedReplies = computed(() => { + const sortedReplies = + openedComment.value && openedComment.value.replies + ? openedComment.value.replies.slice().reverse() + : []; + return sortedReplies; +}); // Functions function handleSubmit(event) { @@ -140,7 +142,9 @@ async function replyComment(newComment) { const newFile = await api.replyComment(newComment); newCommentText.value = ""; isAddOpen.value = false; - openedComment.value = newFile.comments[openedComment.value.id]; + openedComment.value = newFile.comments.find( + (item) => item.id === openedComment.value.id + ); emits("update:file", newFile); }