Commit Graph

11 Commits

Author SHA1 Message Date
fernando 881e67fb12 archivo de configuracion de nginx agregado para el puerto 9000 2026-05-02 16:57:29 -06:00
fernando f81237b23c fix/feat: búsqueda móvil, chat solo amigos y bloqueo si se eliminó amistad
- Header: búsqueda móvil con panel deslizable (fixed bajo la topbar), comparte la lógica AJAX con desktop via initSearchWidget()
- ChatController: index muestra solo amigos; show pasa isFriend y friendship a la vista; send valida amistad con abort_unless
- chat/index: muestra amigos con @forelse y mensaje vacío si no tiene
- chat/show: si no son amigos muestra banner de bloqueo con botón contextual (enviar solicitud / cancelar / aceptar según estado)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 17:40:16 -06:00
fernando 97c04fbfb4 feat: funcionalidad de red social (feed, amigos, búsqueda)
- Migraciones: posts, post_likes, post_comments
- Modelos Post, PostLike, PostComment con relaciones
- User: métodos friendshipWith, isFriendWith, friendIds, posts
- PostController: feed, crear publicación con imagen, like toggle, comentarios, eliminar
- FriendshipController: listar solicitudes, enviar, aceptar, rechazar, toggle AJAX
- SocialProfileController: perfil público con publicaciones y estado de amistad
- UserSearchController: búsqueda AJAX por nombre con estado de amistad
- FriendRequestNotification: notificación al recibir solicitud
- Vistas: feed/index, feed/_post, friendships/index, social/profile
- Header: barra de búsqueda con autocomplete AJAX (agregar amigo / mensaje)
- Menú lateral: Comunidad, Amigos, Mensajes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 17:09:04 -06:00
fernando 0f7de9b4d8 feat: dropdown de mensajes muestra conversaciones sin responder
- HeaderComposer ahora muestra conversaciones donde el último mensaje
  es del otro usuario (pendiente de respuesta), no solo mensajes no leídos
- El badge refleja el conteo de conversaciones pendientes
- Al responder desde el chat, se dispara chat:replied para quitar
  la conversación del dropdown en tiempo real
- El badge en tiempo real solo incrementa si es una conversación nueva

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 17:00:17 -06:00
fernando 9dd5ac6cbf feat: FileController para servir archivos privados con autenticación
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 13:58:50 -06:00
fernando 9e8df4f7ee fix: usar disco uploads en public/ para compatibilidad con cPanel sin symlinks
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 13:39:19 -06:00
fernando 14048989a2 fix: usar Storage::url() como base para adjuntos en JS (compatible con producción)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 13:12:26 -06:00
fernando 7c95937b94 feat: renderizar adjuntos multimedia en el chat (imagen, video, audio, archivo)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 12:31:00 -06:00
fernando ab967e8ba4 feat: chat en tiempo real bidireccional funcionando con Reverb 2026-04-26 02:15:21 -06:00
fernando ec6a72ba0c Se corrigen bugs de chat en tiempo real 2026-03-04 16:26:45 -06:00
fernando aeb24f2874 se cargan modulos de chat en tiempo real 2026-02-28 16:10:19 -06:00