@@ -21,6 +21,7 @@ import BusinessesContainer from './containers/BusinessesContainer'
2121import ProductNew from './components/products/ProductNew'
2222import ProductEdit from './components/products/ProductEdit'
2323import ProductColorNew from './components/products/ProductColorNew'
24+ import Colors from './components/products/Colors'
2425import 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