Descripción
Ubicación:src/modules/notifications/
Gestiona las notificaciones dentro de la app (distintas de las push notifications del sistema). Incluye listado, lectura y eliminación de notificaciones almacenadas en backend.
Este módulo gestiona notificaciones in-app (almacenadas en backend). Para push notifications del
sistema, ver Push Notifications.
Screens
API Endpoints
El inbox se sirve desde el backend de vivla-tools (las llamadas usanuseToolsBackend: true). Todas las peticiones son POST y envían las credenciales (authToken, userId) en el body.
Hooks
- Uso básico
- Marcar como leída
- Eliminar
readNotifications / unreadNotifications y expone unreadCount para el badge del inbox.Tipos principales
navigation
Ruta de destino como string (por ejemplo
/property/{id}, /booking/{id} o formatos legacy
como stay-detail:...). validateAndTransformNavigation la valida y normaliza antes de
navegar; si no es válida, se muestra el contenido de la notificación en su lugar.readAt
Ausente (
undefined) indica que la notificación no ha sido leída. Se actualiza automáticamente
al llamar a markAsRead.user / message / home
Identificadores opcionales (string) de las entidades relacionadas con la notificación.
linkTo
URL de destino alternativa. Se usa cuando la navegación no es a una pantalla interna sino a un
recurso externo.
Componentes destacados
NotificationsList
Lista principal de notificaciones con soporte para pull-to-refresh y estados vacíos. Renderiza
cada notificación según su tipo.
NotificationCard
Tarjeta individual de notificación. Muestra título, descripción, timestamp y estado de lectura.
Soporta swipe para eliminar.
NotificationBottomSheet
Bottom sheet que muestra el contenido completo de la notificación (texto, imagen y vídeo) cuando
no hay una ruta de navegación válida.
NotificationEmptyState / NotificationSkeleton
Estados vacío y de carga (skeleton) del centro de notificaciones.