[ ADD ] react configuration
This commit is contained in:
40
react/src/containers/App.js
Normal file
40
react/src/containers/App.js
Normal file
@ -0,0 +1,40 @@
|
||||
import React from "react";
|
||||
import Navbar from "../components/Navbar/Navbar";
|
||||
import { Router } from "react-router-dom";
|
||||
import history from "../routes/History";
|
||||
import Routes from "../routes/Routes";
|
||||
import { IntlProvider } from "react-intl";
|
||||
import messages from "../assets/Local/messages";
|
||||
import { MaterialSnackbar } from "../components/Snackbar/Snackbar";
|
||||
import Loader from "../components/Loader/Loader";
|
||||
import "./App.scss";
|
||||
import { connect } from "react-redux";
|
||||
|
||||
class App extends React.Component {
|
||||
// App contains routes and also wrapped with snackbar and intl for localization
|
||||
render() {
|
||||
const { lang , loading } = this.props;
|
||||
return (
|
||||
<IntlProvider locale={lang} messages={messages[lang]}>
|
||||
<div
|
||||
className={lang === "ar" ? "rtl" : "ltr"}
|
||||
dir={lang === "ar" ? "rtl" : "ltr"}
|
||||
>
|
||||
{loading ? <Loader /> : null}
|
||||
<Router history={history}>
|
||||
<MaterialSnackbar />
|
||||
<Navbar />
|
||||
{Routes}
|
||||
</Router>
|
||||
</div>
|
||||
</IntlProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
const mapStateToProps = ({ lang, loading }) => ({
|
||||
lang,
|
||||
loading
|
||||
});
|
||||
|
||||
export default connect(mapStateToProps, null)(App);
|
1
react/src/containers/App.scss
Normal file
1
react/src/containers/App.scss
Normal file
@ -0,0 +1 @@
|
||||
@import '../scss/base.scss';
|
23
react/src/containers/Home/Home.js
Normal file
23
react/src/containers/Home/Home.js
Normal file
@ -0,0 +1,23 @@
|
||||
import React from 'react';
|
||||
import messages from "./../../assets/Local/messages";
|
||||
import { connect } from 'react-redux';
|
||||
|
||||
class Home extends React.Component {
|
||||
render(){
|
||||
const { lang } = this.props;
|
||||
const message = messages[lang]
|
||||
return(
|
||||
<div className="container my-5">
|
||||
<p>{message.home.content}</p>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
const mapStateToProps = (state) => {
|
||||
return {
|
||||
lang : state.lang
|
||||
}
|
||||
}
|
||||
|
||||
export default connect(mapStateToProps,null)(Home);
|
23
react/src/containers/Login/Login.js
Normal file
23
react/src/containers/Login/Login.js
Normal file
@ -0,0 +1,23 @@
|
||||
import React from 'react';
|
||||
import {Btn} from '../../components/Controls/Button/Button';
|
||||
import History from '../../routes/History';
|
||||
class Login extends React.Component {
|
||||
|
||||
// this method is only to trigger route guards , remove and use your own logic
|
||||
handleLogin = () => {
|
||||
localStorage.setItem('token','token');
|
||||
History.push('/')
|
||||
}
|
||||
|
||||
render(){
|
||||
return(
|
||||
<div className="container my-5">
|
||||
<h1>Login Page</h1>
|
||||
<Btn text='Login' handleClick={this.handleLogin}/>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export default Login;
|
Reference in New Issue
Block a user