Skip to content

Commit 3d1cd23

Browse files
committed
#2 setup redux store
1 parent 6886d45 commit 3d1cd23

File tree

17 files changed

+502
-202
lines changed

17 files changed

+502
-202
lines changed

package-lock.json

Lines changed: 345 additions & 164 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,14 @@
1111
"dependencies": {
1212
"@material-ui/core": "latest",
1313
"@material-ui/icons": "^4.9.1",
14+
"axios": "^0.19.2",
1415
"react": "latest",
1516
"react-dom": "^16.13.1",
17+
"react-redux": "^7.2.0",
1618
"react-router-dom": "^5.2.0",
17-
"react-scripts": "latest"
19+
"react-scripts": "latest",
20+
"redux": "^4.0.5",
21+
"redux-thunk": "^2.3.0"
1822
},
1923
"browserslist": {
2024
"production": [

src/App.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
//Library
12
import React,{Component} from 'react';
2-
import Main from './components/MainComponent';
33
import {BrowserRouter} from 'react-router-dom';
44

5+
//Our Code
6+
import Main from './components/MainComponent';
57
class App extends Component {
68

79
render(){
@@ -11,7 +13,7 @@ class App extends Component {
1113
</BrowserRouter>
1214
);
1315
}
14-
16+
1517
}
1618

1719
export default App;

src/actions/authActions.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
export const USER_LOADED = 'USER_LOADED';
2+
export const LOGIN_SUCCESS = 'LOGIN_SUCCESS'
3+
4+
export function authenticateUser (user) {
5+
return{
6+
type: USER_LOADED,
7+
user
8+
}
9+
}
10+
11+
export function handleAuthenticateUser (user) {
12+
return (dispatch) => {
13+
14+
}
15+
}
16+
17+
export function loginUser (user) {
18+
return {
19+
type: LOGIN_SUCCESS,
20+
user,
21+
}
22+
}

src/actions/errorActions.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
export const GET_ERRORS = 'GET_ERRORS'
2+
export const CLEAR_ERRORS = 'CLEAR_ERRORS'
3+
4+
export function getErrors (errors) {
5+
return {
6+
type: GET_ERRORS,
7+
errors,
8+
}
9+
}

src/actions/userActions.js

Whitespace-only changes.

src/components/MainComponent.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import SignIn from './SignIn';
77

88
class Main extends Component {
99

10-
1110
render() {
1211

1312
return (

src/components/SignIn.js

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
import React from 'react';
2-
import Avatar from '@material-ui/core/Avatar';
3-
import Button from '@material-ui/core/Button';
4-
import CssBaseline from '@material-ui/core/CssBaseline';
5-
import TextField from '@material-ui/core/TextField';
6-
import FormControlLabel from '@material-ui/core/FormControlLabel';
7-
import Checkbox from '@material-ui/core/Checkbox';
8-
import Link from '@material-ui/core/Link';
9-
import Grid from '@material-ui/core/Grid';
10-
import Box from '@material-ui/core/Box';
11-
import LockOutlinedIcon from '@material-ui/icons/LockOutlined';
12-
import Typography from '@material-ui/core/Typography';
13-
import { makeStyles } from '@material-ui/core/styles';
14-
import Container from '@material-ui/core/Container';
1+
import React from 'react'
2+
import Avatar from '@material-ui/core/Avatar'
3+
import Button from '@material-ui/core/Button'
4+
import CssBaseline from '@material-ui/core/CssBaseline'
5+
import TextField from '@material-ui/core/TextField'
6+
import FormControlLabel from '@material-ui/core/FormControlLabel'
7+
import Checkbox from '@material-ui/core/Checkbox'
8+
import Link from '@material-ui/core/Link'
9+
import Grid from '@material-ui/core/Grid'
10+
import Box from '@material-ui/core/Box'
11+
import LockOutlinedIcon from '@material-ui/icons/LockOutlined'
12+
import Typography from '@material-ui/core/Typography'
13+
import { makeStyles } from '@material-ui/core/styles'
14+
import Container from '@material-ui/core/Container'
1515

16-
function Copyright() {
16+
function Copyright () {
1717
return (
1818
<Typography variant="body2" color="textSecondary" align="center">
1919
{'Copyright © '}
@@ -23,7 +23,7 @@ function Copyright() {
2323
{new Date().getFullYear()}
2424
{'.'}
2525
</Typography>
26-
);
26+
)
2727
}
2828

2929
const useStyles = makeStyles((theme) => ({
@@ -44,17 +44,17 @@ const useStyles = makeStyles((theme) => ({
4444
submit: {
4545
margin: theme.spacing(3, 0, 2),
4646
},
47-
}));
47+
}))
4848

49-
export default function SignIn() {
50-
const classes = useStyles();
49+
const SignIn = () => {
50+
const classes = useStyles()
5151

5252
return (
5353
<Container component="main" maxWidth="xs">
54-
<CssBaseline />
54+
<CssBaseline/>
5555
<div className={classes.paper}>
5656
<Avatar className={classes.avatar}>
57-
<LockOutlinedIcon />
57+
<LockOutlinedIcon/>
5858
</Avatar>
5959
<Typography component="h1" variant="h5">
6060
Sign in
@@ -83,7 +83,7 @@ export default function SignIn() {
8383
autoComplete="current-password"
8484
/>
8585
<FormControlLabel
86-
control={<Checkbox value="remember" color="primary" />}
86+
control={<Checkbox value="remember" color="primary"/>}
8787
label="Remember me"
8888
/>
8989
<Button
@@ -103,15 +103,17 @@ export default function SignIn() {
103103
</Grid>
104104
<Grid item>
105105
<Link href="#" variant="body2">
106-
{"Don't have an account? Sign Up"}
106+
{'Don\'t have an account? Sign Up'}
107107
</Link>
108108
</Grid>
109109
</Grid>
110110
</form>
111111
</div>
112112
<Box mt={8}>
113-
<Copyright />
113+
<Copyright/>
114114
</Box>
115115
</Container>
116-
);
116+
)
117117
}
118+
119+
export default SignIn

src/index.js

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,22 @@
1-
import React from 'react';
2-
import ReactDOM from 'react-dom';
3-
import CssBaseline from '@material-ui/core/CssBaseline';
4-
import { ThemeProvider } from '@material-ui/core/styles';
5-
import App from './App';
6-
import theme from './theme';
1+
//Library Import
2+
import React from 'react'
3+
import ReactDOM from 'react-dom'
4+
import CssBaseline from '@material-ui/core/CssBaseline'
5+
import { ThemeProvider } from '@material-ui/core/styles'
6+
import theme from './theme'
7+
import store from './store'
8+
import { Provider } from 'react-redux'
9+
10+
//Our Code Import
11+
import App from './App'
712

813
ReactDOM.render(
914
<ThemeProvider theme={theme}>
1015
{/* CssBaseline kickstart an elegant, consistent, and simple baseline to build upon. */}
11-
<CssBaseline />
12-
<App />
16+
<CssBaseline/>
17+
<Provider store={store}>
18+
<App/>
19+
</Provider>
1320
</ThemeProvider>,
1421
document.querySelector('#root'),
15-
);
22+
)

src/middlewares/index.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import logger from './logger';
2+
import thunk from 'redux-thunk';
3+
import {applyMiddleware} from 'redux';
4+
5+
export default applyMiddleware(
6+
thunk,
7+
logger,
8+
);

0 commit comments

Comments
 (0)