mirror of
https://github.com/plankanban/planka.git
synced 2025-07-29 10:09:44 +02:00
Update dependencies
This commit is contained in:
parent
4da29f2d8e
commit
d1b74f9d11
145 changed files with 963 additions and 1149 deletions
|
@ -11,7 +11,7 @@ import { useForm } from '../../hooks';
|
|||
|
||||
import styles from './AddUserPopup.module.css';
|
||||
|
||||
const createMessage = error => {
|
||||
const createMessage = (error) => {
|
||||
if (!error) {
|
||||
return error;
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ const AddList = React.forwardRef(({ children, onCreate }, ref) => {
|
|||
}, [open]);
|
||||
|
||||
const handleFieldKeyDown = useCallback(
|
||||
event => {
|
||||
(event) => {
|
||||
if (event.key === 'Escape') {
|
||||
close();
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ import { ReactComponent as PlusMathIcon } from '../../assets/images/plus-math-ic
|
|||
|
||||
import styles from './Board.module.css';
|
||||
|
||||
const parseDndId = dndId => dndId.split(':')[1];
|
||||
const parseDndId = (dndId) => dndId.split(':')[1];
|
||||
|
||||
const Board = React.memo(
|
||||
({
|
||||
|
|
|
@ -26,14 +26,14 @@ const Filter = React.memo(
|
|||
const [t] = useTranslation();
|
||||
|
||||
const handleUserRemoveClick = useCallback(
|
||||
id => {
|
||||
(id) => {
|
||||
onUserRemove(id);
|
||||
},
|
||||
[onUserRemove],
|
||||
);
|
||||
|
||||
const handleLabelRemoveClick = useCallback(
|
||||
id => {
|
||||
(id) => {
|
||||
onLabelRemove(id);
|
||||
},
|
||||
[onLabelRemove],
|
||||
|
@ -44,7 +44,7 @@ const Filter = React.memo(
|
|||
<span className={styles.filter}>
|
||||
<ProjectMembershipsPopup
|
||||
items={allProjectMemberships}
|
||||
currentUserIds={users.map(user => user.id)}
|
||||
currentUserIds={users.map((user) => user.id)}
|
||||
title={t('common.filterByMembers', {
|
||||
context: 'title',
|
||||
})}
|
||||
|
@ -56,7 +56,7 @@ const Filter = React.memo(
|
|||
{users.length === 0 && <span className={styles.filterLabel}>{t('common.all')}</span>}
|
||||
</button>
|
||||
</ProjectMembershipsPopup>
|
||||
{users.map(user => (
|
||||
{users.map((user) => (
|
||||
<span key={user.id} className={styles.filterItem}>
|
||||
<User
|
||||
name={user.name}
|
||||
|
@ -70,7 +70,7 @@ const Filter = React.memo(
|
|||
<span className={styles.filter}>
|
||||
<LabelsPopup
|
||||
items={allLabels}
|
||||
currentIds={labels.map(label => label.id)}
|
||||
currentIds={labels.map((label) => label.id)}
|
||||
title={t('common.filterByLabels', {
|
||||
context: 'title',
|
||||
})}
|
||||
|
@ -85,7 +85,7 @@ const Filter = React.memo(
|
|||
{labels.length === 0 && <span className={styles.filterLabel}>{t('common.all')}</span>}
|
||||
</button>
|
||||
</LabelsPopup>
|
||||
{labels.map(label => (
|
||||
{labels.map((label) => (
|
||||
<span key={label.id} className={styles.filterItem}>
|
||||
<Label
|
||||
name={label.name}
|
||||
|
|
|
@ -44,15 +44,15 @@ const Boards = React.memo(
|
|||
);
|
||||
|
||||
const handleDelete = useCallback(
|
||||
id => {
|
||||
(id) => {
|
||||
onDelete(id);
|
||||
},
|
||||
[onDelete],
|
||||
);
|
||||
|
||||
const renderItems = useCallback(
|
||||
safeItems =>
|
||||
safeItems.map(item => (
|
||||
(safeItems) =>
|
||||
safeItems.map((item) => (
|
||||
<div key={item.id} className={styles.tabWrapper}>
|
||||
<div className={classNames(styles.tab, item.id === currentId && styles.tabActive)}>
|
||||
{item.isPersisted ? (
|
||||
|
@ -73,7 +73,7 @@ const Boards = React.memo(
|
|||
);
|
||||
|
||||
const renderEditableItems = useCallback(
|
||||
safeItems =>
|
||||
(safeItems) =>
|
||||
safeItems.map((item, index) => (
|
||||
<Draggable
|
||||
key={item.id}
|
||||
|
@ -103,7 +103,7 @@ const Boards = React.memo(
|
|||
{item.isPersisted && (
|
||||
<EditPopup
|
||||
defaultData={pick(item, 'name')}
|
||||
onUpdate={data => handleUpdate(item.id, data)}
|
||||
onUpdate={(data) => handleUpdate(item.id, data)}
|
||||
onDelete={() => handleDelete(item.id)}
|
||||
>
|
||||
<Button className={classNames(styles.editButton, styles.target)}>
|
||||
|
|
|
@ -70,7 +70,7 @@ const ActionsStep = React.memo(
|
|||
}, [openStep]);
|
||||
|
||||
const handleDueDateUpdate = useCallback(
|
||||
dueDate => {
|
||||
(dueDate) => {
|
||||
onUpdate({
|
||||
dueDate,
|
||||
});
|
||||
|
@ -79,7 +79,7 @@ const ActionsStep = React.memo(
|
|||
);
|
||||
|
||||
const handleTimerUpdate = useCallback(
|
||||
timer => {
|
||||
(timer) => {
|
||||
onUpdate({
|
||||
timer,
|
||||
});
|
||||
|
|
|
@ -49,7 +49,7 @@ const Card = React.memo(
|
|||
}, []);
|
||||
|
||||
const handleNameUpdate = useCallback(
|
||||
newName => {
|
||||
(newName) => {
|
||||
onUpdate({
|
||||
name: newName,
|
||||
});
|
||||
|
@ -65,7 +65,7 @@ const Card = React.memo(
|
|||
<>
|
||||
{labels.length > 0 && (
|
||||
<span className={styles.labels}>
|
||||
{labels.map(label => (
|
||||
{labels.map((label) => (
|
||||
<span key={label.id} className={classNames(styles.attachment, styles.attachmentLeft)}>
|
||||
<Label name={label.name} color={label.color} size="tiny" />
|
||||
</span>
|
||||
|
@ -101,7 +101,7 @@ const Card = React.memo(
|
|||
)}
|
||||
{users.length > 0 && (
|
||||
<span className={classNames(styles.attachments, styles.attachmentsRight)}>
|
||||
{users.map(user => (
|
||||
{users.map((user) => (
|
||||
<span key={user.id} className={classNames(styles.attachment, styles.attachmentRight)}>
|
||||
<User name={user.name} avatar={user.avatar} size="tiny" />
|
||||
</span>
|
||||
|
@ -136,9 +136,9 @@ const Card = React.memo(
|
|||
isPersisted,
|
||||
}}
|
||||
projectMemberships={allProjectMemberships}
|
||||
currentUserIds={users.map(user => user.id)}
|
||||
currentUserIds={users.map((user) => user.id)}
|
||||
labels={allLabels}
|
||||
currentLabelIds={labels.map(label => label.id)}
|
||||
currentLabelIds={labels.map((label) => label.id)}
|
||||
onNameEdit={handleNameEdit}
|
||||
onUpdate={onUpdate}
|
||||
onDelete={onDelete}
|
||||
|
|
|
@ -50,7 +50,7 @@ const EditName = React.forwardRef(({ children, defaultValue, onUpdate }, ref) =>
|
|||
);
|
||||
|
||||
const handleFieldKeyDown = useCallback(
|
||||
event => {
|
||||
(event) => {
|
||||
switch (event.key) {
|
||||
case 'Enter':
|
||||
event.preventDefault();
|
||||
|
|
|
@ -10,7 +10,7 @@ const Tasks = React.memo(({ items }) => {
|
|||
const [isOpened, toggleOpened] = useToggle();
|
||||
|
||||
const handleToggleClick = useCallback(
|
||||
event => {
|
||||
(event) => {
|
||||
event.preventDefault();
|
||||
|
||||
toggleOpened();
|
||||
|
@ -18,7 +18,7 @@ const Tasks = React.memo(({ items }) => {
|
|||
[toggleOpened],
|
||||
);
|
||||
|
||||
const completedItems = items.filter(item => item.isCompleted);
|
||||
const completedItems = items.filter((item) => item.isCompleted);
|
||||
|
||||
return (
|
||||
<>
|
||||
|
@ -47,7 +47,7 @@ const Tasks = React.memo(({ items }) => {
|
|||
</div>
|
||||
{isOpened && (
|
||||
<ul className={styles.tasks}>
|
||||
{items.map(item => (
|
||||
{items.map((item) => (
|
||||
<li
|
||||
key={item.id}
|
||||
className={classNames(styles.task, item.isCompleted && styles.taskCompleted)}
|
||||
|
|
|
@ -30,7 +30,7 @@ const Actions = React.memo(
|
|||
);
|
||||
|
||||
const handleCommentDelete = useCallback(
|
||||
id => {
|
||||
(id) => {
|
||||
onCommentDelete(id);
|
||||
},
|
||||
[onCommentDelete],
|
||||
|
@ -51,7 +51,7 @@ const Actions = React.memo(
|
|||
<div className={styles.moduleHeader}>{t('common.actions')}</div>
|
||||
<div className={styles.wrapper}>
|
||||
<Comment.Group>
|
||||
{items.map(item =>
|
||||
{items.map((item) =>
|
||||
item.type === ActionTypes.COMMENT_CARD ? (
|
||||
<Item.Comment
|
||||
key={item.id}
|
||||
|
@ -60,7 +60,7 @@ const Actions = React.memo(
|
|||
isPersisted={item.isPersisted}
|
||||
user={item.user}
|
||||
isEditable={isEditable}
|
||||
onUpdate={data => handleCommentUpdate(item.id, data)}
|
||||
onUpdate={(data) => handleCommentUpdate(item.id, data)}
|
||||
onDelete={() => handleCommentDelete(item.id)}
|
||||
/>
|
||||
) : (
|
||||
|
|
|
@ -35,7 +35,7 @@ const AddComment = React.memo(({ onCreate }) => {
|
|||
}, [onCreate, data, setData]);
|
||||
|
||||
const handleFieldKeyDown = useCallback(
|
||||
event => {
|
||||
(event) => {
|
||||
if (event.ctrlKey && event.key === 'Enter') {
|
||||
submit();
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ const EditComment = React.forwardRef(({ children, defaultData, onUpdate }, ref)
|
|||
);
|
||||
|
||||
const handleFieldKeyDown = useCallback(
|
||||
event => {
|
||||
(event) => {
|
||||
if (event.ctrlKey && event.key === 'Enter') {
|
||||
submit();
|
||||
}
|
||||
|
|
|
@ -58,7 +58,7 @@ const CardModal = React.memo(
|
|||
const [t] = useTranslation();
|
||||
|
||||
const handleNameUpdate = useCallback(
|
||||
newName => {
|
||||
(newName) => {
|
||||
onUpdate({
|
||||
name: newName,
|
||||
});
|
||||
|
@ -67,7 +67,7 @@ const CardModal = React.memo(
|
|||
);
|
||||
|
||||
const handleDescriptionUpdate = useCallback(
|
||||
newDescription => {
|
||||
(newDescription) => {
|
||||
onUpdate({
|
||||
description: newDescription,
|
||||
});
|
||||
|
@ -76,7 +76,7 @@ const CardModal = React.memo(
|
|||
);
|
||||
|
||||
const handleDueDateUpdate = useCallback(
|
||||
newDueDate => {
|
||||
(newDueDate) => {
|
||||
onUpdate({
|
||||
dueDate: newDueDate,
|
||||
});
|
||||
|
@ -85,7 +85,7 @@ const CardModal = React.memo(
|
|||
);
|
||||
|
||||
const handleTimerUpdate = useCallback(
|
||||
newTimer => {
|
||||
(newTimer) => {
|
||||
onUpdate({
|
||||
timer: newTimer,
|
||||
});
|
||||
|
@ -99,8 +99,8 @@ const CardModal = React.memo(
|
|||
});
|
||||
}, [isSubscribed, onUpdate]);
|
||||
|
||||
const userIds = users.map(user => user.id);
|
||||
const labelIds = labels.map(label => label.id);
|
||||
const userIds = users.map((user) => user.id);
|
||||
const labelIds = labels.map((label) => label.id);
|
||||
|
||||
return (
|
||||
<Modal open closeIcon size="small" centered={false} onClose={onClose}>
|
||||
|
@ -126,7 +126,7 @@ const CardModal = React.memo(
|
|||
context: 'title',
|
||||
})}
|
||||
</div>
|
||||
{users.map(user => (
|
||||
{users.map((user) => (
|
||||
<span key={user.id} className={styles.attachment}>
|
||||
<ProjectMembershipsPopup
|
||||
items={allProjectMemberships}
|
||||
|
@ -160,7 +160,7 @@ const CardModal = React.memo(
|
|||
context: 'title',
|
||||
})}
|
||||
</div>
|
||||
{labels.map(label => (
|
||||
{labels.map((label) => (
|
||||
<span key={label.id} className={styles.attachment}>
|
||||
<LabelsPopup
|
||||
key={label.id}
|
||||
|
|
|
@ -51,7 +51,7 @@ const EditDescription = React.forwardRef(({ children, defaultValue, onUpdate },
|
|||
}, [open]);
|
||||
|
||||
const handleFieldKeyDown = useCallback(
|
||||
event => {
|
||||
(event) => {
|
||||
if (event.ctrlKey && event.key === 'Enter') {
|
||||
submit();
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ const NameField = React.memo(({ defaultValue, onUpdate }) => {
|
|||
isFocused.current = true;
|
||||
}, []);
|
||||
|
||||
const handleKeyDown = useCallback(event => {
|
||||
const handleKeyDown = useCallback((event) => {
|
||||
if (event.key === 'Enter') {
|
||||
event.preventDefault();
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@ const Add = React.forwardRef(({ children, onCreate }, ref) => {
|
|||
}, [open]);
|
||||
|
||||
const handleFieldKeyDown = useCallback(
|
||||
event => {
|
||||
(event) => {
|
||||
if (event.key === 'Enter') {
|
||||
event.preventDefault();
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ const EditName = React.forwardRef(({ children, defaultValue, onUpdate }, ref) =>
|
|||
);
|
||||
|
||||
const handleFieldKeyDown = useCallback(
|
||||
event => {
|
||||
(event) => {
|
||||
if (event.key === 'Enter') {
|
||||
event.preventDefault();
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ const Item = React.memo(({ name, isCompleted, isPersisted, onUpdate, onDelete })
|
|||
}, [isPersisted]);
|
||||
|
||||
const handleNameUpdate = useCallback(
|
||||
newName => {
|
||||
(newName) => {
|
||||
onUpdate({
|
||||
name: newName,
|
||||
});
|
||||
|
|
|
@ -19,13 +19,13 @@ const Tasks = React.memo(({ items, onCreate, onUpdate, onDelete }) => {
|
|||
);
|
||||
|
||||
const handleDelete = useCallback(
|
||||
id => {
|
||||
(id) => {
|
||||
onDelete(id);
|
||||
},
|
||||
[onDelete],
|
||||
);
|
||||
|
||||
const completedItems = items.filter(item => item.isCompleted);
|
||||
const completedItems = items.filter((item) => item.isCompleted);
|
||||
|
||||
return (
|
||||
<>
|
||||
|
@ -39,13 +39,13 @@ const Tasks = React.memo(({ items, onCreate, onUpdate, onDelete }) => {
|
|||
className={styles.progress}
|
||||
/>
|
||||
)}
|
||||
{items.map(item => (
|
||||
{items.map((item) => (
|
||||
<Item
|
||||
key={item.id}
|
||||
name={item.name}
|
||||
isCompleted={item.isCompleted}
|
||||
isPersisted={item.isPersisted}
|
||||
onUpdate={data => handleUpdate(item.id, data)}
|
||||
onUpdate={(data) => handleUpdate(item.id, data)}
|
||||
onDelete={() => handleDelete(item.id)}
|
||||
/>
|
||||
))}
|
||||
|
|
|
@ -47,8 +47,8 @@ const EditDueDateStep = React.memo(({ defaultValue, onUpdate, onBack, onClose })
|
|||
}, [data.date, t]);
|
||||
|
||||
const handleDatePickerChange = useCallback(
|
||||
date => {
|
||||
setData(prevData => ({
|
||||
(date) => {
|
||||
setData((prevData) => ({
|
||||
...prevData,
|
||||
date: t('format:date', {
|
||||
postProcess: 'formatDate',
|
||||
|
|
|
@ -11,7 +11,7 @@ import { createTimer, getTimerParts, startTimer, stopTimer, updateTimer } from '
|
|||
|
||||
import styles from './EditTimerStep.module.css';
|
||||
|
||||
const createData = timer => {
|
||||
const createData = (timer) => {
|
||||
if (!timer) {
|
||||
return {
|
||||
hours: '0',
|
||||
|
|
|
@ -16,7 +16,7 @@ const NotificationsStep = React.memo(({ items, onDelete, onClose }) => {
|
|||
const [t] = useTranslation();
|
||||
|
||||
const handleDelete = useCallback(
|
||||
id => {
|
||||
(id) => {
|
||||
onDelete(id);
|
||||
},
|
||||
[onDelete],
|
||||
|
@ -77,7 +77,7 @@ const NotificationsStep = React.memo(({ items, onDelete, onClose }) => {
|
|||
<Popup.Header>{t('common.notifications')}</Popup.Header>
|
||||
<Popup.Content>
|
||||
{items.length > 0
|
||||
? items.map(item => (
|
||||
? items.map((item) => (
|
||||
<div key={item.id} className={styles.wrapper}>
|
||||
{item.card && item.action ? (
|
||||
<>
|
||||
|
|
|
@ -27,7 +27,7 @@ const LabelsStep = React.memo(
|
|||
}, [openStep]);
|
||||
|
||||
const handleEdit = useCallback(
|
||||
id => {
|
||||
(id) => {
|
||||
openStep(StepTypes.EDIT, {
|
||||
id,
|
||||
});
|
||||
|
@ -36,14 +36,14 @@ const LabelsStep = React.memo(
|
|||
);
|
||||
|
||||
const handleSelect = useCallback(
|
||||
id => {
|
||||
(id) => {
|
||||
onSelect(id);
|
||||
},
|
||||
[onSelect],
|
||||
);
|
||||
|
||||
const handleDeselect = useCallback(
|
||||
id => {
|
||||
(id) => {
|
||||
onDeselect(id);
|
||||
},
|
||||
[onDeselect],
|
||||
|
@ -57,7 +57,7 @@ const LabelsStep = React.memo(
|
|||
);
|
||||
|
||||
const handleDelete = useCallback(
|
||||
id => {
|
||||
(id) => {
|
||||
onDelete(id);
|
||||
},
|
||||
[onDelete],
|
||||
|
@ -68,13 +68,13 @@ const LabelsStep = React.memo(
|
|||
case StepTypes.ADD:
|
||||
return <AddStep onCreate={onCreate} onBack={handleBack} />;
|
||||
case StepTypes.EDIT: {
|
||||
const currentItem = items.find(item => item.id === step.params.id);
|
||||
const currentItem = items.find((item) => item.id === step.params.id);
|
||||
|
||||
if (currentItem) {
|
||||
return (
|
||||
<EditStep
|
||||
defaultData={pick(currentItem, ['name', 'color'])}
|
||||
onUpdate={data => handleUpdate(currentItem.id, data)}
|
||||
onUpdate={(data) => handleUpdate(currentItem.id, data)}
|
||||
onDelete={() => handleDelete(currentItem.id)}
|
||||
onBack={handleBack}
|
||||
/>
|
||||
|
@ -93,7 +93,7 @@ const LabelsStep = React.memo(
|
|||
<>
|
||||
<Popup.Header onBack={onBack}>{t(title)}</Popup.Header>
|
||||
<Popup.Content>
|
||||
{items.map(item => (
|
||||
{items.map((item) => (
|
||||
<Item
|
||||
key={item.id}
|
||||
name={item.name}
|
||||
|
|
|
@ -60,7 +60,7 @@ const AddCard = React.forwardRef(({ children, onCreate }, ref) => {
|
|||
}, [open]);
|
||||
|
||||
const handleFieldKeyDown = useCallback(
|
||||
event => {
|
||||
(event) => {
|
||||
switch (event.key) {
|
||||
case 'Enter':
|
||||
event.preventDefault();
|
||||
|
|
|
@ -42,12 +42,12 @@ const EditName = React.forwardRef(({ children, defaultValue, onUpdate }, ref) =>
|
|||
[open, close],
|
||||
);
|
||||
|
||||
const handleFieldClick = useCallback(event => {
|
||||
const handleFieldClick = useCallback((event) => {
|
||||
event.stopPropagation();
|
||||
}, []);
|
||||
|
||||
const handleFieldKeyDown = useCallback(
|
||||
event => {
|
||||
(event) => {
|
||||
switch (event.key) {
|
||||
case 'Enter':
|
||||
event.preventDefault();
|
||||
|
|
|
@ -28,7 +28,7 @@ const List = React.memo(
|
|||
}, [isPersisted]);
|
||||
|
||||
const handleNameUpdate = useCallback(
|
||||
newName => {
|
||||
(newName) => {
|
||||
onUpdate({
|
||||
name: newName,
|
||||
});
|
||||
|
|
|
@ -11,7 +11,7 @@ import { useForm } from '../../hooks';
|
|||
|
||||
import styles from './Login.module.css';
|
||||
|
||||
const createMessage = error => {
|
||||
const createMessage = (error) => {
|
||||
if (!error) {
|
||||
return error;
|
||||
}
|
||||
|
@ -93,7 +93,7 @@ const Login = React.memo(
|
|||
|
||||
break;
|
||||
case 'Password is not valid':
|
||||
setData(prevData => ({
|
||||
setData((prevData) => ({
|
||||
...prevData,
|
||||
password: '',
|
||||
}));
|
||||
|
|
|
@ -12,7 +12,7 @@ const AddMembershipStep = React.memo(({ users, currentUserIds, onCreate, onClose
|
|||
const [t] = useTranslation();
|
||||
|
||||
const handleUserSelect = useCallback(
|
||||
id => {
|
||||
(id) => {
|
||||
onCreate({
|
||||
userId: id,
|
||||
});
|
||||
|
@ -31,7 +31,7 @@ const AddMembershipStep = React.memo(({ users, currentUserIds, onCreate, onClose
|
|||
</Popup.Header>
|
||||
<Popup.Content>
|
||||
<div className={styles.menu}>
|
||||
{users.map(user => (
|
||||
{users.map((user) => (
|
||||
<UserItem
|
||||
key={user.id}
|
||||
name={user.name}
|
||||
|
|
|
@ -22,7 +22,7 @@ const Project = React.memo(
|
|||
onMembershipDelete,
|
||||
}) => {
|
||||
const handleMembershipDelete = useCallback(
|
||||
id => {
|
||||
(id) => {
|
||||
onMembershipDelete(id);
|
||||
},
|
||||
[onMembershipDelete],
|
||||
|
@ -47,7 +47,7 @@ const Project = React.memo(
|
|||
<span className={styles.name}>{name}</span>
|
||||
)}
|
||||
<span className={styles.users}>
|
||||
{memberships.map(membership => (
|
||||
{memberships.map((membership) => (
|
||||
<span key={membership.id} className={styles.user}>
|
||||
<EditMembershipPopup
|
||||
user={membership.user}
|
||||
|
@ -67,7 +67,7 @@ const Project = React.memo(
|
|||
{isEditable && (
|
||||
<AddMembershipPopup
|
||||
users={allUsers}
|
||||
currentUserIds={memberships.map(membership => membership.user.id)}
|
||||
currentUserIds={memberships.map((membership) => membership.user.id)}
|
||||
onCreate={onMembershipCreate}
|
||||
>
|
||||
<Button icon="add user" className={styles.addUser} />
|
||||
|
|
|
@ -13,14 +13,14 @@ const ProjectMembershipsStep = React.memo(
|
|||
const [t] = useTranslation();
|
||||
|
||||
const handleUserSelect = useCallback(
|
||||
id => {
|
||||
(id) => {
|
||||
onUserSelect(id);
|
||||
},
|
||||
[onUserSelect],
|
||||
);
|
||||
|
||||
const handleUserDeselect = useCallback(
|
||||
id => {
|
||||
(id) => {
|
||||
onUserDeselect(id);
|
||||
},
|
||||
[onUserDeselect],
|
||||
|
@ -31,7 +31,7 @@ const ProjectMembershipsStep = React.memo(
|
|||
<Popup.Header onBack={onBack}>{t(title)}</Popup.Header>
|
||||
<Popup.Content>
|
||||
<Menu secondary vertical className={styles.menu}>
|
||||
{items.map(item => (
|
||||
{items.map((item) => (
|
||||
<Item
|
||||
key={item.id}
|
||||
isPersisted={item.isPersisted}
|
||||
|
|
|
@ -19,7 +19,7 @@ const Projects = React.memo(({ items, currentId, isEditable, onAdd }) => {
|
|||
return (
|
||||
<Container className={styles.cardsWrapper}>
|
||||
<Grid className={styles.gridFix}>
|
||||
{items.map(item => (
|
||||
{items.map((item) => (
|
||||
<Grid.Column key={item.id} mobile={8} computer={4}>
|
||||
<Link
|
||||
to={
|
||||
|
|
|
@ -55,7 +55,7 @@ const COLORS = [
|
|||
'#2c3e50', // Midnight blue
|
||||
];
|
||||
|
||||
const getColor = name => {
|
||||
const getColor = (name) => {
|
||||
let sum = 0;
|
||||
for (let i = 0; i < name.length; i += 1) {
|
||||
sum += name.charCodeAt(i);
|
||||
|
|
|
@ -10,7 +10,7 @@ import { useForm } from '../../hooks';
|
|||
|
||||
import styles from './EditNameStep.module.css';
|
||||
|
||||
const createMessage = error => {
|
||||
const createMessage = (error) => {
|
||||
if (!error) {
|
||||
return error;
|
||||
}
|
||||
|
@ -88,7 +88,7 @@ const EditEmailStep = React.memo(
|
|||
|
||||
break;
|
||||
case 'Current password is not valid':
|
||||
setData(prevData => ({
|
||||
setData((prevData) => ({
|
||||
...prevData,
|
||||
currentPassword: '',
|
||||
}));
|
||||
|
|
|
@ -9,7 +9,7 @@ import { useForm } from '../../hooks';
|
|||
|
||||
import styles from './EditNameStep.module.css';
|
||||
|
||||
const createMessage = error => {
|
||||
const createMessage = (error) => {
|
||||
if (!error) {
|
||||
return error;
|
||||
}
|
||||
|
@ -68,7 +68,7 @@ const EditPasswordStep = React.memo(
|
|||
if (!error) {
|
||||
onClose();
|
||||
} else if (error.message === 'Current password is not valid') {
|
||||
setData(prevData => ({
|
||||
setData((prevData) => ({
|
||||
...prevData,
|
||||
currentPassword: '',
|
||||
}));
|
||||
|
|
|
@ -57,7 +57,7 @@ const UserStep = React.memo(
|
|||
}, [openStep]);
|
||||
|
||||
const handleNameUpdate = useCallback(
|
||||
newName => {
|
||||
(newName) => {
|
||||
onUpdate({
|
||||
name: newName,
|
||||
});
|
||||
|
|
|
@ -17,7 +17,7 @@ const UsersModal = React.memo(({ items, onUpdate, onDelete, onClose }) => {
|
|||
);
|
||||
|
||||
const handleDelete = useCallback(
|
||||
id => {
|
||||
(id) => {
|
||||
onDelete(id);
|
||||
},
|
||||
[onDelete],
|
||||
|
@ -41,13 +41,13 @@ const UsersModal = React.memo(({ items, onUpdate, onDelete, onClose }) => {
|
|||
</Table.Row>
|
||||
</Table.Header>
|
||||
<Table.Body>
|
||||
{items.map(item => (
|
||||
{items.map((item) => (
|
||||
<Item
|
||||
key={item.id}
|
||||
name={item.name}
|
||||
email={item.email}
|
||||
isAdmin={item.isAdmin}
|
||||
onUpdate={data => handleUpdate(item.id, data)}
|
||||
onUpdate={(data) => handleUpdate(item.id, data)}
|
||||
onDelete={() => handleDelete(item.id)}
|
||||
/>
|
||||
))}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue