forked from Yadro/time-tracker
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTaskInput.tsx
More file actions
40 lines (36 loc) · 1016 Bytes
/
TaskInput.tsx
File metadata and controls
40 lines (36 loc) · 1016 Bytes
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
37
38
39
40
import React, { KeyboardEvent, useState } from 'react';
import { Input } from 'antd';
import { observer } from 'mobx-react';
import rootStore from '../../../modules/RootStore';
import TaskModel from '../../../modules/tasks/models/TaskModel';
export default observer(function TaskInput() {
const [text, setText] = useState('');
function handleKeyPress(event: KeyboardEvent) {
// Hotkey: Enter
if (event.key === 'Enter') {
const { tasksStore, projectStore } = rootStore;
tasksStore.add(
new TaskModel({
key: String(Date.now()),
title: text,
projectId: projectStore.activeProject,
active: false,
time: [],
checked: false,
children: [],
datesInProgress: [],
details: [],
})
);
setText('');
}
}
return (
<Input
placeholder="Create task..."
onKeyPress={handleKeyPress}
value={text}
onChange={(e) => setText(e.target.value)}
/>
);
});