Skip to main content

Documentation Index

Fetch the complete documentation index at: https://wiki.vivla.com/llms.txt

Use this file to discover all available pages before exploring further.

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

ScreenRutaDescripción
NotificationsScreenCentro de notificaciones in-app

API Endpoints

MétodoPathDescripción
GET/notificationsObtener todas las notificaciones del usuario
DELETE/notifications/{id}Eliminar una notificación
POST/notifications/{id}/readMarcar una notificación como leída

Hooks

HookDescripción
useNotifications()Hook principal del módulo. Expone fetch, eliminación y marcado de notificaciones como leídas.
const {
  notifications,
  isLoading,
  markAsRead,
  deleteNotification,
  refetch,
} = useNotifications();

Tipos principales

interface Notification {
  id: string;
  title: string;
  description: string;
  content: string;
  createdAt: string;
  readAt: string | null;
  navigation: NavigationData | null;
  imageUrl: string | null;
  videoUrl: string | null;
  user: UserSummary | null;
  message: MessageSummary | null;
  home: PropertySummary | null;
  linkTo: string | null;
}

navigation

Contiene los datos necesarios para realizar deep linking cuando el usuario toca la notificación. Incluye ruta de destino y parámetros.

readAt

null indica que la notificación no ha sido leída. Se actualiza automáticamente al llamar a markAsRead.

user / message / home

Referencias opcionales a entidades relacionadas. Permiten mostrar contexto enriquecido (avatar del usuario, preview del mensaje, nombre de la propiedad).

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.
Las notificaciones eliminadas no se pueden recuperar. La operación de eliminación es permanente tanto en el cliente como en el backend.