Skip to content
This repository was archived by the owner on Dec 26, 2022. It is now read-only.

Commit 775fbc6

Browse files
committed
Refactoring
1 parent 0b7e8e5 commit 775fbc6

File tree

2 files changed

+29
-18
lines changed

2 files changed

+29
-18
lines changed

src/screens/projects/components/DrawerTask/DrawerTask.tsx

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { useMemo, useState } from 'react';
1+
import React, { useCallback, useMemo, useState } from 'react';
22
import { Checkbox, Drawer, Input, Space } from 'antd';
33
import { observer } from 'mobx-react';
44
import { ProjectOutlined } from '@ant-design/icons';
@@ -37,6 +37,22 @@ export default observer(function DrawerTask({
3737
task,
3838
]);
3939

40+
const handleTitleChange = useCallback(
41+
(e: React.ChangeEvent<HTMLTextAreaElement>) => {
42+
const title = e.target.value;
43+
task?.setTitle(title);
44+
},
45+
[task]
46+
);
47+
48+
const handleDetailsChange = useCallback(
49+
(e: React.ChangeEvent<HTMLTextAreaElement>) => {
50+
const details = e.target.value;
51+
task?.setDetails(details);
52+
},
53+
[task]
54+
);
55+
4056
return (
4157
<Drawer
4258
placement="right"
@@ -62,26 +78,17 @@ export default observer(function DrawerTask({
6278
</IconTile>
6379
<span className={classes.projectTitle}>{project?.title}</span>
6480
</div>
65-
<Input
81+
<TextArea
6682
value={task?.title}
83+
rows={3}
6784
placeholder="Task description"
68-
onChange={(e) => {
69-
const title = e.target.value;
70-
if (task) {
71-
task.setTitle(title);
72-
}
73-
}}
85+
onChange={handleTitleChange}
7486
/>
7587
<TextArea
7688
placeholder="Details"
7789
rows={4}
7890
value={task?.details}
79-
onChange={(e) => {
80-
const details = e.target.value;
81-
if (task) {
82-
task.setDetails(details);
83-
}
84-
}}
91+
onChange={handleDetailsChange}
8592
/>
8693

8794
<Duration task={task} />

src/services/TaskTimeService.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ const TaskTimeService = {
4242
if (estimatedWorkingTimeEnd) {
4343
const durationWorkDayMs =
4444
estimatedWorkingTimeEnd.getTime() - workingTimeStart.getTime() || 1;
45-
progress = ((durationMs + restMs) * 100) / durationWorkDayMs;
46-
progress = Math.min(Math.round(progress), 100);
47-
realProgress = (durationMs * 100) / workingHoursMs;
48-
realProgress = Math.min(Math.round(realProgress), 100);
45+
progress = max100(
46+
Math.round(((durationMs + restMs) * 100) / durationWorkDayMs)
47+
);
48+
realProgress = max100(Math.round((durationMs * 100) / workingHoursMs));
4949
}
5050

5151
return {
@@ -58,4 +58,8 @@ const TaskTimeService = {
5858
},
5959
};
6060

61+
function max100(num: number) {
62+
return Math.min(num, 100);
63+
}
64+
6165
export default TaskTimeService;

0 commit comments

Comments
 (0)