Skip to content

Dashboard del candidato

URL: /dashboard

Centro de operaciones del candidato. Resume su estado y da acceso rápido a todas las secciones.

Layout

┌─────────────────────────────────────────────────────────┐
│  Hola, Ana 👋                                           │
│  Tu membresía expira el 04/julio/2026 (76 días restantes)│
├─────────────────────────────────────────────────────────┤
│  ┌─ Perfil ──────┐  ┌─ Psicométricos ─┐  ┌─ CV ───────┐│
│  │ 85% completo  │  │ 1 de 2 ✓        │  │ Descargar  ││
│  │ [Editar]      │  │ [Continuar]     │  │ [PDF]      ││
│  └───────────────┘  └─────────────────┘  └────────────┘│
├─────────────────────────────────────────────────────────┤
│  Checklist de activación                                │
│  ✅ Registra cuenta                                     │
│  ✅ Verifica correo                                     │
│  ✅ Contrata membresía                                  │
│  ✅ Completa perfil (≥ 80%)                             │
│  ⬜ Completa pruebas psicométricas requeridas           │
│  ⬜ Sube foto de perfil                                 │
├─────────────────────────────────────────────────────────┤
│  Próximas entrevistas                                   │
│  📅 Martes 22 abril · Desarrollador Backend · Startup   │
│  📅 Jueves 24 abril · Product Manager · Corporativo     │
├─────────────────────────────────────────────────────────┤
│  Tus asignaciones activas                               │
│  • Desarrollador Backend · Startup ABC · En entrevista │
│  • Product Manager · Corporativo XYZ · Propuesta       │
└─────────────────────────────────────────────────────────┘

Widgets

Colores según estado:

  • Verde — activa con > 30 días restantes.
  • Amarillo — activa con ≤ 30 días (alerta preventiva).
  • Rojo — expirada, invita a renovar.
  • Gris — sin membresía, invita a contratar.

Tarjetas de progreso (3)

  • Perfil: porcentaje calculado en frontend (ver Perfil profesional).
  • Psicométricos: n completadas / m disponibles.
  • CV: botón directo a descarga PDF.

Checklist de onboarding

Lista de tareas pendientes. Se actualiza en tiempo real con los endpoints de perfil/membresía. Cuando todas están completas, desaparece.

Próximas entrevistas

Trae las 3 más cercanas con estado propuesta o confirmada. Ordenadas por scheduled_at ascendente.

Asignaciones activas

Lista de VacancyAssignment donde el candidato está en etapas no terminales (sourced, presented, interviewing, finalist). Para cada una muestra:

  • Título de la vacante
  • Nombre de la empresa
  • Etapa actual
  • Fecha de última actualización

El candidato NO puede editar la etapa — es informativo.

Accesos rápidos del header

  • Campana de notificaciones (NotificationBell) con badge de sin-leer.
  • Avatar con menú: Mi perfil, Configuración, Cerrar sesión.
  • Toggle de tema claro/oscuro.

Data loading

Todos los widgets usan TanStack Query con stale time 15–60s:

ts
useAuth()              // session store Zustand
useMembership()        // /me/membership, staleTime 60s
useProfile()           // /me/profile, staleTime 30s
useUpcomingInterviews() // /me/interviews?upcoming=1, staleTime 60s
useAssignments()       // /me/assignments, staleTime 30s
useNotifications()     // polling cada 60s

Estados de carga y error

  • Loading: cada widget tiene su propio <Skeleton /> mientras carga.
  • Error: toast con mensaje + botón "Reintentar".
  • Empty: cada sección tiene ilustración + texto "Aún no tienes X".

Responsive

  • Desktop (>1024px): 3 columnas de tarjetas.
  • Tablet (768–1024): 2 columnas.
  • Mobile (<768): 1 columna, widgets apilados.

Siguiente sección

Ya que conoces toda la experiencia del candidato, pasa al lado del equipo HUMAE: Directorio de talento (Recruiter) →

Manual de usuario HUMAE · Uso interno