diff --git a/src/sections/Cultivos.tsx b/src/sections/Cultivos.tsx index 4e4a14e..69a7452 100644 --- a/src/sections/Cultivos.tsx +++ b/src/sections/Cultivos.tsx @@ -172,41 +172,51 @@ export function Cultivos({ Protocolo: {cultivo.protocolo}

)} - {cultivo.observaciones && ( -

- {cultivo.observaciones} + + {cultivo.estado === 'NAF/Pendiente' && cultivo.observaciones && ( +

+ Observaciones: {cultivo.observaciones}

)} - {cultivo.estado === 'Parcial' && cultivo.germen && ( -
-

- - PARCIAL - Germen: {cultivo.germen} -

+ {cultivo.estado === 'Parcial' && ( +
+ {cultivo.germen && ( +

+ + PARCIAL - Germen: {cultivo.germen} +

+ )} {(cultivo.sensible || cultivo.resistente) && ( -
+
{cultivo.sensible && ( -

Sensible: {cultivo.sensible}

+

Sensible: {cultivo.sensible}

)} {cultivo.resistente && ( -

Resistente: {cultivo.resistente}

+

Resistente: {cultivo.resistente}

)}
)} + {cultivo.observaciones && ( +

+ Observaciones: {cultivo.observaciones} +

+ )}
)} - {cultivo.estado === 'Positivo' && cultivo.germen && ( -
+ {cultivo.estado === 'Positivo' && ( +
- - - Germen: {cultivo.germen} {cultivo.fechaResultado ? `(Definitivo: ${cultivo.fechaResultado})` : ''} - + {cultivo.germen && ( + + + Germen: {cultivo.germen} {cultivo.fechaResultado ? `(Definitivo: ${cultivo.fechaResultado})` : ''} + + )} {cultivo.sensible && ( )}
+ + {cultivo.observaciones && ( +
+ Observaciones: {cultivo.observaciones} +
+ )}
)} {cultivo.estado === 'Negativo' && ( -
-

+

+

Cultivo Negativo

+ {cultivo.observaciones && ( +

+ Observaciones: {cultivo.observaciones} +

+ )}
)}
diff --git a/src/sections/HistoriaClinica.tsx b/src/sections/HistoriaClinica.tsx index fba2651..3dc1205 100644 --- a/src/sections/HistoriaClinica.tsx +++ b/src/sections/HistoriaClinica.tsx @@ -1,4 +1,4 @@ -import { useState } from 'react'; +import { useState, useEffect } from 'react'; import { createPortal } from 'react-dom'; import { toast } from 'sonner'; import { User } from 'lucide-react'; @@ -55,9 +55,8 @@ import { Label } from '@/components/ui/label'; import { Textarea } from '@/components/ui/textarea'; import { Dialog, DialogContent, DialogHeader, DialogTitle } from '@/components/ui/dialog'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, SelectGroup, SelectLabel } from '@/components/ui/select'; -import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; +import { Tabs, TabsContent } from '@/components/ui/tabs'; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/components/ui/table'; -import { ScrollArea, ScrollBar } from "@/components/ui/scroll-area" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'; import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer } from 'recharts'; import type { Laboratorio, Glucemia, AcidoBase, Cultivo, Paciente, ResultadoLaboratorio, Internacion, Evolucion, Cama, EstudioComplementario, Interconsulta, ATB, Indicacion, MovimientoIndicacion, Pendiente, OtroLaboratorio } from '@/types'; @@ -203,6 +202,69 @@ function wrapText(text: string, font: { widthOfTextAtSize: (text: string, size: +function SeccionNotasPaciente({ paciente, canEdit }: { paciente: Paciente; canEdit?: boolean }) { + const { actualizarPaciente } = useHospitalStore(); + const [textoNotas, setTextoNotas] = useState(paciente.notas || ''); + const [isSaving, setIsSaving] = useState(false); + const [guardado, setGuardado] = useState(true); + + useEffect(() => { + setTextoNotas(paciente.notas || ''); + setGuardado(true); + }, [paciente.id, paciente.notas]); + + const handleChange = (e: React.ChangeEvent) => { + setTextoNotas(e.target.value); + setGuardado(false); + }; + + const handleGuardar = async () => { + try { + setIsSaving(true); + await actualizarPaciente(paciente.id, { notas: textoNotas }); + toast.success('Notas del paciente guardadas correctamente'); + setGuardado(true); + } catch (err) { + console.error('Error al guardar notas:', err); + toast.error('Error al guardar las notas del paciente'); + } finally { + setIsSaving(false); + } + }; + + return ( +
+