UNPKG

stream-chat-react-native-core

Version:

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

42 lines (37 loc) 1.16 kB
import { useMemo } from 'react'; import { useChannelDetailsContext } from '../../../contexts/channelDetailsContext/channelDetailsContext'; import { ChannelActionItem, GetChannelActionItems, useChannelActionItems, } from '../../../hooks/actions/useChannelActionItems'; export const useChannelDetailsActionItems = ({ getChannelActionItems, onChannelDismiss, }: { getChannelActionItems?: GetChannelActionItems; onChannelDismiss?: () => void; } = {}): ChannelActionItem[] => { const { channel } = useChannelDetailsContext(); const items = useChannelActionItems({ channel, getChannelActionItems, surface: 'details' }); return useMemo( () => items.map((item) => { if (item.id === 'leave' || item.id === 'deleteChannel' || item.id === 'block') { return { ...item, action: (options) => item.action({ ...options, onSuccess: () => { options?.onSuccess?.(); onChannelDismiss?.(); }, }), }; } return item; }), [items, onChannelDismiss], ); };