+
Resumen de compra
+
+
Costo de tus productos: $0
+
Total con envió a domicilio: $0
+
Total con tarjeta: $0
-
-
-
-
Resumen de compra
-
-
Costo de tus productos: $0
-
Total con envió a domicilio: $0
-
Total con tarjeta: $0
-
-
-
-
-
-
-
-
Pagar es 100% seguro
-
El costo de despacho se calculará en el siguiente paso
-
-
-
Medios de pago disponibles:
-
-
-
-
+
+
Pagar es 100% seguro
+
El costo de despacho se calculará en el siguiente paso
-
-
+
+
Medios de pago disponibles:
+
+
+
+
+
+
diff --git a/docs/js/carrito.js b/docs/js/carrito.js
index 9eb5c48..ccb132a 100644
--- a/docs/js/carrito.js
+++ b/docs/js/carrito.js
@@ -3,7 +3,7 @@ function agregarAlCarrito(producto) {
let carrito = JSON.parse(localStorage.getItem('carrito')) || [];
carrito.push(producto);
localStorage.setItem('carrito', JSON.stringify(carrito));
- alert('Producto agregado al carrito');
+ showNotification('Producto agregado al carrito');
}
// Función para calcular y mostrar el total del carrito
@@ -14,61 +14,42 @@ function calcularTotales(carrito) {
const costoEnvio = 9990; // Costo fijo del envío
carrito.forEach(producto => {
- const cantidad = parseInt(producto.cantidad, 10) || 1; // Definir cantidad en 1 si es inválido
- const precio = parseFloat(producto.precioFinal.replace('$', '').replace(',', '')) || 0; // Convertir precio a número
+ const cantidad = parseInt(producto.cantidad, 10) || 1;
+ const precio = parseFloat(producto.precioFinal.replace('$', '').replace(',', '')) || 0;
- subtotal += precio * cantidad; // Calcular el subtotal
+ subtotal += precio * cantidad;
});
- totalConEnvio = subtotal + costoEnvio; // Sumar el costo de envío fijo
- totalTarjeta = totalConEnvio * 0.95; // Aplicar el 5% de descuento (es decir, restar el 5%)
+ totalConEnvio = subtotal + costoEnvio;
+ totalTarjeta = totalConEnvio * 0.95;
// Actualizar los valores en el resumen de compra
- if (document.getElementById('subtotal')) {
- document.getElementById('subtotal').textContent = `$${subtotal.toLocaleString()}`;
- }
- if (document.getElementById('total-con-envio')) {
- document.getElementById('total-con-envio').textContent = `$${totalConEnvio.toLocaleString()}`;
- }
- if (document.getElementById('total-tarjeta')) {
- document.getElementById('total-tarjeta').textContent = `$${totalTarjeta.toLocaleString()}`;
- }
+ document.getElementById('subtotal').textContent = `$${subtotal.toLocaleString()}`;
+ document.getElementById('total-con-envio').textContent = `$${totalConEnvio.toLocaleString()}`;
+ document.getElementById('total-tarjeta').textContent = `$${totalTarjeta.toLocaleString()}`;
}
-
-
-
// Función para renderizar los productos en carrito.html
function renderCarrito() {
const carrito = JSON.parse(localStorage.getItem('carrito')) || [];
const carritoContainer = document.getElementById('carrito-items');
const carritoHeader = document.getElementById('carrito-header');
- if (!carritoContainer || !carritoHeader) {
- console.error('Elementos del carrito no encontrados en el DOM.');
- return;
- }
-
- carritoContainer.innerHTML = ''; // Limpiar el contenido anterior
-
- // Actualizar la cantidad de productos en el carrito
+ carritoContainer.innerHTML = '';
carritoHeader.textContent = `Tu Carro (${carrito.length} producto${carrito.length !== 1 ? 's' : ''})`;
carrito.forEach((producto, index) => {
const item = document.createElement('div');
item.classList.add('producto-carrito');
-
item.innerHTML = `
-
+
${producto.titulo}
-
-
-
Precio Final: ${producto.precioFinal.toLocaleString()}
-
+
Precio Final: $${Number(producto.precioFinal).toLocaleString('es-CL')}
+
@@ -76,7 +57,6 @@ function renderCarrito() {
carritoContainer.appendChild(item);
});
- // Asignar eventos a los inputs de cantidad y botones de eliminar
document.querySelectorAll('.cantidad').forEach(input => {
input.addEventListener('change', (e) => {
const index = e.target.dataset.index;
@@ -90,7 +70,6 @@ function renderCarrito() {
});
});
- // Calcular totales después de renderizar
calcularTotales(carrito);
}
@@ -100,20 +79,16 @@ function actualizarCantidad(index, nuevaCantidad) {
if (carrito[index]) {
carrito[index].cantidad = parseInt(nuevaCantidad, 10);
localStorage.setItem('carrito', JSON.stringify(carrito));
- renderCarrito(); // Volver a renderizar el carrito con los cambios
- } else {
- console.error("Producto no encontrado en el carrito.");
+ renderCarrito();
}
}
// Función para eliminar productos del carrito
function eliminarProducto(id) {
let carrito = JSON.parse(localStorage.getItem('carrito')) || [];
- carrito = carrito.filter(producto => producto.id !== id); // Filtrar el producto eliminado
- localStorage.setItem('carrito', JSON.stringify(carrito)); // Guardar el carrito actualizado
- renderCarrito(); // Volver a renderizar el carrito
+ carrito = carrito.filter(producto => producto.id !== id);
+ localStorage.setItem('carrito', JSON.stringify(carrito));
+ renderCarrito();
}
-// Cargar el carrito cuando el DOM esté listo
document.addEventListener("DOMContentLoaded", renderCarrito);
-
diff --git a/docs/js/favoritos.js b/docs/js/favoritos.js
index 6b7ad83..7c78abd 100644
--- a/docs/js/favoritos.js
+++ b/docs/js/favoritos.js
@@ -60,13 +60,6 @@ document.addEventListener('DOMContentLoaded', function () {
mostrarFavoritos(); // Volver a renderizar los favoritos
}
- // Función para agregar un producto al carrito
- function agregarAlCarrito(producto) {
- let carrito = JSON.parse(localStorage.getItem('carrito')) || [];
- carrito.push(producto);
- localStorage.setItem('carrito', JSON.stringify(carrito));
- alert('Producto agregado al carrito');
- }
mostrarFavoritos();
});
diff --git a/docs/js/productos.js b/docs/js/productos.js
index 13cebbd..a6dcce4 100644
--- a/docs/js/productos.js
+++ b/docs/js/productos.js
@@ -23,14 +23,7 @@ function actualizarContadorCarrito() {
}
-// Función para agregar producto al carrito
-function agregarAlCarrito(producto) {
- let carrito = JSON.parse(localStorage.getItem('carrito')) || [];
- carrito.push(producto);
- localStorage.setItem('carrito', JSON.stringify(carrito));
- actualizarContadorCarrito();
- alert("Producto agregado al carrito");
-}
+
// Función para renderizar el producto en el HTML
function renderProducto(producto) {