diff --git a/apps/comments-ui/src/components/Comment.js b/apps/comments-ui/src/components/Comment.js index acfc4ad22d..c157d550b3 100644 --- a/apps/comments-ui/src/components/Comment.js +++ b/apps/comments-ui/src/components/Comment.js @@ -2,8 +2,8 @@ import {formatRelativeTime} from '../utils/helpers'; import {ReactComponent as MoreIcon} from '../images/icons/more.svg'; import React from 'react'; import AppContext from '../AppContext'; -import AuthorContextMenu from './modals/AuthorContextMenu'; import {getInitials} from '../utils/helpers'; +import CommentContextMenu from './modals/CommentContextMenu'; class Comment extends React.Component { static contextType = AppContext; @@ -52,7 +52,7 @@ class Comment extends React.Component {

- {this.state.isContextMenuOpen ? : null} + {this.state.isContextMenuOpen ? : null} ); diff --git a/apps/comments-ui/src/components/modals/AdminContextMenu.js b/apps/comments-ui/src/components/modals/AdminContextMenu.js new file mode 100644 index 0000000000..27019c407a --- /dev/null +++ b/apps/comments-ui/src/components/modals/AdminContextMenu.js @@ -0,0 +1,29 @@ +import React from 'react'; +import AppContext from '../../AppContext'; + +class AdminContextMenu extends React.Component { + static contextType = AppContext; + + constructor(props) { + super(props); + this.state = {}; + + this.deleteComment = this.deleteComment.bind(this); + } + + deleteComment(event) { + // todo + } + + render() { + return ( +
+ +
+ ); + } +} + +export default AdminContextMenu; diff --git a/apps/comments-ui/src/components/modals/AuthorContextMenu.js b/apps/comments-ui/src/components/modals/AuthorContextMenu.js index 728fde1c53..b81526a930 100644 --- a/apps/comments-ui/src/components/modals/AuthorContextMenu.js +++ b/apps/comments-ui/src/components/modals/AuthorContextMenu.js @@ -1,7 +1,7 @@ import React from 'react'; import AppContext from '../../AppContext'; -class Form extends React.Component { +class AuthorContextMenu extends React.Component { static contextType = AppContext; constructor(props) { @@ -29,4 +29,4 @@ class Form extends React.Component { } } -export default Form; +export default AuthorContextMenu; diff --git a/apps/comments-ui/src/components/modals/CommentContextMenu.js b/apps/comments-ui/src/components/modals/CommentContextMenu.js new file mode 100644 index 0000000000..bd6af3e326 --- /dev/null +++ b/apps/comments-ui/src/components/modals/CommentContextMenu.js @@ -0,0 +1,34 @@ +import React from 'react'; +import AppContext from '../../AppContext'; +import AdminContextMenu from './AdminContextMenu'; +import AuthorContextMenu from './AuthorContextMenu'; +import NotAuthorContextMenu from './NotAuthorContextMenu'; + +class CommentContextMenu extends React.Component { + static contextType = AppContext; + + constructor(props) { + super(props); + this.state = {}; + } + + get isAuthor() { + return this.props.comment.member.uuid === this.context?.member?.uuid; + } + + get isAdmin() { + return false; + } + + render() { + const comment = this.props.comment; + + return ( +
+ {this.isAuthor ? : (this.isAdmin ? : )} +
+ ); + } +} + +export default CommentContextMenu; diff --git a/apps/comments-ui/src/components/modals/NotAuthorContextMenu.js b/apps/comments-ui/src/components/modals/NotAuthorContextMenu.js new file mode 100644 index 0000000000..a27daaa7e1 --- /dev/null +++ b/apps/comments-ui/src/components/modals/NotAuthorContextMenu.js @@ -0,0 +1,29 @@ +import React from 'react'; +import AppContext from '../../AppContext'; + +class NotAuthorContextMenu extends React.Component { + static contextType = AppContext; + + constructor(props) { + super(props); + this.state = {}; + + this.reportComment = this.reportComment.bind(this); + } + + reportComment(event) { + // todo + } + + render() { + return ( +
+ +
+ ); + } +} + +export default NotAuthorContextMenu;