Skip to content
1 change: 1 addition & 0 deletions curso-frontend-developer-javascript-practico
Submodule curso-frontend-developer-javascript-practico added at 686d8f
23 changes: 13 additions & 10 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,10 @@
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Quicksand:wght@300;500;700&display=swap" rel="stylesheet">

<link rel="stylesheet" href="./styles.css">

<title>YardSale: tienda online de cositas chidas</title>
</head>
<body>
Expand All @@ -19,7 +16,9 @@

<div class="navbar-left">
<img src="./logos/logo_yard_sale.svg" alt="logo" class="logo">



<!--menu responsive para Desktop -->
<ul>
<li>
<a href="/">All</a>
Expand Down Expand Up @@ -68,7 +67,10 @@
</ul>
</div>

<div class="mobile-menu inactive">


<!--menu responsive para celular -->
<div class="mobile-menu ">
<ul>
<li>
<a href="/">CATEGORIES</a>
Expand Down Expand Up @@ -111,9 +113,10 @@
</li>
</ul>
</div>

</nav>

<aside id="shoppingCartContainer" class="inactive">
<aside id="shoppingCartContainer" class="inactive">
<div class="title-container">
<img src="./icons/flechita.svg" alt="arrow">
<p class="title">My order</p>
Expand Down Expand Up @@ -161,6 +164,7 @@
</div>
</aside>


<aside id="productDetail" class="inactive">
<div class="product-detail-close">
<img src="./icons/icon_close.png" alt="close">
Expand All @@ -177,10 +181,11 @@
</div>
</aside>


<section class="main-container">
<div class="cards-container">

<!-- <div class="product-card">
<!-- <div class="product-card">
<img src="https://images.pexels.com/photos/276517/pexels-photo-276517.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="">
<div class="product-info">
<div>
Expand All @@ -192,10 +197,8 @@
</figure>
</div>
</div> -->

</div>
</section>

<script src="./main.js"></script>
</body>
</html>
</html>
51 changes: 35 additions & 16 deletions main.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
const menuEmail = document.querySelector('.navbar-email');
const menuHamIcon = document.querySelector('.menu');
const menuCarritoIcon = document.querySelector('.navbar-shopping-cart');
const productDetailCloseIcon = document.querySelector('.product-detail-close')
const productDetailCloseIcon =document.querySelector('.product-detail-close');

const desktopMenu = document.querySelector('.desktop-menu');
const mobileMenu = document.querySelector('.mobile-menu');
const shoppingCartContainer = document.querySelector('#shoppingCartContainer');
const productDetailContainer = document.querySelector('#productDetail');
const cardsContainer = document.querySelector('.cards-container');
const productDetailContainer =document.querySelector('#productDetail')

menuEmail.addEventListener('click', toggleDesktopMenu);
menuHamIcon.addEventListener('click', toggleMobileMenu);
menuCarritoIcon.addEventListener('click', toggleCarritoAside);
productDetailCloseIcon.addEventListener('click', closeProductDetailAside);
productDetailCloseIcon.addEventListener('click', closeProductDetailAside)

function toggleDesktopMenu() {
const isAsideClosed = shoppingCartContainer.classList.contains('inactive');
Expand All @@ -29,34 +30,34 @@ function toggleMobileMenu() {
if (!isAsideClosed) {
shoppingCartContainer.classList.add('inactive');
}

closeProductDetailAside();

closeProductDetailAside();
mobileMenu.classList.toggle('inactive');
}

function toggleCarritoAside() {
const isMobileMenuClosed = mobileMenu.classList.contains('inactive');

if (!isMobileMenuClosed) {
mobileMenu.classList.add('inactive');
mobileMenu.classList.add('inactive');
}

const isProductDetailClosed = productDetailContainer.classList.contains('inactive');

const isProductDeatilclosed = productDetailContainer.classList.contains('inactive');

if (!isProductDetailClosed) {
if (!isProductDeatilclosed) {
productDetailContainer.classList.add('inactive');
}

shoppingCartContainer.classList.toggle('inactive');
}

function openProductDetailAside() {
shoppingCartContainer.classList.add('inactive');
function openProductDetailAside(){
shoppingCartContainer.classList.add('inactive');

productDetailContainer.classList.remove('inactive');
}

function closeProductDetailAside() {
function closeProductDetailAside(){
productDetailContainer.classList.add('inactive');
}

Expand All @@ -77,16 +78,32 @@ productList.push({
image: 'https://images.pexels.com/photos/276517/pexels-photo-276517.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940',
});

function renderProducts(arr) {
/*<div class="product-card">
<img src="https://images.pexels.com/photos/276517/pexels-photo-276517.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="">
<div class="product-info">
<div>
<p>$120,00</p>
<p>Bike</p>
</div>
<figure>
<img src="./icons/bt_add_to_cart.svg" alt="">
</figure>
</div>
</div>*/



/*codigo encapsulado en función */
function renderProducts(arr){
for (product of arr) {
const productCard = document.createElement('div');
productCard.classList.add('product-card');

// product= {name, price, image} -> product.image
const productImg = document.createElement('img');
productImg.setAttribute('src', product.image);
productImg.addEventListener('click', openProductDetailAside);
productImg.addEventListener('click',openProductDetailAside);

const productInfo = document.createElement('div');
productInfo.classList.add('product-info');

Expand Down Expand Up @@ -114,6 +131,8 @@ function renderProducts(arr) {

cardsContainer.appendChild(productCard);
}


}

renderProducts(productList);
renderProducts(productList)
Loading