11const menuEmail = document . querySelector ( '.navbar-email' ) ;
22const menuHamIcon = document . querySelector ( '.menu' ) ;
33const menuCarritoIcon = document . querySelector ( '.navbar-shopping-cart' ) ;
4+ const productDetailCloseIcon = document . querySelector ( '.product-detail-close' )
45const desktopMenu = document . querySelector ( '.desktop-menu' ) ;
56const mobileMenu = document . querySelector ( '.mobile-menu' ) ;
67const shoppingCartContainer = document . querySelector ( '#shoppingCartContainer' ) ;
8+ const productDetailContainer = document . querySelector ( '#productDetail' ) ;
79const cardsContainer = document . querySelector ( '.cards-container' ) ;
810
911menuEmail . addEventListener ( 'click' , toggleDesktopMenu ) ;
1012menuHamIcon . addEventListener ( 'click' , toggleMobileMenu ) ;
1113menuCarritoIcon . addEventListener ( 'click' , toggleCarritoAside ) ;
14+ productDetailCloseIcon . addEventListener ( 'click' , closeProductDetailAside ) ;
1215
1316function toggleDesktopMenu ( ) {
1417 const isAsideClosed = shoppingCartContainer . classList . contains ( 'inactive' ) ;
@@ -26,6 +29,8 @@ function toggleMobileMenu() {
2629 if ( ! isAsideClosed ) {
2730 shoppingCartContainer . classList . add ( 'inactive' ) ;
2831 }
32+
33+ closeProductDetailAside ( ) ;
2934
3035 mobileMenu . classList . toggle ( 'inactive' ) ;
3136}
@@ -34,12 +39,27 @@ function toggleCarritoAside() {
3439 const isMobileMenuClosed = mobileMenu . classList . contains ( 'inactive' ) ;
3540
3641 if ( ! isMobileMenuClosed ) {
37- mobileMenu . classList . add ( 'inactive' ) ;
42+ mobileMenu . classList . add ( 'inactive' ) ;
43+ }
44+
45+ const isProductDetailClosed = productDetailContainer . classList . contains ( 'inactive' ) ;
46+
47+ if ( ! isProductDetailClosed ) {
48+ productDetailContainer . classList . add ( 'inactive' ) ;
3849 }
3950
4051 shoppingCartContainer . classList . toggle ( 'inactive' ) ;
4152}
4253
54+ function openProductDetailAside ( ) {
55+ shoppingCartContainer . classList . add ( 'inactive' ) ;
56+ productDetailContainer . classList . remove ( 'inactive' ) ;
57+ }
58+
59+ function closeProductDetailAside ( ) {
60+ productDetailContainer . classList . add ( 'inactive' ) ;
61+ }
62+
4363const productList = [ ] ;
4464productList . push ( {
4565 name : 'Bike' ,
@@ -65,6 +85,7 @@ function renderProducts(arr) {
6585 // product= {name, price, image} -> product.image
6686 const productImg = document . createElement ( 'img' ) ;
6787 productImg . setAttribute ( 'src' , product . image ) ;
88+ productImg . addEventListener ( 'click' , openProductDetailAside ) ;
6889
6990 const productInfo = document . createElement ( 'div' ) ;
7091 productInfo . classList . add ( 'product-info' ) ;
0 commit comments