Skip to content

Commit f3bb41b

Browse files
committed
[Header] Refactoring
1 parent 9be2931 commit f3bb41b

File tree

3 files changed

+35
-21
lines changed

3 files changed

+35
-21
lines changed

src/components/Header/Header.tsx

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import React from 'react';
2+
import { Link } from 'react-router-dom';
3+
import { Layout } from 'antd';
4+
import { observer } from 'mobx-react';
5+
6+
import HeaderLink from '../HeaderLink/HeaderLink';
7+
import Profile from '../Profile/Profile';
8+
import TaskControl from '../TaskControl/TaskControl';
9+
10+
const { Header: HeaderBase } = Layout;
11+
12+
function Header() {
13+
return (
14+
<HeaderBase>
15+
<HeaderLink>
16+
<Link to="/hours">Hours</Link>
17+
</HeaderLink>
18+
<HeaderLink>
19+
<Link to="/projects">Projects</Link>
20+
</HeaderLink>
21+
<HeaderLink>
22+
<Link to="/dashboard">Dashboard</Link>
23+
</HeaderLink>
24+
<span className="flex-1" />
25+
<TaskControl />
26+
<Profile />
27+
</HeaderBase>
28+
);
29+
}
30+
31+
export default observer(Header);
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ interface HeaderMenuProps {
66
children: React.ReactNode;
77
}
88

9-
export default observer(function HeaderMenu({ children }: HeaderMenuProps) {
9+
export default observer(function HeaderLink({ children }: HeaderMenuProps) {
1010
const classes = useStyles();
1111

1212
return <span className={classes.root}>{children}</span>;

src/screens/Main.tsx

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
11
import React, { useEffect } from 'react';
2-
import { Route, Switch, Link, Redirect, useLocation } from 'react-router-dom';
2+
import { Route, Switch, Redirect, useLocation } from 'react-router-dom';
33
import { Layout } from 'antd';
44

55
import ProjectsScreen from './projects/ProjectsScreen';
6-
import TaskControl from '../components/TaskControl/TaskControl';
7-
import HeaderMenu from '../components/HeaderMenu/HeaderMenu';
86
import HoursScreen from './hours/HoursScreen';
97
import Dashboard from './dashboard/Dashboard';
10-
import Profile from '../components/Profile/Profile';
118
import GaService from '../services/gaService/GaService';
12-
13-
const { Header } = Layout;
9+
import Header from '../components/Header/Header';
1410

1511
const Main = () => {
1612
const location = useLocation();
@@ -25,20 +21,7 @@ const Main = () => {
2521

2622
return (
2723
<Layout className="layout">
28-
<Header>
29-
<HeaderMenu>
30-
<Link to="/hours">Hours</Link>
31-
</HeaderMenu>
32-
<HeaderMenu>
33-
<Link to="/projects">Projects</Link>
34-
</HeaderMenu>
35-
<HeaderMenu>
36-
<Link to="/dashboard">Dashboard</Link>
37-
</HeaderMenu>
38-
<span className="flex-1" />
39-
<TaskControl />
40-
<Profile />
41-
</Header>
24+
<Header />
4225
<Switch>
4326
<Route path="/hours" component={HoursScreen} />
4427
<Route path="/projects" component={ProjectsScreen} />

0 commit comments

Comments
 (0)