From bc2b125ac28682e7bcfda5d782924783b970a9bc Mon Sep 17 00:00:00 2001 From: SirRobert-1 <rviverosgonzalez@gmail.com> Date: Mon, 10 Mar 2025 07:40:29 -0600 Subject: [PATCH] Refactor Informacion component to use fetched data for concerts and seats, and optimize category filtering logic --- .../src/components/vistas/Informacion.jsx | 29 +++++++------------ 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/ventaboletos/src/components/vistas/Informacion.jsx b/ventaboletos/src/components/vistas/Informacion.jsx index 97f3112..95ca5d7 100644 --- a/ventaboletos/src/components/vistas/Informacion.jsx +++ b/ventaboletos/src/components/vistas/Informacion.jsx @@ -34,7 +34,7 @@ function Informacion() { if (error) { console.error(error); } else { - setConciertos(conciertos); + setConciertos(data); } }; @@ -45,21 +45,11 @@ function Informacion() { if (error) { console.error(error); } else { - setNumeroAsiento(asientos); - } - }; - - const fetchTipoAsiento = async () => { - let { data: asientos, error } = await supabaseClient - .from("asientos") - .select("categoria"); - if (error) { - console.error(error); - } else { - const uniqueCategories = asientos - .map((asiento) => asiento.categoria) - .filter((value, index, self) => self.indexOf(value) === index); + const uniqueCategories = [ + ...new Set(data.map((asiento) => asiento.categoria)), + ]; setTipoAsiento(uniqueCategories); + setNumeroAsiento(data); } }; @@ -70,12 +60,9 @@ function Informacion() { const handleCategoriaChange = (categoria) => { setSelectedCategoria(categoria); + setAsientoSeleccionado(""); }; - const filteredAsientos = numeroAsiento - .filter((asiento) => asiento.categoria === selectedCategoria) - .sort((a, b) => a.numero_asiento - b.numero_asiento); - const handleAgregarAlCarrito = () => { if (!selectedConcierto || !asientoSeleccionado) { alert("Selecciona un tipo de asiento antes de continuar."); @@ -92,6 +79,10 @@ function Informacion() { setOpen(false); }; + const filteredAsientos = numeroAsiento + .filter((asiento) => asiento.categoria === selectedCategoria) + .sort((a, b) => a.numero_asiento - b.numero_asiento); + return ( <> <div className="space-y-4">