11import React from 'react' ;
22import { observer } from 'mobx-react' ;
3- import { Space } from 'antd' ;
3+ import { Space , Tooltip } from 'antd' ;
44
55import * as TaskHooks from '../../../../hooks/TaskHooks' ;
66import TaskTimeItemModel from '../../../../models/TaskTimeItemModel' ;
@@ -12,6 +12,7 @@ import {
1212} from '../../../../helpers/DateTime' ;
1313import { createUseStyles } from 'react-jss' ;
1414import clsx from 'clsx' ;
15+ import LabelWithTooltip , { ILabelWithTooltipProps } from './LabelWithTooltip' ;
1516
1617interface TotalHoursProps {
1718 timeItems : TaskTimeItemModel [ ] ;
@@ -33,29 +34,50 @@ const TotalHours = observer((props: TotalHoursProps) => {
3334 return null ;
3435 }
3536
37+ const items : ILabelWithTooltipProps [ ] = [
38+ {
39+ label : getTime ( startWorkingTime ) ,
40+ tooltip : 'Start time' ,
41+ } ,
42+ {
43+ icon : 'mi-work-outline' ,
44+ label : msToTime ( durationMs , false ) ,
45+ tooltip : 'Working hours' ,
46+ } ,
47+ {
48+ icon : 'mi-local-cafe' ,
49+ label : msToTime ( gapsMs , false ) ,
50+ tooltip : 'Rest hours' ,
51+ } ,
52+ {
53+ icon : 'mi-notifications' ,
54+ label : getTime ( estimatedWorkingTimeEnd ) ,
55+ tooltip : 'Estimated end of working hours' ,
56+ } ,
57+ {
58+ label : msToTime ( restHoursMs , false ) ,
59+ tooltip : 'Left to work' ,
60+ } ,
61+ ] ;
62+
3663 return (
37- < Space >
38- < span > { getTime ( startWorkingTime ) } </ span >
39- < div >
40- < span className = { clsx ( 'mi mi-work-outline' , classes . icon ) } />
41- < span > { msToTime ( durationMs , false ) } </ span >
42- </ div >
43- < div >
44- < span className = { clsx ( 'mi mi-local-cafe' , classes . icon ) } />
45- < span > { msToTime ( gapsMs , false ) } </ span >
46- </ div >
47- < div >
48- < span className = { clsx ( 'mi mi-notifications' , classes . icon ) } />
49- < span > { getTime ( estimatedWorkingTimeEnd ) } </ span >
50- </ div >
51- < span > { msToTime ( restHoursMs , false ) } </ span >
64+ < Space size = "middle" >
65+ { items . map ( ( props , index ) => (
66+ < LabelWithTooltip key = { index } { ...props } />
67+ ) ) }
5268 </ Space >
5369 ) ;
5470} ) ;
5571
5672const useStyle = createUseStyles ( {
73+ iconAndLabel : {
74+ display : 'flex' ,
75+ alignItems : 'center' ,
76+ } ,
5777 icon : {
5878 fontSize : 18 ,
79+ color : '#5f6368' ,
80+ marginRight : 4 ,
5981 } ,
6082} ) ;
6183
0 commit comments