diff --git a/client/src/components/comments/Comments/Add.jsx b/client/src/components/comments/Comments/Add.jsx
index 3608b8bc..24cdf11d 100755
--- a/client/src/components/comments/Comments/Add.jsx
+++ b/client/src/components/comments/Comments/Add.jsx
@@ -6,15 +6,15 @@
import React, { useCallback, useState, useRef } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { useTranslation } from 'react-i18next';
+import { Mention, MentionsInput } from 'react-mentions';
import { Button, Form } from 'semantic-ui-react';
-import { MentionsInput, Mention } from 'react-mentions';
import { useClickAwayListener, useDidUpdate, useToggle } from '../../../lib/hooks';
import selectors from '../../../selectors';
import entryActions from '../../../entry-actions';
import { useEscapeInterceptor, useForm, useNestedRef } from '../../../hooks';
import { isModifierKeyPressed } from '../../../utils/event-helpers';
-import UserAvatar, { Sizes } from '../../users/UserAvatar/UserAvatar';
+import UserAvatar from '../../users/UserAvatar';
import styles from './Add.module.scss';
@@ -23,32 +23,18 @@ const DEFAULT_DATA = {
};
const Add = React.memo(() => {
+ const boardMemberships = useSelector(selectors.selectMembershipsForCurrentBoard);
+
const dispatch = useDispatch();
const [t] = useTranslation();
+ const [data, , setData] = useForm(DEFAULT_DATA);
const [isOpened, setIsOpened] = useState(false);
- const [data, handleFieldChange, setData] = useForm(DEFAULT_DATA);
const [selectTextFieldState, selectTextField] = useToggle();
- const textFieldRef = useRef(null);
const mentionsInputRef = useRef(null);
+ const textFieldRef = useRef(null);
const [buttonRef, handleButtonRef] = useNestedRef();
- const mentionsInputStyle = {
- control: {
- minHeight: isOpened ? '60px' : '36px',
- },
- };
-
- const renderSuggestion = useCallback(
- (suggestion, search, highlightedDisplay) => (
-
-
- {highlightedDisplay}
-
- ),
- [],
- );
-
const submit = useCallback(() => {
const cleanData = {
...data,
@@ -56,7 +42,7 @@ const Add = React.memo(() => {
};
if (!cleanData.text) {
- textFieldRef.current?.select();
+ textFieldRef.current.select();
return;
}
@@ -66,12 +52,13 @@ const Add = React.memo(() => {
}, [dispatch, data, setData, selectTextField, textFieldRef]);
const handleEscape = useCallback(() => {
- if (mentionsInputRef?.current?.isOpened()) {
- mentionsInputRef?.current.clearSuggestions();
+ if (mentionsInputRef.current.isOpened()) {
+ mentionsInputRef.current.clearSuggestions();
return;
}
+
setIsOpened(false);
- textFieldRef.current?.blur();
+ textFieldRef.current.blur();
}, [textFieldRef]);
const [activateEscapeInterceptor, deactivateEscapeInterceptor] =
@@ -85,6 +72,15 @@ const Add = React.memo(() => {
setIsOpened(true);
}, []);
+ const handleFieldChange = useCallback(
+ (_, text) => {
+ setData({
+ text,
+ });
+ },
+ [setData],
+ );
+
const handleFieldKeyDown = useCallback(
(event) => {
if (isModifierKeyPressed(event) && event.key === 'Enter') {
@@ -99,7 +95,7 @@ const Add = React.memo(() => {
}, []);
const handleClickAwayCancel = useCallback(() => {
- textFieldRef.current?.focus();
+ textFieldRef.current.focus();
}, [textFieldRef]);
const clickAwayProps = useClickAwayListener(
@@ -108,16 +104,14 @@ const Add = React.memo(() => {
handleClickAwayCancel,
);
- const users = useSelector(selectors.selectMembershipsForCurrentBoard);
-
- const handleFormFieldChange = useCallback(
- (event, newValue) => {
- handleFieldChange(null, {
- name: 'text',
- value: newValue,
- });
- },
- [handleFieldChange],
+ const suggestionRenderer = useCallback(
+ (entry, _, highlightedDisplay) => (
+
+
+ {highlightedDisplay}
+
+ ),
+ [],
);
useDidUpdate(() => {
@@ -129,39 +123,41 @@ const Add = React.memo(() => {
}, [isOpened]);
useDidUpdate(() => {
- textFieldRef.current?.focus();
+ textFieldRef.current.focus();
}, [selectTextFieldState]);
return (