Routing, Navigation, Styles

This commit is contained in:
Belén Curcio
2018-09-27 11:44:02 -03:00
parent 708bfe17a3
commit 2c66143d39
9 changed files with 66 additions and 56 deletions
+4
View File
@@ -0,0 +1,4 @@
.root {
width: 1080px;
margin: 0 auto;
}
+8 -5
View File
@@ -1,12 +1,15 @@
import React, { StatelessComponent } from "react";
import { HorizontalGutter } from "talk-ui/components";
import NavigationContainer from "../containers/NavigationContainer";
import styles from "./App.css";
import Navigation from "./Navigation";
const App: StatelessComponent = ({ children }) => (
<HorizontalGutter>
<NavigationContainer />
{children}
</HorizontalGutter>
<div className={styles.root}>
<HorizontalGutter>
<Navigation />
{children}
</HorizontalGutter>
</div>
);
export default App;
@@ -1,8 +1,10 @@
import React, { StatelessComponent } from "react";
import { HorizontalGutter } from "talk-ui/components";
import { HorizontalGutter, Typography } from "talk-ui/components";
const Community: StatelessComponent = ({ children }) => (
<HorizontalGutter>Community</HorizontalGutter>
<HorizontalGutter>
<Typography variant="heading3">Community</Typography>
</HorizontalGutter>
);
export default Community;
@@ -1,8 +1,10 @@
import React, { StatelessComponent } from "react";
import { HorizontalGutter } from "talk-ui/components";
import { HorizontalGutter, Typography } from "talk-ui/components";
const Configure: StatelessComponent = ({ children }) => (
<HorizontalGutter>Configure</HorizontalGutter>
<HorizontalGutter>
<Typography variant="heading3">Configure</Typography>
</HorizontalGutter>
);
export default Configure;
@@ -1,8 +1,10 @@
import React, { StatelessComponent } from "react";
import { HorizontalGutter } from "talk-ui/components";
import { HorizontalGutter, Typography } from "talk-ui/components";
const Moderate: StatelessComponent = ({ children }) => (
<HorizontalGutter>Moderate</HorizontalGutter>
<HorizontalGutter>
<Typography variant="heading3">Moderate</Typography>
</HorizontalGutter>
);
export default Moderate;
@@ -0,0 +1,7 @@
.link {
text-decoration: none;
}
.active {
border-bottom: 3px solid var(--palette-primary-main);
}
+31 -17
View File
@@ -1,25 +1,39 @@
import { Link } from "found";
import React, { StatelessComponent } from "react";
import { Button, Flex, Typography } from "talk-ui/components";
import styles from "./Navigation.css";
export interface AppProps {
goToModerate: () => void;
goToCommunity: () => void;
goToStories: () => void;
goToConfigure: () => void;
}
const Navigation: StatelessComponent<AppProps> = ({
goToModerate,
goToCommunity,
goToStories,
goToConfigure,
}) => (
const Navigation: StatelessComponent = () => (
<Flex itemGutter="double">
<Typography variant="heading1">Talk</Typography>
<Button onClick={goToModerate}>Moderate</Button>
<Button onClick={goToCommunity}>Community</Button>
<Button onClick={goToStories}>Stories</Button>
<Button onClick={goToConfigure}>Configure</Button>
<Link
to="/admin/moderate"
className={styles.link}
activeClassName={styles.active}
>
<Button>Moderate</Button>
</Link>
<Link
to="/admin/community"
className={styles.link}
activeClassName={styles.active}
>
<Button>Community</Button>
</Link>
<Link
to="/admin/stories"
className={styles.link}
activeClassName={styles.active}
>
<Button>Stories</Button>
</Link>
<Link
to="/admin/configure"
className={styles.link}
activeClassName={styles.active}
>
<Button>Configure</Button>
</Link>
</Flex>
);
+4 -2
View File
@@ -1,8 +1,10 @@
import React, { StatelessComponent } from "react";
import { HorizontalGutter } from "talk-ui/components";
import { HorizontalGutter, Typography } from "talk-ui/components";
const Stories: StatelessComponent = ({ children }) => (
<HorizontalGutter>Stories</HorizontalGutter>
<HorizontalGutter>
<Typography variant="heading3">Stories</Typography>
</HorizontalGutter>
);
export default Stories;
@@ -1,26 +0,0 @@
import { Router, withRouter } from "found";
import React, { Component } from "react";
import Navigation from "../components/Navigation";
interface NavigationContainerProps {
router: Router;
}
class NavigationContainer extends Component<NavigationContainerProps> {
private goToModerate = () => this.props.router.replace("/admin/moderate");
private goToCommunity = () => this.props.router.replace("/admin/community");
private goToStories = () => this.props.router.replace("/admin/stories");
private goToConfigure = () => this.props.router.replace("/admin/configures");
public render() {
return (
<Navigation
goToModerate={this.goToModerate}
goToCommunity={this.goToCommunity}
goToStories={this.goToStories}
goToConfigure={this.goToConfigure}
/>
);
}
}
export default withRouter(NavigationContainer);