File tree Expand file tree Collapse file tree 4 files changed +44
-4
lines changed
Expand file tree Collapse file tree 4 files changed +44
-4
lines changed Original file line number Diff line number Diff line change 260260 "less-loader" : " 8.0.0" ,
261261 "mobx" : " 6.1.8" ,
262262 "mobx-react" : " 7.1.0" ,
263+ "moment" : " 2.29.1" ,
263264 "react" : " ^17.0.1" ,
264265 "react-dom" : " ^17.0.1" ,
265266 "react-router-dom" : " ^5.2.0" ,
Original file line number Diff line number Diff line change 1- import React from 'react' ;
1+ import React , { useState } from 'react' ;
22import { Layout , Space } from 'antd' ;
33import { observer } from 'mobx-react' ;
44
@@ -7,16 +7,20 @@ import './HoursView.less';
77import rootStore from '../../services/RootStore' ;
88import HoursCard from './components/HoursCard/HoursCard' ;
99import getTimeItems from '../../services/TaskTimeItem' ;
10+ import SelectDate from './components/SelectDate/SelectDate' ;
1011
1112const { tasksStore } = rootStore ;
1213
1314export default observer ( function HoursView ( ) {
14- const tasks = tasksStore . getTaskByDate ( new Date ( ) ) ;
15- const timeItems = getTimeItems ( tasks , new Date ( ) ) ;
15+ const [ date , setDate ] = useState < Date > ( new Date ( ) ) ;
16+
17+ const tasks = tasksStore . getTaskByDate ( date ) ;
18+ const timeItems = getTimeItems ( tasks , date ) ;
1619
1720 return (
1821 < Layout className = "hours" >
1922 < Space direction = "vertical" >
23+ < SelectDate date = { date } onChange = { setDate } />
2024 { timeItems . map ( ( taskTime , index ) => (
2125 < HoursCard key = { index } taskTime = { taskTime } />
2226 ) ) }
Original file line number Diff line number Diff line change 1+ import React from 'react' ;
2+ import { Button , DatePicker } from 'antd' ;
3+ import { LeftOutlined , RightOutlined } from '@ant-design/icons' ;
4+ import moment from 'moment' ;
5+ import addDays from 'date-fns/addDays' ;
6+
7+ interface SelectDateProps {
8+ date : Date ;
9+ onChange : ( date : Date ) => void ;
10+ }
11+
12+ function changeDate ( date : Date , offsetDay : number ) {
13+ return addDays ( date , offsetDay ) ;
14+ }
15+
16+ export default function SelectDate ( { date, onChange } : SelectDateProps ) {
17+ return (
18+ < div >
19+ < Button
20+ icon = { < LeftOutlined /> }
21+ onClick = { ( ) => onChange ( changeDate ( date , - 1 ) ) }
22+ />
23+ < DatePicker
24+ value = { moment ( date ) }
25+ onChange = { ( date ) => onChange ( date ?. toDate ( ) || new Date ( ) ) }
26+ allowClear = { false }
27+ placeholder = "Date"
28+ />
29+ < Button
30+ icon = { < RightOutlined /> }
31+ onClick = { ( ) => onChange ( changeDate ( date , 1 ) ) }
32+ />
33+ </ div >
34+ ) ;
35+ }
Original file line number Diff line number Diff line change @@ -8170,7 +8170,7 @@ mobx@6.1.8:
81708170 resolved "https://registry.yarnpkg.com/mobx/-/mobx-6.1.8.tgz#5d03cb76d8f7694dd82bfb2578d886945b66450d"
81718171 integrity sha512-U4yCvUeh6yKXRwFxm2lyJjXPVekOEar/R8ZKWAXem/3fthJqYflViawfjDAUh7lZEvbKqljC3NT/pSaUKpE+gg==
81728172
8173- moment@^2.24.0, moment@^2.25.3:
8173+ moment@2.29.1, moment@ ^2.24.0, moment@^2.25.3:
81748174 version "2.29.1"
81758175 resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
81768176 integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
You can’t perform that action at this time.
0 commit comments