forked from Yadro/time-tracker
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTaskControl.tsx
More file actions
36 lines (30 loc) · 1.1 KB
/
TaskControl.tsx
File metadata and controls
36 lines (30 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import React, { useMemo } from 'react';
import { observer } from 'mobx-react';
import { PauseOutlined } from '@ant-design/icons';
import './TaskControl.less';
import rootStore from '../../modules/RootStore';
import * as TaskHooks from '../../hooks/TaskHooks';
import CircleButton from '../CircleButton/CircleButton';
const { tasksStore, projectStore } = rootStore;
export default observer(function TaskControl() {
const task = tasksStore.activeTask;
const duration = TaskHooks.useTaskDuration(task);
const project = useMemo(() => {
return projectStore.get(task?.projectId || '');
}, [task]);
if (task) {
return (
<span className="task-control">
<div className="task-control__info">
<span className="task-control__project">{project?.title}</span>
<span>{task.title}</span>
</div>
<span className="task-control__duration">{duration}</span>
<CircleButton onClick={() => tasksStore.stopTimer(task)}>
<PauseOutlined />
</CircleButton>
</span>
);
}
return <span className="task-control">No active tasks</span>;
});