diff --git a/README.md b/README.md
index 200db054..a806be7e 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@ A Trello-like application built with React and Redux.
## Features
- Create projects, boards, lists, cards, labels and tasks
-- Add card members, track time, set a deadline, write comments
+- Add card members, track time, set a due date, write comments
- Markdown support in a card description and comment
- Filter by members and labels
- Real-time updates
diff --git a/client/package-lock.json b/client/package-lock.json
index 329c78f0..02e8545e 100644
--- a/client/package-lock.json
+++ b/client/package-lock.json
@@ -1,4 +1,5 @@
{
+ "name": "planka-client",
"requires": true,
"lockfileVersion": 1,
"dependencies": {
@@ -6500,9 +6501,9 @@
}
},
"i18next-browser-languagedetector": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-3.0.3.tgz",
- "integrity": "sha512-1YuAogyQap0J6N4kM+6gAjZ6T7QWrp3xZCmSs0QedkNmgAKhj7FiQlCviHKl3IwbM6zJNgft4D7UDPWb1dTCMQ=="
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-3.1.1.tgz",
+ "integrity": "sha512-JBgFWijjI1t6as4WgGvDdX4GLJPZwC/SMHzLQQ3ef7XaJsEkomlXFqXifKvOVJg09Hj2BVWe6strDdIF4J/0ng=="
},
"iconv-lite": {
"version": "0.4.24",
@@ -10821,9 +10822,9 @@
"integrity": "sha512-JsecfN+JlckncVXTWFWjn0Vk6uInl8GSf4eEd9tTk5qXHlgqkPdILpnYpgZcISXNYAzvfvsCZviaDk8AxyS5sg=="
},
"react": {
- "version": "16.10.1",
- "resolved": "https://registry.npmjs.org/react/-/react-16.10.1.tgz",
- "integrity": "sha512-2bisHwMhxQ3XQz4LiJJwG3360pY965pTl/MRrZYxIBKVj4fOHoDs5aZAkYXGxDRO1Li+SyjTAilQEbOmtQJHzA==",
+ "version": "16.10.2",
+ "resolved": "https://registry.npmjs.org/react/-/react-16.10.2.tgz",
+ "integrity": "sha512-MFVIq0DpIhrHFyqLU0S3+4dIcBhhOvBE8bJ/5kHPVOVaGdo0KuiQzpcjCPsf585WvhypqtrMILyoE2th6dT+Lw==",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
@@ -10932,14 +10933,14 @@
}
},
"react-dom": {
- "version": "16.10.1",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.10.1.tgz",
- "integrity": "sha512-SmM4ZW0uug0rn95U8uqr52I7UdNf6wdGLeXDmNLfg3y5q5H9eAbdjF5ubQc3bjDyRrvdAB2IKG7X0GzSpnn5Mg==",
+ "version": "16.10.2",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.10.2.tgz",
+ "integrity": "sha512-kWGDcH3ItJK4+6Pl9DZB16BXYAZyrYQItU4OMy0jAkv5aNqc+mAKb4TpFtAteI6TJZu+9ZlNhaeNQSVQDHJzkw==",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
"prop-types": "^15.6.2",
- "scheduler": "^0.16.1"
+ "scheduler": "^0.16.2"
}
},
"react-error-overlay": {
@@ -11806,9 +11807,9 @@
}
},
"scheduler": {
- "version": "0.16.1",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.16.1.tgz",
- "integrity": "sha512-MIuie7SgsqMYOdCXVFZa8SKoNorJZUWHW8dPgto7uEHn1lX3fg2Gu0TzgK8USj76uxV7vB5eRMnZs/cdEHg+cg==",
+ "version": "0.16.2",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.16.2.tgz",
+ "integrity": "sha512-BqYVWqwz6s1wZMhjFvLfVR5WXP7ZY32M/wYPo04CcuPM7XZEbV2TBNW7Z0UkguPTl0dWMA59VbNXxK6q+pHItg==",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
diff --git a/client/package.json b/client/package.json
index 8c20c557..02544767 100755
--- a/client/package.json
+++ b/client/package.json
@@ -38,14 +38,14 @@
"dequal": "^1.0.0",
"history": "^4.10.1",
"i18next": "^17.0.18",
- "i18next-browser-languagedetector": "^3.0.3",
+ "i18next-browser-languagedetector": "^3.1.1",
"initials": "^3.0.1",
"lodash": "^4.17.15",
"prop-types": "^15.7.2",
- "react": "^16.10.1",
+ "react": "^16.10.2",
"react-beautiful-dnd": "^11.0.5",
"react-datepicker": "^2.9.6",
- "react-dom": "^16.10.1",
+ "react-dom": "^16.10.2",
"react-i18next": "^10.13.1",
"react-input-mask": "^2.0.4",
"react-markdown": "^4.2.2",
diff --git a/client/src/api/cards.js b/client/src/api/cards.js
index 1ec882d0..1c9fdb12 100755
--- a/client/src/api/cards.js
+++ b/client/src/api/cards.js
@@ -4,7 +4,7 @@ import socket from './socket';
export const transformCard = (card) => ({
...card,
- deadline: card.deadline && new Date(card.deadline),
+ dueDate: card.dueDate && new Date(card.dueDate),
timer: card.timer && {
...card.timer,
startedAt: card.timer.startedAt && new Date(card.timer.startedAt),
@@ -13,8 +13,8 @@ export const transformCard = (card) => ({
export const transformCardData = (data) => ({
...data,
- ...(data.deadline && {
- deadline: data.deadline.toISOString(),
+ ...(data.dueDate && {
+ dueDate: data.dueDate.toISOString(),
}),
...(data.timer && {
...data.timer,
diff --git a/client/src/components/Card/ActionsPopup.jsx b/client/src/components/Card/ActionsPopup.jsx
index 68bf156c..e39d6f6a 100644
--- a/client/src/components/Card/ActionsPopup.jsx
+++ b/client/src/components/Card/ActionsPopup.jsx
@@ -8,7 +8,7 @@ import { Popup } from '../../lib/custom-ui';
import { useSteps } from '../../hooks';
import ProjectMembershipsStep from '../ProjectMembershipsStep';
import LabelsStep from '../LabelsStep';
-import EditDeadlineStep from '../EditDeadlineStep';
+import EditDueDateStep from '../EditDueDateStep';
import EditTimerStep from '../EditTimerStep';
import DeleteStep from '../DeleteStep';
@@ -17,7 +17,7 @@ import styles from './ActionsPopup.module.css';
const StepTypes = {
USERS: 'USERS',
LABELS: 'LABELS',
- EDIT_DEADLINE: 'EDIT_DEADLINE',
+ EDIT_DUE_DATE: 'EDIT_DUE_DATE',
EDIT_TIMER: 'EDIT_TIMER',
DELETE: 'DELETE',
};
@@ -57,8 +57,8 @@ const ActionsStep = React.memo(
openStep(StepTypes.LABELS);
}, [openStep]);
- const handleEditDeadlineClick = useCallback(() => {
- openStep(StepTypes.EDIT_DEADLINE);
+ const handleEditDueDateClick = useCallback(() => {
+ openStep(StepTypes.EDIT_DUE_DATE);
}, [openStep]);
const handleEditTimerClick = useCallback(() => {
@@ -69,10 +69,10 @@ const ActionsStep = React.memo(
openStep(StepTypes.DELETE);
}, [openStep]);
- const handleDeadlineUpdate = useCallback(
- (deadline) => {
+ const handleDueDateUpdate = useCallback(
+ (dueDate) => {
onUpdate({
- deadline,
+ dueDate,
});
},
[onUpdate],
@@ -112,11 +112,11 @@ const ActionsStep = React.memo(
onBack={handleBack}
/>
);
- case StepTypes.EDIT_DEADLINE:
+ case StepTypes.EDIT_DUE_DATE:
return (
-
@@ -170,8 +170,8 @@ const ActionsStep = React.memo(
context: 'title',
})}
-
- {t('action.editDeadline', {
+
+ {t('action.editDueDate', {
context: 'title',
})}
diff --git a/client/src/components/Card/Card.jsx b/client/src/components/Card/Card.jsx
index a087bff9..58c470f1 100755
--- a/client/src/components/Card/Card.jsx
+++ b/client/src/components/Card/Card.jsx
@@ -11,7 +11,7 @@ import EditName from './EditName';
import ActionsPopup from './ActionsPopup';
import User from '../User';
import Label from '../Label';
-import Deadline from '../Deadline';
+import DueDate from '../DueDate';
import Timer from '../Timer';
import styles from './Card.module.css';
@@ -21,7 +21,7 @@ const Card = React.memo(
id,
index,
name,
- deadline,
+ dueDate,
timer,
isPersisted,
notificationsTotal,
@@ -74,7 +74,7 @@ const Card = React.memo(
)}
{name}
{tasks.length > 0 && }
- {(deadline || timer) && (
+ {(dueDate || timer) && (
{notificationsTotal > 0 && (
)}
- {deadline && (
+ {dueDate && (
-
+
)}
{timer && (
@@ -131,7 +131,7 @@ const Card = React.memo(
card={{
id,
name,
- deadline,
+ dueDate,
timer,
isPersisted,
}}
@@ -171,7 +171,7 @@ Card.propTypes = {
id: PropTypes.number.isRequired,
index: PropTypes.number.isRequired,
name: PropTypes.string.isRequired,
- deadline: PropTypes.instanceOf(Date),
+ dueDate: PropTypes.instanceOf(Date),
timer: PropTypes.object, // eslint-disable-line react/forbid-prop-types
isPersisted: PropTypes.bool.isRequired,
notificationsTotal: PropTypes.number.isRequired,
@@ -194,7 +194,7 @@ Card.propTypes = {
};
Card.defaultProps = {
- deadline: undefined,
+ dueDate: undefined,
timer: undefined,
};
diff --git a/client/src/components/CardModal/CardModal.jsx b/client/src/components/CardModal/CardModal.jsx
index d475e647..532bf8fb 100755
--- a/client/src/components/CardModal/CardModal.jsx
+++ b/client/src/components/CardModal/CardModal.jsx
@@ -13,11 +13,11 @@ import Tasks from './Tasks';
import Actions from './Actions';
import User from '../User';
import Label from '../Label';
-import Deadline from '../Deadline';
+import DueDate from '../DueDate';
import Timer from '../Timer';
import ProjectMembershipsPopup from '../ProjectMembershipsPopup';
import LabelsPopup from '../LabelsPopup';
-import EditDeadlinePopup from '../EditDeadlinePopup';
+import EditDueDatePopup from '../EditDueDatePopup';
import EditTimerPopup from '../EditTimerPopup';
import DeletePopup from '../DeletePopup';
@@ -27,7 +27,7 @@ const CardModal = React.memo(
({
name,
description,
- deadline,
+ dueDate,
timer,
isSubscribed,
isActionsFetching,
@@ -77,10 +77,10 @@ const CardModal = React.memo(
[onUpdate],
);
- const handleDeadlineUpdate = useCallback(
- (newDeadline) => {
+ const handleDueDateUpdate = useCallback(
+ (newDueDate) => {
onUpdate({
- deadline: newDeadline,
+ dueDate: newDueDate,
});
},
[onUpdate],
@@ -125,7 +125,7 @@ const CardModal = React.memo(
- {(users.length > 0 || labels.length > 0 || deadline || timer) && (
+ {(users.length > 0 || labels.length > 0 || dueDate || timer) && (
{users.length > 0 && (
@@ -154,7 +154,7 @@ const CardModal = React.memo(
>
@@ -195,24 +195,24 @@ const CardModal = React.memo(
>
)}
- {deadline && (
+ {dueDate && (
- {t('common.deadline', {
+ {t('common.dueDate', {
context: 'title',
})}
-
-
-
+
+
+
)}
@@ -302,12 +302,12 @@ const CardModal = React.memo(
{t('common.labels')}
-
+
-
+