Skip to content

Commit 103a834

Browse files
committed
Header
1 parent b1e4d0e commit 103a834

File tree

3 files changed

+75
-3
lines changed

3 files changed

+75
-3
lines changed

src/screens/hours/HoursScreen.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ import { createUseStyles } from 'react-jss';
66
import rootStore from '../../modules/RootStore';
77
import HoursCard from './components/HoursCard/HoursCard';
88
import { getTimeItems } from '../../helpers/TaskHelper';
9-
import SelectDate from '../../components/SelectDate';
109
import TimeRangeModal from '../../components/TimeRangeModal/TimeRangeModal';
1110
import TaskTimeItemModel from '../../modules/tasks/models/TaskTimeItemModel';
1211
import { Undefined } from '../../types/CommonTypes';
1312
import TotalHours from './components/TotalHours/TotalHours';
1413
import { mapCurrentNext } from '../../helpers/ArrayHelper';
1514
import { ITimeRangeModel } from '../../modules/tasks/models/TaskModel';
1615
import { msToTime } from '../../helpers/DateTime';
16+
import Header from './components/Header';
1717

1818
const { tasksStore } = rootStore;
1919

@@ -28,7 +28,7 @@ function getDiff(
2828
return '';
2929
}
3030

31-
export default observer(function HoursView() {
31+
export default observer(function HoursScreen() {
3232
const classes = useStyles();
3333
const [date, setDate] = useState<Date>(new Date());
3434
const [currentTaskTime, setCurrentTaskTime] = useState<
@@ -44,7 +44,7 @@ export default observer(function HoursView() {
4444
return (
4545
<Layout className={classes.hours}>
4646
<Space direction="vertical">
47-
<SelectDate date={date} onChange={setDate} />
47+
<Header date={date} setDate={setDate} />
4848
<TotalHours timeItems={timeItems} />
4949
<div className={classes.cards}>
5050
{mapCurrentNext(timeItems, (item, next, index) => (
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import React, { FC } from 'react';
2+
import { observer } from 'mobx-react';
3+
import { Col, Row } from 'antd';
4+
import { createUseStyles } from 'react-jss';
5+
6+
import SelectDate from '../../../components/SelectDate';
7+
import RadioGroupChangeHoursView from './RadioGroupChangeHoursView';
8+
9+
type Props = {
10+
date: Date;
11+
setDate(date: Date): void;
12+
};
13+
14+
const Header: FC<Props> = ({ date, setDate }: Props) => {
15+
const classes = useStyles();
16+
17+
return (
18+
<Row className={classes.main}>
19+
<Col span={8} offset={8} className={classes.alignCenter}>
20+
<SelectDate date={date} onChange={setDate} />
21+
</Col>
22+
<Col span={8} className={classes.alignRight}>
23+
<RadioGroupChangeHoursView onChange={(_option) => {}} />
24+
</Col>
25+
</Row>
26+
);
27+
};
28+
29+
export default observer(Header);
30+
31+
const useStyles = createUseStyles({
32+
main: {
33+
flex: 1,
34+
},
35+
alignCenter: {
36+
display: 'flex',
37+
justifyContent: 'center',
38+
},
39+
alignRight: {
40+
display: 'flex',
41+
justifyContent: 'flex-end',
42+
},
43+
});
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import React, { FC } from 'react';
2+
import { CheckboxOptionType } from 'antd/lib/checkbox/Group';
3+
import { AppstoreOutlined, BuildOutlined } from '@ant-design/icons';
4+
import { Radio } from 'antd';
5+
import { observer } from 'mobx-react';
6+
7+
enum Options {
8+
Edit,
9+
Timeline,
10+
}
11+
12+
const ICON_STYLE = { fontSize: '20px' };
13+
14+
const options: CheckboxOptionType[] = [
15+
{ label: <AppstoreOutlined style={ICON_STYLE} />, value: Options.Edit },
16+
{ label: <BuildOutlined style={ICON_STYLE} />, value: Options.Timeline },
17+
];
18+
19+
type Props = {
20+
onChange(val: Options): void;
21+
};
22+
23+
const RadioGroupChangeHoursView: FC<Props> = () => {
24+
return (
25+
<Radio.Group options={options} optionType="button" buttonStyle="solid" />
26+
);
27+
};
28+
29+
export default observer(RadioGroupChangeHoursView);

0 commit comments

Comments
 (0)