From b9c6db0d9ba00c77ab0ea5e11dbf2370ec0311d5 Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Wed, 25 Mar 2020 16:15:48 +0200
Subject: [PATCH] Comment component in progress

---
 .../components/comments/CommentComponent.js   | 43 ++++++++++++++++---
 .../src/CommentsService/CommentsService.js    |  2 +-
 .../src/NoteService/NoteComponent.js          | 10 ++++-
 3 files changed, 47 insertions(+), 8 deletions(-)

diff --git a/wax-prosemirror-components/src/components/comments/CommentComponent.js b/wax-prosemirror-components/src/components/comments/CommentComponent.js
index 81b28723b..040586cee 100644
--- a/wax-prosemirror-components/src/components/comments/CommentComponent.js
+++ b/wax-prosemirror-components/src/components/comments/CommentComponent.js
@@ -1,10 +1,43 @@
-import React from "react";
+import React, {
+  useContext,
+  useState,
+  useEffect,
+  useMemo,
+  Fragment
+} from "react";
 import styled from "styled-components";
+import { WaxContext } from "wax-prosemirror-core/src/ioc-react";
+import { DocumentHelpers } from "wax-prosemirror-utilities";
 
-const CommentComponentStyled = styled.div``;
+const CommentComponentStyled = styled.div`
+  width: 100px;
+  height: 100px;
+  background: black;
+  display: flex;
+  flex-direction: row;
+`;
 
-const CommentComponent = () => {
-  return <CommentComponentStyled />;
+export default () => {
+  const { view: { main } } = useContext(WaxContext);
+  const [comments, setComments] = useState([]);
+  useEffect(
+    () => {
+      setComments(updateComments(main));
+    },
+
+    [JSON.stringify(updateComments(main))]
+  );
+
+  const CommentComponent = useMemo(
+    () => <CommentComponentStyled view={main} />,
+    [comments]
+  );
+  return <Fragment>{CommentComponent}</Fragment>;
 };
 
-export default CommentComponent;
+const updateComments = view => {
+  if (view) {
+    // TODO find comments
+  }
+  return [];
+};
diff --git a/wax-prosemirror-services/src/CommentsService/CommentsService.js b/wax-prosemirror-services/src/CommentsService/CommentsService.js
index 0447707b8..c5190c09b 100644
--- a/wax-prosemirror-services/src/CommentsService/CommentsService.js
+++ b/wax-prosemirror-services/src/CommentsService/CommentsService.js
@@ -18,7 +18,7 @@ export default class CommentsService extends Service {
       selection: true
     });
 
-    // layout.addComponent("commentsArea", CommentComponent);
+    layout.addComponent("commentsArea", CommentComponent);
   }
 
   register() {
diff --git a/wax-prosemirror-services/src/NoteService/NoteComponent.js b/wax-prosemirror-services/src/NoteService/NoteComponent.js
index 018446cf5..22eceb31f 100644
--- a/wax-prosemirror-services/src/NoteService/NoteComponent.js
+++ b/wax-prosemirror-services/src/NoteService/NoteComponent.js
@@ -1,4 +1,10 @@
-import React, { useContext, useState, useEffect, useMemo } from "react";
+import React, {
+  useContext,
+  useState,
+  useEffect,
+  useMemo,
+  Fragment
+} from "react";
 import { WaxContext } from "wax-prosemirror-core/src/ioc-react";
 import { DocumentHelpers } from "wax-prosemirror-utilities";
 import { isEqual } from "lodash";
@@ -19,7 +25,7 @@ export default () => {
     () => <NoteEditor notes={notes} view={main} />,
     [notes]
   );
-  return <div>{noteComponent}</div>;
+  return <Fragment>{noteComponent}</Fragment>;
 };
 const updateNotes = view => {
   if (view) {
-- 
GitLab