UNPKG

stream-chat-react-native-core

Version:

The official React Native and Expo components for Stream Chat, a service for building chat applications

40 lines (32 loc) 1.3 kB
import { Notification } from 'stream-chat'; import { useStableCallback } from './useStableCallback'; import { useStateStore } from './useStateStore'; import type { InAppNotificationsState } from '../state-store/in-app-notifications-store'; import { closeInAppNotification, inAppNotificationsStore, openInAppNotification, } from '../state-store/in-app-notifications-store'; const selector = ({ notifications }: InAppNotificationsState) => ({ notifications, }); /** * @deprecated Prefer the client-backed notification APIs exported from * `components/Notifications` (`useNotificationApi`, `useNotifications`, and * `NotificationList`). This hook is kept for apps that already render their own * legacy in-app notification store. */ export const useInAppNotificationsState = () => { const { notifications } = useStateStore(inAppNotificationsStore, selector); const openInAppNotificationInternal = useStableCallback((notificationData: Notification) => { openInAppNotification(notificationData); }); const closeInAppNotificationInternal = useStableCallback((id: string) => { closeInAppNotification(id); }); return { closeInAppNotification: closeInAppNotificationInternal, notifications, openInAppNotification: openInAppNotificationInternal, }; };