front/src/Components/App.js

69 lines
1.9 KiB
JavaScript
Raw Normal View History

2019-04-09 19:39:31 +02:00
import React, { Component, Fragment } from 'react';
2018-11-18 19:03:01 +01:00
import Header from './Header';
2018-11-18 15:47:54 +01:00
import {
BrowserRouter as Router, Route,
Switch,
} from 'react-router-dom';
import Map from '../Routes/Map';
2019-03-16 22:10:41 +01:00
import Search from '../Routes/Search';
import Home from '../Routes/Home';
import Vegetables from '../Routes/Vegetables';
2018-11-21 08:16:11 +01:00
import Vegetable from '../Routes/Vegetable';
2018-11-18 15:47:54 +01:00
class App extends Component {
constructor(props) {
super(props)
this.state = {
background: 1
}
2018-12-02 18:23:42 +01:00
this.changeBackground = this.changeBackground.bind(this);
2018-11-18 15:47:54 +01:00
}
2018-12-02 18:23:42 +01:00
changeBackground(background) {
document.body.style.background = `url('/background/${background}.jpg') no-repeat fixed`;
document.body.style.backgroundSize = 'cover';
document.body.style.backgroundPosition = 'center center';
2018-11-18 15:47:54 +01:00
}
render() {
return (
2019-04-09 19:39:31 +02:00
<Fragment>
2018-11-18 15:47:54 +01:00
<Header></Header>
<Router>
<Switch>
2018-12-02 18:23:42 +01:00
<Route
exact
path="/"
render={(props) => <Home {...props} changeBackground={this.changeBackground} />}
/>
<Route
exact
path="/carte"
render={(props) => <Map {...props} changeBackground={this.changeBackground} />}
/>
2019-03-16 22:10:41 +01:00
<Route
exact
path="/recherche/:query"
render={(props) => <Search {...props} changeBackground={this.changeBackground} />}
/>
2018-12-02 18:23:42 +01:00
<Route
exact
path="/vegetaux/:typeId-:typeSlug"
render={(props) => <Vegetables {...props} changeBackground={this.changeBackground} />}
/>
<Route
exact
path="/vegetaux/:typeId-:typeSlug/:vegetableId-:vegetableSlug"
render={(props) => <Vegetable {...props} changeBackground={this.changeBackground} />}
/>
2018-11-18 15:47:54 +01:00
</Switch>
</Router>
2019-04-09 19:39:31 +02:00
</Fragment>
2018-11-18 15:47:54 +01:00
);
}
}
export default App;