diff --git a/src/components/ui/accordion.tsx b/src/components/ui/accordion.tsx index d21b65f..e1797c9 100644 --- a/src/components/ui/accordion.tsx +++ b/src/components/ui/accordion.tsx @@ -1,64 +1,55 @@ import * as React from "react" import * as AccordionPrimitive from "@radix-ui/react-accordion" -import { ChevronDownIcon } from "lucide-react" +import { ChevronDown } from "lucide-react" import { cn } from "@/lib/utils" -function Accordion({ - ...props -}: React.ComponentProps) { - return -} +const Accordion = AccordionPrimitive.Root -function AccordionItem({ - className, - ...props -}: React.ComponentProps) { - return ( - - ) -} +const AccordionItem = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +AccordionItem.displayName = "AccordionItem" -function AccordionTrigger({ - className, - children, - ...props -}: React.ComponentProps) { - return ( - - svg]:rotate-180", - className - )} - {...props} - > - {children} - - - - ) -} - -function AccordionContent({ - className, - children, - ...props -}: React.ComponentProps) { - return ( - , + React.ComponentPropsWithoutRef +>(({ className, children, ...props }, ref) => ( + + svg]:rotate-180", + className + )} {...props} > -
{children}
-
- ) -} + {children} + + + +)) +AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName + +const AccordionContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, children, ...props }, ref) => ( + +
{children}
+
+)) +AccordionContent.displayName = AccordionPrimitive.Content.displayName export { Accordion, AccordionItem, AccordionTrigger, AccordionContent } diff --git a/src/sections/EditIngreso.tsx b/src/sections/EditIngreso.tsx index 546340f..4b99956 100644 --- a/src/sections/EditIngreso.tsx +++ b/src/sections/EditIngreso.tsx @@ -84,9 +84,7 @@ export function EditIngreso({
- +

diff --git a/src/sections/HistoriaClinica.tsx b/src/sections/HistoriaClinica.tsx index c1c71d1..ff20283 100644 --- a/src/sections/HistoriaClinica.tsx +++ b/src/sections/HistoriaClinica.tsx @@ -1,5 +1,13 @@ import { useState } from 'react'; import { PDFDocument } from 'pdf-lib'; +import { User } from 'lucide-react'; +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from "@/components/ui/accordion"; + import { FlaskConical, Microscope, @@ -117,10 +125,10 @@ const RANGOS_LABORATORIO: Record = { function calcularEstadoLaboratorio(parametro: string, valor: string): 'Normal' | 'Alto' | 'Bajo' { const rango = RANGOS_LABORATORIO[parametro]; if (!rango) return 'Normal'; - + const num = parseFloat(valor); if (isNaN(num)) return 'Normal'; - + if (num < rango.min) return 'Bajo'; if (num > rango.max) return 'Alto'; return 'Normal'; @@ -130,7 +138,7 @@ function wrapText(text: string, font: any, fontSize: number, maxWidth: number): const words = text.split(' '); const lines: string[] = []; let currentLine = ''; - + for (const word of words) { const testLine = currentLine ? `${currentLine} ${word}` : word; const testWidth = font.widthOfTextAtSize(testLine, fontSize); @@ -145,6 +153,8 @@ function wrapText(text: string, font: any, fontSize: number, maxWidth: number): return lines; } + + export function HistoriaClinica({ internacion, paciente, @@ -203,40 +213,23 @@ export function HistoriaClinica({ return Math.floor(diff / (1000 * 60 * 60 * 24)); }; - const handleGuardarEdicion = () => { - if (editCamaId && editCamaId !== internacion.camaId && cama) { - onActualizarCama(cama.id, { estado: 'Disponible', pacienteId: undefined, internacionId: undefined }); - } - if (editCamaId) { - onActualizarCama(editCamaId, { estado: 'Ocupada', pacienteId: paciente.id, internacionId: internacion.id }); - } - onActualizarInternacion(internacion.id, { - fechaIngresoClinica: editFechaIngreso, - motivoConsulta: editMotivoConsulta, - diagnosticoIngreso: editDiagnostico, - enfermedadActual: editEnfermedadActual, - antecedentesEnfermedadActual: editAntecedentes, - medicoIngresante: editMedico, - camaId: editCamaId || undefined, - }); - setEditIngresoDialog(false); - }; + return (
-
-
-
-

Historia Clínica

-

- Cama: {cama?.numero || 'N/A'} | {paciente.apellido}, {paciente.nombre} | {paciente.fechaNacimiento ? calcularEdad(paciente.fechaNacimiento) + ' años' : ''} | DNI: {paciente.dni} -

-
+
+
+

+ + {cama?.numero || 'N/A'} - Historia Clínica +

+

Módulo de Historia Clínica de Internación

-
+
+
-
- - - - - - - Editar Ingreso - - - -
- - {paciente.apellido}, {paciente.nombre} - - - {paciente.fechaNacimiento ? calcularEdad(paciente.fechaNacimiento) + ' años' : ''} - - - DNI: {paciente.dni} - -
-
- - HC: {paciente.historiaClinica || 'N/A'} - - - {paciente.obraSocial || 'Sin obra social'} - - - {paciente.nacionalidad || 'N/A'} - -
-
-
-
-
-
- - setEditFechaIngreso(e.target.value)} /> -
-
- - setEditMedico(e.target.value)} placeholder="Nombre del médico" /> -
-
- - -
-
-
- -