Skip to content

Commit

Permalink
switched to react-router@3.0.2
Browse files Browse the repository at this point in the history
  • Loading branch information
ashokdey committed Jul 31, 2017
1 parent 927bfed commit e211ea6
Show file tree
Hide file tree
Showing 10 changed files with 1,050 additions and 882 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@
"react-bootstrap": "^0.31.1",
"react-dom": "^15.6.1",
"react-redux": "^5.0.5",
"react-router-dom": "^4.1.2"
"react-router": "^3.0.2"
}
}
1,711 changes: 919 additions & 792 deletions public/static/bundle.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions public/static/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,5 @@ body {

.footer {
font-weight: bold;
margin-top: 130px;
}
36 changes: 16 additions & 20 deletions src/app.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,10 @@ import {postBook, deleteBook, updateBook} from 'bookActions';
import React from 'react';
import ReactDOM from 'react-dom';
import {Provider} from 'react-redux';
import {BrowserRouter as Router, Route, } from 'react-router-dom';
import {Router, Route, IndexRoute, browserHistory} from 'react-router';

// custom components
import Navigation from 'Navigation';
import Footer from 'Footer';
import Main from 'Main';
import About from 'About';
import Contact from 'Contact';
import BookList from 'BookList';
Expand All @@ -39,21 +38,18 @@ store.subscribe(() => {


// REACT Rendering here

ReactDOM.render(
const Routes = (
<Provider store={store}>
<div>
<Router>
<div>
<Route path="/" component={Navigation}/>
<Route exact path="/" component={BookList}/>
<Route path="/about" component={About}/>
<Route path="/contact" component={Contact}/>
<Route path="/cart" component={Cart}/>
<Route path="/admin" component={BookForm}/>
<Route path="/" component={Footer}/>
</div>
</Router>
</div>
</Provider>,
document.getElementById('app'));
<Router history={browserHistory}>
<Route path="/" component={Main}>
<IndexRoute component={BookList} />
<Route path="/about" component={About} />
<Route path="/contact" component={Contact} />
<Route path="/admin" component={BookForm} />
<Route path="/cart" component={Cart} />
</Route>
</Router>
</Provider>
);

ReactDOM.render(Routes, document.getElementById('app'));
2 changes: 1 addition & 1 deletion src/components/Footer.jsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React, {Component} from 'react';

const Footer = () => (
<footer className="footer text-center" style={{marginTop: '50px'}}>
<footer className="footer text-center">
Copyrights &copy; {new Date().getFullYear() } || ReactUniversal ShoppingApp
</footer>
)
Expand Down
36 changes: 36 additions & 0 deletions src/components/Main.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import React, {Component} from 'react';
import Navigation from 'Navigation';
import Footer from 'Footer';

import {connect} from 'react-redux';
import {bindActionCreators} from 'redux';
import {getCart} from 'cartActions';



class Main extends Component {
render() {
return(
<div>
<Navigation cartItems={this.props.totalQuantity} />
{this.props.children}
<Footer />
</div>
);
}
}


function mapStateToProps(state) {
return {
totalQuantity: state.cart.totalQuantity
}
}

function mapDispatchToProps(dispatch) {
return bindActionCreators({
getCart
}, dispatch);
}

export default connect(mapStateToProps)(Main);
52 changes: 30 additions & 22 deletions src/components/Navigation.jsx
Original file line number Diff line number Diff line change
@@ -1,28 +1,36 @@
import React, {Component} from 'react';
import {Nav, NavItem, Navbar, Badge} from 'react-bootstrap';

const Navigation = () => (
<Navbar inverse fixedTop>
<Navbar.Header>
<Navbar.Brand>
<a href="/">ReactUniversalShopping</a>
</Navbar.Brand>
<Navbar.Toggle />
</Navbar.Header>
<Navbar.Collapse>
<Nav>
<NavItem eventKey={1} href="/about">About</NavItem>
<NavItem eventKey={2} href="/contact">Contact</NavItem>
</Nav>
<Nav pullRight>
<NavItem eventKey={1} href="/admin">Admin</NavItem>
<NavItem eventKey={2} href="cart">
Your Cart <Badge className="badge">4</Badge>
</NavItem>
</Nav>
</Navbar.Collapse>
</Navbar>
);


class Navigation extends Component {

render(){
return (
<Navbar inverse fixedTop>
<Navbar.Header>
<Navbar.Brand>
<a href="/">ReactUniversalShoppingApp</a>
</Navbar.Brand>
<Navbar.Toggle />
</Navbar.Header>
<Navbar.Collapse>
<Nav>
<NavItem eventKey={1} href="/about">About</NavItem>
<NavItem eventKey={2} href="/contact">Contact</NavItem>
</Nav>
<Nav pullRight>
<NavItem eventKey={1} href="/admin">Admin</NavItem>
<NavItem eventKey={2} href="/cart">
Your Cart <Badge className="badge">{this.props.cartItems}</Badge>
</NavItem>
</Nav>
</Navbar.Collapse>
</Navbar>
);
}
}



export default Navigation;
85 changes: 44 additions & 41 deletions src/components/pages/BookForm.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React, {Component} from 'react';
import {Well, Panel, FormControl, FormGroup, ControlLabel, Button} from 'react-bootstrap';
import {Well, Panel, FormControl, FormGroup, ControlLabel, Button, Row, Col} from 'react-bootstrap';
// to get input from react-bootstrap we need to import findDOMNode from react-dom
import {findDOMNode} from 'react-dom';
import {connect} from 'react-redux';
Expand Down Expand Up @@ -32,46 +32,49 @@ class BookForm extends Component {
));

return (
<Well>
<Panel>
<FormGroup controlId="title">
<ControlLabel>Title</ControlLabel>
<FormControl
type="text"
placeholder="Enter Title"
ref="title"
/>
</FormGroup>
<FormGroup controlId="description">
<ControlLabel>Description</ControlLabel>
<FormControl
type="text"
placeholder="Enter Description"
ref="description"
/>
</FormGroup>
<FormGroup controlId="price">
<ControlLabel>Price</ControlLabel>
<FormControl
type="text"
placeholder="Enter Price"
ref="price"
/>
</FormGroup>
<Button onClick={this._handleSubmit.bind(this)} bsStyle="primary">Add Book</Button>
</Panel>

<Panel style={{marginTop: '25px'}}>
<FormGroup controlId="formControlSelect">
<ControlLabel>Select a book title to delete</ControlLabel>
<FormControl ref="deleteTitle" componentClass="select" placeholder="Select">
<option value="Select">Select</option>
{bookList}
</FormControl>
</FormGroup>
<Button onClick={this._deleteBook.bind(this)} bsStyle="danger">Delete Book</Button>
</Panel>
</Well>
<Row style={{marginTop: '85px'}}>
<Col xs={12} sm={6} mdOffset={3} smOffset={3}>
<Well>
<Panel>
<FormGroup controlId="title">
<ControlLabel>Title</ControlLabel>
<FormControl
type="text"
placeholder="Enter Title"
ref="title"
/>
</FormGroup>
<FormGroup controlId="description">
<ControlLabel>Description</ControlLabel>
<FormControl
type="text"
placeholder="Enter Description"
ref="description"
/>
</FormGroup>
<FormGroup controlId="price">
<ControlLabel>Price</ControlLabel>
<FormControl
type="text"
placeholder="Enter Price"
ref="price"
/>
</FormGroup>
<Button onClick={this._handleSubmit.bind(this)} bsStyle="primary">Add Book</Button>
</Panel>
<Panel style={{marginTop: '25px'}}>
<FormGroup controlId="formControlSelect">
<ControlLabel>Select a book title to delete</ControlLabel>
<FormControl ref="deleteTitle" componentClass="select" placeholder="Select">
<option value="Select">Select</option>
{bookList}
</FormControl>
</FormGroup>
<Button onClick={this._deleteBook.bind(this)} bsStyle="danger">Delete Book</Button>
</Panel>
</Well>
</Col>
</Row>
);
}
}
Expand Down
6 changes: 1 addition & 5 deletions src/components/pages/BookList.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,8 @@ class BookList extends Component {
return (
<Grid>
<Row style={{marginTop: '15px'}}>
<Cart/>
</Row>
<Row style={{marginTop: '15px'}}>
<Col xs={12} sm={6}>
<BookForm/>
</Col>
<Row style={{marginTop: '15px'}}>
{bookList}
</Row>
</Grid>
Expand Down
1 change: 1 addition & 0 deletions webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ module.exports = {
cartActions: path.resolve(__dirname, 'src/actions/cartActions.js'),

// Components here
Main: path.resolve(__dirname, 'src/components/Main.jsx'),
Book: path.resolve(__dirname, 'src/components/pages/Book.jsx'),
BookForm: path.resolve(__dirname, 'src/components/pages/BookForm.jsx'),
BookList: path.resolve(__dirname, 'src/components/pages/BookList.jsx'),
Expand Down

0 comments on commit e211ea6

Please sign in to comment.