1- const navbarEmail = document . querySelector ( '.navbar-email' )
2- const desktopMenu = document . querySelector ( '.desktop-menu' )
1+ const navbarEmail = document . querySelector ( '.navbar-email' ) ;
2+ const desktopMenu = document . querySelector ( '.desktop-menu' ) ;
3+ const menuHamIcon = document . querySelector ( '.menu' ) ;
4+ const mobileMenu = document . querySelector ( '.mobile-menu' ) ;
5+ const menuCarritoIcon = document . querySelector ( '.navbar-shopping-cart' ) ;
6+ const aside = document . querySelector ( '.product-detail' ) ;
7+ const cardsContainer = document . querySelector ( '.cards-container' ) ;
8+
9+
10+ navbarEmail . addEventListener ( 'click' , toggleDesktopMenu ) ;
11+ menuHamIcon . addEventListener ( 'click' , toggleMobileMenu ) ;
12+ menuCarritoIcon . addEventListener ( 'click' , toggleCarritoMenu ) ;
313
4- navbarEmail . addEventListener ( 'click' , toggleDesktopMenu )
514
615function toggleDesktopMenu ( ) {
16+ const isAsideClose2 = aside . classList . contains ( 'inactive' ) ;
17+ if ( ! isAsideClose2 ) {
18+ aside . classList . add ( 'inactive' ) ;
19+ }
720 desktopMenu . classList . toggle ( 'inactive' ) ;
8- }
21+ }
22+ function toggleMobileMenu ( ) {
23+ const isAsideClose = aside . classList . contains ( 'inactive' ) ;
24+ if ( ! isAsideClose ) {
25+ aside . classList . add ( 'inactive' ) ;
26+ }
27+ mobileMenu . classList . toggle ( 'inactive' ) ;
28+ }
29+ function toggleCarritoMenu ( ) {
30+ const isMobileMenuClose = mobileMenu . classList . contains ( 'inactive' ) ;
31+ const isDesktopMenuClose = desktopMenu . classList . contains ( 'inactive' ) ;
32+ if ( ! isMobileMenuClose ) {
33+ mobileMenu . classList . add ( 'inactive' ) ;
34+ } else if ( ! isDesktopMenuClose ) {
35+ desktopMenu . classList . add ( 'inactive' ) ;
36+ }
37+ aside . classList . toggle ( 'inactive' ) ;
38+ }
39+
40+ const productList = [ ]
41+ productList . push ( {
42+ name :'bike' ,
43+ price : 120 ,
44+ image : 'https://images.pexels.com/photos/276517/pexels-photo-276517.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940' ,
45+
46+ } ) ;
47+ productList . push ( {
48+ name :'Pantalla' ,
49+ price : 120 ,
50+ image : 'https://images.pexels.com/photos/276517/pexels-photo-276517.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940' ,
51+
52+ } ) ;
53+ productList . push ( {
54+ name :'CPU' ,
55+ price : 120 ,
56+ image : 'https://images.pexels.com/photos/276517/pexels-photo-276517.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940' ,
57+
58+ } ) ;
59+
60+ function renderProduct ( arr ) {
61+ for ( product of arr ) {
62+ const productCard = document . createElement ( 'div' ) ;
63+ productCard . classList . add ( 'product-card' ) ;
64+ const productImge = document . createElement ( 'img' ) ;
65+ productImge . setAttribute ( 'src' , product . image ) ;
66+ const productInfo = document . createElement ( 'div' ) ;
67+ productInfo . classList . add ( 'product-info' ) ;
68+ const productInfoDiv = document . createElement ( 'div' ) ;
69+ const productPrice = document . createElement ( 'p' ) ;
70+ productPrice . innerText = '$' + product . price ;
71+ const productName = document . createElement ( 'p' ) ;
72+ productName . innerText = product . name ;
73+ productInfoDiv . appendChild ( productPrice ) ;
74+ productInfoDiv . appendChild ( productName ) ;
75+
76+ const productInfoFigure = document . createElement ( 'figure' ) ;
77+ const productImg = document . createElement ( 'img' ) ;
78+ productImg . setAttribute ( 'src' , './icons/bt_add_to_cart.svg' ) ;
79+ productInfoFigure . appendChild ( productImg ) ;
80+ productInfo . appendChild ( productInfoDiv ) ;
81+ productInfo . appendChild ( productInfoFigure ) ;
82+
83+ productCard . appendChild ( productImge ) ;
84+ productCard . appendChild ( productInfo ) ;
85+
86+ cardsContainer . appendChild ( productCard ) ;
87+ }
88+ }
89+ renderProduct ( productList ) ;
0 commit comments