[ ADD ] react configuration

This commit is contained in:
Kuroi488
2020-11-16 17:14:34 +01:00
parent 89c9cfe099
commit 5078a1a96e
71 changed files with 16891 additions and 0 deletions

View 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);

View File

@ -0,0 +1 @@
@import '../scss/base.scss';

View 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);

View 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;