"use client" import { useState } from "react" import { FacturaHeader } from "@/components/factura/FacturaHeader" import { InfoTributariaForm } from "@/components/factura/InfoTributariaForm" import { InfoFacturaForm } from "@/components/factura/InfoFacturaForm" import { DetallesList } from "@/components/factura/DetallesList" import { ResumenTotales } from "@/components/factura/ResumenTotales" import { FacturaActions } from "@/components/factura/FacturaActions" import { XmlGenerationDialog } from "@/components/factura/XmlGenerationDialog" import { useFacturaState } from "@/hooks/factura/useFacturaState" import { useFacturaCalculations } from "@/hooks/factura/useFacturaCalculations" import { useXmlGeneration } from "@/hooks/factura/useXmlGeneration" export default function FacturaPage() { const [dialogOpen, setDialogOpen] = useState(false) const { infoTributaria, infoFactura, detalles, xmlGenerado, setXmlGenerado, handleInfoTributariaChange, handleInfoFacturaChange, agregarDetalle, actualizarDetalle, eliminarDetalle, updateInfoFactura } = useFacturaState() const { calcularTotalesImpuestos } = useFacturaCalculations(detalles, updateInfoFactura) const { generarXml, descargarXml } = useXmlGeneration() const handleGenerarXml = () => { const totalesImpuestos = calcularTotalesImpuestos() generarXml( infoTributaria, infoFactura, detalles, totalesImpuestos, setXmlGenerado ) setDialogOpen(true) } const handleDescargarXml = () => { descargarXml(xmlGenerado, infoTributaria.ruc) } return (