1- import React , { useMemo } from 'react' ;
1+ import React , { useCallback , useMemo } from 'react' ;
22import { Layout , Space } from 'antd' ;
33import { observer } from 'mobx-react' ;
44import { createUseStyles } from 'react-jss' ;
5+ import { isToday } from 'date-fns' ;
56
67import rootStore from '../../modules/RootStore' ;
78import { getTimeItems } from '../../helpers/TaskHelper' ;
@@ -12,19 +13,26 @@ import TimelineScreen from './components/TimelineScreen';
1213import { HoursTabView } from './types' ;
1314import useLocalStorage from '../../hooks/useLocalStorage' ;
1415import { LOCAL_STORAGE_KEY } from '../../consts' ;
16+ import BackOnToday from './components/BackOnToday' ;
1517
1618const { tasksStore } = rootStore ;
1719
1820const parseDateFromString = ( value : string ) => new Date ( value ) ;
1921
2022export default observer ( function HoursScreen ( ) {
2123 const classes = useStyles ( ) ;
24+
2225 const [ date , setDate ] = useLocalStorage < Date > (
2326 LOCAL_STORAGE_KEY . HOURS_SELECTED_DATE ,
2427 new Date ( ) ,
2528 true ,
2629 parseDateFromString
2730 ) ;
31+
32+ const goTodayDate = useCallback ( ( ) => {
33+ setDate ( new Date ( ) ) ;
34+ } , [ setDate ] ) ;
35+
2836 const [ tab , setTab ] = useLocalStorage < HoursTabView > (
2937 LOCAL_STORAGE_KEY . HOURS_TAB ,
3038 HoursTabView . Edit ,
@@ -42,7 +50,9 @@ export default observer(function HoursScreen() {
4250 < Space direction = "vertical" className = { classes . space } >
4351 < Header date = { date } setDate = { setDate } tab = { tab } setTab = { setTab } />
4452 < TotalHours timeItems = { timeItems } />
45- { tab === HoursTabView . Edit ? (
53+ { ! timeItems . length && ! isToday ( date ) ? (
54+ < BackOnToday goToday = { goTodayDate } />
55+ ) : tab === HoursTabView . Edit ? (
4656 < GridWithTimeItemsView date = { date } />
4757 ) : (
4858 < TimelineScreen date = { date } />
0 commit comments