UNPKG

@sendbird/uikit-react-native

Version:

Sendbird UIKit for React Native: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.

57 lines (51 loc) 2.14 kB
import type React from 'react'; import type { MenuBarProps } from '@sendbird/uikit-react-native-foundation'; import type { SendbirdGroupChannel } from '@sendbird/uikit-utils'; import type { CommonComponent } from '../../types'; export interface GroupChannelSettingsProps { Fragment: { channel: GroupChannelSettingsProps['Provider']['channel']; onPressHeaderLeft: GroupChannelSettingsProps['Header']['onPressHeaderLeft']; onPressMenuModeration: GroupChannelSettingsProps['Menu']['onPressMenuModeration']; onPressMenuMembers: GroupChannelSettingsProps['Menu']['onPressMenuMembers']; onPressMenuSearchInChannel?: GroupChannelSettingsProps['Menu']['onPressMenuSearchInChannel']; onPressMenuLeaveChannel: GroupChannelSettingsProps['Menu']['onPressMenuLeaveChannel']; onPressMenuNotification?: GroupChannelSettingsProps['Menu']['onPressMenuNotification']; menuItemsCreator?: GroupChannelSettingsProps['Menu']['menuItemsCreator']; }; Header: { onPressHeaderLeft: () => void; }; Info: {}; Menu: { onPressMenuModeration: () => void; onPressMenuMembers: () => void; onPressMenuSearchInChannel?: () => void; onPressMenuLeaveChannel: () => void; onPressMenuNotification?: () => void; menuItemsCreator?: (defaultMenuItems: MenuBarProps[]) => MenuBarProps[]; }; Provider: { channel: SendbirdGroupChannel; }; } /** * Internal context for GroupChannelSettings * For example, the developer can create a custom header * with getting data from the domain context * */ export interface GroupChannelSettingsContextsType { Fragment: React.Context<{ channel: SendbirdGroupChannel; headerTitle: string; headerRight: string; onPressHeaderRight: () => void; }>; } export interface GroupChannelSettingsModule { Provider: CommonComponent<GroupChannelSettingsProps['Provider']>; Header: CommonComponent<GroupChannelSettingsProps['Header']>; Info: CommonComponent<GroupChannelSettingsProps['Info']>; Menu: CommonComponent<GroupChannelSettingsProps['Menu']>; } export type GroupChannelSettingsFragment = React.FC<GroupChannelSettingsProps['Fragment']>;