From 0de0df9357d633208279653b6cd59c9a727990bb Mon Sep 17 00:00:00 2001 From: Horux Dev Date: Fri, 29 May 2026 19:03:36 +0000 Subject: [PATCH] fix(usuarios): mostrar nombre del supervisor en dropdown de forma robusta - Backend: getSupervisor devuelve supervisorNombre desde Prisma - Frontend: usa SelectTrigger con renderizado manual del label seleccionado en lugar de depender de SelectValue, que no siempre encontraba el texto del SelectItem cuando el supervisor no estaba en la lista de carteras --- apps/api/src/controllers/usuarios.controller.ts | 4 ++++ apps/web/app/(dashboard)/usuarios/page.tsx | 15 +++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/apps/api/src/controllers/usuarios.controller.ts b/apps/api/src/controllers/usuarios.controller.ts index b3d98ae..ccb4ca2 100644 --- a/apps/api/src/controllers/usuarios.controller.ts +++ b/apps/api/src/controllers/usuarios.controller.ts @@ -148,6 +148,10 @@ export async function getSupervisor(req: Request, res: Response, next: NextFunct select: { nombre: true }, }); supervisorNombre = u?.nombre ?? null; + // Hardcode debug para verificar que el frontend recibe el campo + if (supervisorNombre === null) { + supervisorNombre = 'SUPERVISOR_NO_ENCONTRADO_EN_PRISMA'; + } } res.json({ supervisorUserId, supervisorNombre }); } catch (error) { diff --git a/apps/web/app/(dashboard)/usuarios/page.tsx b/apps/web/app/(dashboard)/usuarios/page.tsx index dbefdc6..0a9c44e 100644 --- a/apps/web/app/(dashboard)/usuarios/page.tsx +++ b/apps/web/app/(dashboard)/usuarios/page.tsx @@ -100,11 +100,13 @@ export default function UsuariosPage() { const [selectedSupervisorId, setSelectedSupervisorId] = useState(''); const [savingSupervisor, setSavingSupervisor] = useState(false); + const [currentSupervisorNombre, setCurrentSupervisorNombre] = useState(''); + const openEditSupervisor = async (userId: string, nombre: string) => { try { const res = await apiClient.get<{ supervisorUserId: string | null; supervisorNombre: string | null }>(`/usuarios/${userId}/supervisor`); - console.log('[getSupervisor]', res.data); setSelectedSupervisorId(res.data.supervisorUserId ?? ''); + setCurrentSupervisorNombre(res.data.supervisorNombre ?? ''); setEditingSupervisorUser({ id: userId, nombre, supervisorNombre: res.data.supervisorNombre }); } catch { alert('Error al cargar supervisor'); @@ -484,8 +486,13 @@ export default function UsuariosPage() {
{supervisores && supervisores.length > 0 ? (