Fix responsive layouts for Internaciones/Evoluciones tables and currentUser undefined error

This commit is contained in:
2026-08-09 18:29:39 +00:00
parent 3cb381acd3
commit 7675df4ba1
8 changed files with 257 additions and 206 deletions
+10 -7
View File
@@ -3,7 +3,8 @@ import { Bed, CheckCircle2, Clock, Wrench, User, Plus, Trash, Edit2, Save, X } f
import { Card, CardContent } from '@/components/ui/card';
import { Badge } from '@/components/ui/badge';
import { Button } from '@/components/ui/button';
import { formatDateDDMMYYYY } from '@/lib/utils';
import { formatDateDDMMYYYY, getNombreProfesional } from '@/lib/utils';
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger } from '@/components/ui/dialog';
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select';
import { Label } from '@/components/ui/label';
@@ -42,7 +43,7 @@ export function MapaCamas({
getPacienteById,
getInternacionById
}: MapaCamasProps) {
const { canEditCama, canAccessArea } = useHospitalStore();
const { canEditCama, canAccessArea, currentUser } = useHospitalStore();
const [filtroSala, setFiltroSala] = useState<string>('todas');
const [filtroTipo, setFiltroTipo] = useState<string>('todos');
const [filtroEstado, setFiltroEstado] = useState<string>('todos');
@@ -53,6 +54,8 @@ export function MapaCamas({
const [enfermedadActual, setEnfermedadActual] = useState('');
const [antecedentesEnfermedadActual, setAntecedentesEnfermedadActual] = useState('');
const [medico, setMedico] = useState('');
const defaultMedico = getNombreProfesional(currentUser);
const effectiveMedico = medico || defaultMedico;
const [dialogoAbierto, setDialogoAbierto] = useState(false);
// Area dialog state
const [areaDialogOpen, setAreaDialogOpen] = useState(false);
@@ -148,7 +151,7 @@ export function MapaCamas({
});
const handleOcuparCama = () => {
if (camaSeleccionada && areaSeleccionada && pacienteSeleccionado && diagnostico && enfermedadActual && medico) {
if (camaSeleccionada && areaSeleccionada && pacienteSeleccionado && diagnostico && enfermedadActual && effectiveMedico) {
onIniciarInternacion({
pacienteId: pacienteSeleccionado,
camaId: camaSeleccionada.id,
@@ -156,7 +159,7 @@ export function MapaCamas({
diagnosticoIngreso: diagnostico,
enfermedadActual,
antecedentesEnfermedadActual: antecedentesEnfermedadActual || undefined,
medicoIngresante: medico,
medicoIngresante: effectiveMedico,
});
setDialogoAbierto(false);
setCamaSeleccionada(null);
@@ -165,7 +168,7 @@ export function MapaCamas({
setDiagnostico('');
setEnfermedadActual('');
setAntecedentesEnfermedadActual('');
setMedico('');
setMedico(getNombreProfesional(currentUser));
}
};
@@ -414,7 +417,7 @@ export function MapaCamas({
<input
type="text"
className="w-full p-2 border rounded-md text-sm"
value={medico}
value={effectiveMedico}
onChange={(e) => setMedico(e.target.value)}
placeholder="Nombre del médico..."
/>
@@ -422,7 +425,7 @@ export function MapaCamas({
<Button variant="outline"
className="w-full"
onClick={handleOcuparCama}
disabled={!pacienteSeleccionado || !diagnostico || !enfermedadActual || !medico}
disabled={!pacienteSeleccionado || !diagnostico || !enfermedadActual || !effectiveMedico}
>
<Plus className="h-4 w-4 mr-1" />
Iniciar Internación