Skip to content

Commit 7d3e52c

Browse files
Update routes to search for product instead of get from route
1 parent a6c806f commit 7d3e52c

File tree

1 file changed

+13
-17
lines changed

1 file changed

+13
-17
lines changed

src/App.js

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import BusinessesContainer from './containers/BusinessesContainer'
2121
import ProductNew from './components/products/ProductNew'
2222
import ProductEdit from './components/products/ProductEdit'
2323
import ProductColorNew from './components/products/ProductColorNew'
24+
import Colors from './components/products/Colors'
2425
import ProductColorEdit from './components/products/ProductColorEdit'
2526

2627

@@ -33,12 +34,7 @@ class App extends Component {
3334

3435
render() {
3536
const { businesses } = this.props;
36-
// console.log("app businesses", businesses)
37-
3837
const { products } = this.props;
39-
const { colors } = this.props;
40-
// console.log("app products", products)
41-
4238

4339

4440
return (
@@ -59,47 +55,48 @@ class App extends Component {
5955
<Route exact path='/businesses' component={BusinessesContainer} />
6056
<Route exact path='/businesses/:id' render={props => {
6157
const business = businesses.businesses.find(business => business.id === props.match.params.id)
62-
console.log("app business props", business)
58+
// console.log("app business props", business)
6359
return <BusinessProducts business={business} {...props} />
6460
}
6561
}/>
6662

6763
<Route exact path='/businesses/:id/edit' render={props => {
6864
const business = businesses.businesses.find(business => business.id === props.match.params.id)
69-
// console.log("business props", business)
7065
return <BusinessEdit business={business} {...props} />
7166
}
7267
}/>
7368

7469
<Route exact path ='/businesses/:id/products/new' component={ProductNew} />
7570

7671
<Route exact path ='/businesses/:id/products/:id' render={props => {
77-
const businessId = props.match.url[12] + props.match.url[13]
78-
const business = businesses.businesses.find(business => business.id === businessId )
79-
const product = business ? business.attributes.products.filter(product => product.id === parseInt(props.match.params.id) )[0] : null
72+
const products = businesses.businesses.map(business => business.attributes.products).flat()
73+
const product = products ? products.filter(product => product.id === parseInt(props.match.params.id))[0] : null
8074
return <BusinessProduct product={product} {...props} />
8175
}
8276
} />
8377

8478

8579
<Route exact path ='/businesses/:id/products/:id/edit' render={props => {
86-
const businessId = props.match.url[12] + props.match.url[13]
87-
const business = businesses.businesses.find(business => business.id === businessId )
88-
const product = business ? business.attributes.products.filter(product => product.id === parseInt(props.match.params.id) )[0] : null
80+
const products = businesses.businesses.map(business => business.attributes.products).flat()
81+
const product = products ? products.filter(product => product.id === parseInt(props.match.params.id))[0] : null
8982
return <ProductEdit product={product} {...props} />
9083
}
9184
} />
9285

86+
87+
<Route exact path ='/products/:id/colors' component={Colors} />
88+
9389
<Route exact path='/products/:id/colors/new' render={props => {
9490
const product = products.products.find(product => product.id === props.match.params.id)
9591
return <ProductColorNew product={product} {...props} />
9692
}
9793
}/>
9894

9995
<Route exact path='/products/:id/colors/:id/edit' render={props => {
100-
const productId = props.match.url[10] + props.match.url[11]
101-
const product = products.products.find(product => product.id === productId)
102-
return <ProductColorEdit productId={product} {...props} />
96+
// debugger;
97+
const colors = products.products.map(product => product.attributes.colors).flat()
98+
const color = colors? colors.filter(p => p.color_id === parseInt(props.match.params.id))[0] :null
99+
return <ProductColorEdit color={color} {...props} />
103100
}
104101
}/>
105102

@@ -116,7 +113,6 @@ const mapStateToProps = state => {
116113
return {
117114
businesses: state.businessReducer,
118115
products: state.productReducer,
119-
colors: state.colorReducer,
120116
};
121117
}
122118

0 commit comments

Comments
 (0)