Selaa lähdekoodia

useEffect moment

Matthew Trejo 1 kuukausi sitten
vanhempi
sitoutus
c84de95dc1

+ 1 - 1
src/app/factura/page.tsx

@@ -48,7 +48,7 @@ export default function FacturaPage() {
   return (
     <div className="space-y-6">
       {/* Header */}
-      <FacturaHeader />
+      {/* <FacturaHeader /> */}
 
       {/* Info Tributaria */}
       <InfoTributariaForm

+ 1 - 1
src/components/app-sidebar.tsx

@@ -32,7 +32,7 @@ const items = [
     icon: Home,
   },
   {
-    title: "Factura",
+    title: "Factura (Generar XML)",
     url: "/factura",
     icon: FileText,
   },

+ 1 - 1
src/hooks/factura/useFacturaCalculations.ts

@@ -43,7 +43,7 @@ export function useFacturaCalculations(detalles: DetalleItem[], updateInfoFactur
       totalDescuento: totalDescuento.toFixed(2),
       importeTotal: importeTotal.toFixed(2)
     })
-  }, [detalles.length, detalles.map(d => `${d.id}-${d.cantidad}-${d.precioUnitario}-${d.descuento}-${d.codigoPorcentaje}-${d.tarifa}`).join('|'), updateInfoFactura])
+  }, [detalles, updateInfoFactura])
 
   // Calcular totales de impuestos para el XML
   const calcularTotalesImpuestos = useCallback((): TotalImpuesto[] => {

+ 7 - 4
src/hooks/factura/useFacturaState.ts

@@ -1,4 +1,4 @@
-import { useState } from "react"
+import { useState, useCallback } from "react"
 import type { InfoTributaria, InfoFactura, DetalleItem } from "@/types/factura"
 
 export function useFacturaState() {
@@ -95,6 +95,11 @@ export function useFacturaState() {
     }
   }
 
+  // Función estable para actualizar infoFactura
+  const updateInfoFactura = useCallback((data: Partial<{totalSinImpuestos: string, totalDescuento: string, importeTotal: string}>) => {
+    setInfoFactura(prev => ({ ...prev, ...data }))
+  }, [])
+
   return {
     infoTributaria,
     infoFactura,
@@ -106,8 +111,6 @@ export function useFacturaState() {
     agregarDetalle,
     actualizarDetalle,
     eliminarDetalle,
-    updateInfoFactura: (data: Partial<{totalSinImpuestos: string, totalDescuento: string, importeTotal: string}>) => {
-      setInfoFactura(prev => ({ ...prev, ...data }))
-    }
+    updateInfoFactura
   }
 }