Mensajes
/player/mensajes es un hilo único entre vos y el cuerpo técnico del club. Lo que mandás te llega al Head of Performance / Director Deportivo, y lo que ellos te escriben te llega como push notification en el celular.
Cómo lo ves vos
Sección titulada «Cómo lo ves vos»- Un solo hilo, no varios contactos. Da igual quién del staff te escriba: aparece todo en la misma conversación, ordenado por fecha.
- Para escribirles, abrís Mensajes, escribís en el input del fondo y mandás. Tu mensaje queda dirigido automáticamente al
hopodirdel club — no elegís destinatario. - Cuando te escriben, llega push al teléfono (si activaste notificaciones desde Perfil). Si tocás la notificación, te abre directo en el hilo.
- Lectura automática. Al abrir Mensajes, los mensajes que tenías sin leer del staff se marcan como leídos al toque.
- Límites técnicos: máximo 2.000 caracteres por mensaje, mensajes vacíos se rechazan.
No hay edición ni borrado de mensajes una vez enviados. Tampoco hay adjuntos — es solo texto. Para mandar fotos o videos, usá WhatsApp del staff.
Cómo lo activa el staff
Sección titulada «Cómo lo activa el staff»- Acceso staff. El HoP / DD ven el hilo desde la ficha de cada jugador en
/dashboard/plantel/[id](tab Mensajería) con badge de no-leídos. Detalle del lado staff en Mensajería staff ↔ jugador. - Push notifications. Para que te llegue al celular tenés que activar las notificaciones desde Perfil → toggle “Notificaciones”. Requiere instalar la PWA y aceptar el permiso del navegador.
- Multi-tenant. El staff solo puede escribirles a jugadores de su propia organización. Hay validación server-side que bloquea cross-tenant writes.
Datos y métricas
Sección titulada «Datos y métricas»- Tabla:
messages(id,content,created_at,read_at,from_player_id,from_staff_id,to_player_id,to_staff_id,organization_id). - Tabla:
push_subscriptions(endpoint,p256dh,auth_key,user_id). - Action server:
sendPlayerMessage(jugador → staff) ysendStaffMessage(staff → jugador). La segunda disparaPOST /api/push/sendpara emitir la notificación.
Integraciones
Sección titulada «Integraciones»- PWA / Service Worker. El
sw.jsmaneja el eventopushy muestra la notificación nativa. - VAPID. Push requiere
NEXT_PUBLIC_VAPID_PUBLIC_KEYyVAPID_PRIVATE_KEYconfiguradas en Workers Secrets.
Limitaciones / roadmap
Sección titulada «Limitaciones / roadmap»- Sin adjuntos, sin reacciones, sin edición. Solo texto plano.
- El hilo se dirige al primer
hopodirque encuentra — no hay selector de destinatario. - Si el navegador bloqueó las notificaciones, hay que destrabarlas desde la configuración del sistema operativo, no desde la app.