@gathertown/uikit-react-native
Version:
Sendbird UIKit for React Native: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.
349 lines (318 loc) • 11.3 kB
text/typescript
import type { Locale } from 'date-fns';
import type {
SendbirdBaseMessage,
SendbirdFileMessage,
SendbirdGroupChannel,
SendbirdMember,
SendbirdMessage,
SendbirdOpenChannel,
SendbirdParticipant,
SendbirdUser,
SendbirdUserMessage,
} from '@gathertown/uikit-utils';
/**
* StringSet interface
* Do not configure over 3 depths (for overrides easy)
* */
export interface StringSet {
OPEN_CHANNEL: {
/** OpenChannel > Header */
HEADER_TITLE: (channel: SendbirdOpenChannel) => string;
HEADER_SUBTITLE: (channel: SendbirdOpenChannel) => string;
/** OpenChannel > List */
LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;
/** OpenChannel > Message bubble */
MESSAGE_BUBBLE_TIME: (message: SendbirdMessage, locale?: Locale) => string;
MESSAGE_BUBBLE_FILE_TITLE: (message: SendbirdFileMessage) => string;
MESSAGE_BUBBLE_EDITED_POSTFIX: string;
MESSAGE_BUBBLE_UNKNOWN_TITLE: (message: SendbirdMessage) => string;
MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;
};
OPEN_CHANNEL_PARTICIPANTS: {
/** OpenChannelParticipants > Header */
HEADER_TITLE: string;
};
OPEN_CHANNEL_SETTINGS: {
/** OpenChannelSettings > Header */
HEADER_TITLE: string;
HEADER_RIGHT: string;
/** OpenChannelSettings > Info */
INFO_URL: string;
/** OpenChannelSettings > Menu */
MENU_MODERATION: string;
MENU_PARTICIPANTS: string;
MENU_DELETE_CHANNEL: string;
/** OpenChannelSettings > Dialog */
DIALOG_CHANNEL_DELETE_CONFIRM_TITLE: string;
DIALOG_CHANNEL_DELETE_CONFIRM_OK: string;
DIALOG_CHANNEL_DELETE_CONFIRM_CANCEL: string;
DIALOG_CHANGE_NAME: string;
DIALOG_CHANGE_IMAGE: string;
DIALOG_CHANGE_NAME_PROMPT_TITLE: string;
DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: string;
DIALOG_CHANGE_NAME_PROMPT_CANCEL: string;
DIALOG_CHANGE_NAME_PROMPT_OK: string;
DIALOG_CHANGE_IMAGE_MENU_TITLE: string;
DIALOG_CHANGE_IMAGE_MENU_CAMERA: string;
DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: string;
};
OPEN_CHANNEL_LIST: {
/** OpenChannelList > Header */
HEADER_TITLE: string;
/** OpenChannelList > Channel preview */
CHANNEL_PREVIEW_TITLE: (channel: SendbirdOpenChannel) => string;
};
OPEN_CHANNEL_CREATE: {
/** OpenChannelCreate > Header */
HEADER_TITLE: string;
HEADER_RIGHT: string;
/** OpenChannelCreate > ProfileInput */
PLACEHOLDER: string;
/** OpenChannelCreate > Dialog */
DIALOG_IMAGE_MENU_REMOVE: string;
DIALOG_IMAGE_MENU_CAMERA: string;
DIALOG_IMAGE_MENU_PHOTO_LIBRARY: string;
};
OPEN_CHANNEL_MODERATION: {
/** OpenChannelModeration > Header */
HEADER_TITLE: string;
/** OpenChannelModeration > Menu */
MENU_OPERATORS: string;
MENU_MUTED_PARTICIPANTS: string;
MENU_BANNED_USERS: string;
};
OPEN_CHANNEL_BANNED_USERS: {
/** OpenChannelBannedUsers > Header */
HEADER_TITLE: string;
};
OPEN_CHANNEL_MUTED_PARTICIPANTS: {
/** OpenChannelMutedMembers > Header */
HEADER_TITLE: string;
};
OPEN_CHANNEL_OPERATORS: {
/** OpenChannelOperators > Header */
HEADER_TITLE: string;
};
OPEN_CHANNEL_REGISTER_OPERATOR: {
/** OpenChannelRegisterOperator > Header */
HEADER_TITLE: string;
HEADER_RIGHT: (params: { selectedUsers: Array<SendbirdParticipant> }) => string;
};
GROUP_CHANNEL: {
/** GroupChannel > Header */
HEADER_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;
/** GroupChannel > List */
LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;
LIST_BUTTON_NEW_MSG: (newMessages: SendbirdMessage[]) => string;
/** GroupChannel > Message bubble */
MESSAGE_BUBBLE_TIME: (message: SendbirdMessage, locale?: Locale) => string;
MESSAGE_BUBBLE_FILE_TITLE: (message: SendbirdFileMessage) => string;
MESSAGE_BUBBLE_EDITED_POSTFIX: string;
MESSAGE_BUBBLE_UNKNOWN_TITLE: (message: SendbirdMessage) => string;
MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;
/** GroupChannel > Suggested mention list */
MENTION_LIMITED: (mentionLimit: number) => string;
};
GROUP_CHANNEL_SETTINGS: {
/** GroupChannelSettings > Header */
HEADER_TITLE: string;
HEADER_RIGHT: string;
/** GroupChannelSettings > Menu */
MENU_MODERATION: string;
MENU_MEMBERS: string;
MENU_SEARCH: string;
MENU_LEAVE_CHANNEL: string;
MENU_NOTIFICATION: string;
MENU_NOTIFICATION_LABEL_ON: string;
MENU_NOTIFICATION_LABEL_OFF: string;
MENU_NOTIFICATION_LABEL_MENTION_ONLY: string;
/** GroupChannelSettings > Dialog */
DIALOG_CHANGE_NAME: string;
DIALOG_CHANGE_IMAGE: string;
DIALOG_CHANGE_NAME_PROMPT_TITLE: string;
DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: string;
DIALOG_CHANGE_NAME_PROMPT_CANCEL: string;
DIALOG_CHANGE_NAME_PROMPT_OK: string;
DIALOG_CHANGE_IMAGE_MENU_TITLE: string;
DIALOG_CHANGE_IMAGE_MENU_CAMERA: string;
DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: string;
};
GROUP_CHANNEL_NOTIFICATIONS: {
/** GroupChannelNotifications > Header */
HEADER_TITLE: string;
/** GroupChannelNotifications > Menu */
MENU_NOTIFICATIONS: string;
MENU_NOTIFICATIONS_DESC: string;
MENU_NOTIFICATIONS_OPTION_ALL: string;
MENU_NOTIFICATIONS_OPTION_MENTION_ONLY: string;
};
GROUP_CHANNEL_MODERATION: {
/** GroupChannelModeration > Header */
HEADER_TITLE: string;
/** GroupChannelModeration > Menu */
MENU_OPERATORS: string;
MENU_MUTED_MEMBERS: string;
MENU_BANNED_USERS: string;
MENU_FREEZE_CHANNEL: string;
};
GROUP_CHANNEL_OPERATORS: {
/** GroupChannelOperators > Header */
HEADER_TITLE: string;
};
GROUP_CHANNEL_REGISTER_OPERATOR: {
/** GroupChannelRegisterOperator > Header */
HEADER_TITLE: string;
HEADER_RIGHT: (params: { selectedUsers: Array<SendbirdMember> }) => string;
};
GROUP_CHANNEL_MUTED_MEMBERS: {
/** GroupChannelMutedMembers > Header */
HEADER_TITLE: string;
};
GROUP_CHANNEL_BANNED_USERS: {
/** GroupChannelBannedUsers > Header */
HEADER_TITLE: string;
};
GROUP_CHANNEL_LIST: {
/** GroupChannelList > Header */
HEADER_TITLE: string;
/** GroupChannelList > Channel preview */
CHANNEL_PREVIEW_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;
CHANNEL_PREVIEW_TITLE_CAPTION: (channel: SendbirdGroupChannel, locale?: Locale) => string;
CHANNEL_PREVIEW_BODY: (channel: SendbirdGroupChannel) => string;
/** GroupChannelList > TypeSelector > Header */
TYPE_SELECTOR_HEADER_TITLE: string;
/** GroupChannelList > TypeSelector > Type string */
TYPE_SELECTOR_GROUP: string;
TYPE_SELECTOR_SUPER_GROUP: string;
TYPE_SELECTOR_BROADCAST: string;
/** GroupChannelList > Dialog > Channel */
DIALOG_CHANNEL_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;
DIALOG_CHANNEL_NOTIFICATION: (channel?: SendbirdGroupChannel) => string;
DIALOG_CHANNEL_LEAVE: string;
};
GROUP_CHANNEL_MEMBERS: {
/** GroupChannelMembers > Header */
HEADER_TITLE: string;
};
GROUP_CHANNEL_INVITE: {
/** GroupChannelInvite > Header */
HEADER_TITLE: string;
HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;
};
GROUP_CHANNEL_CREATE: {
/** GroupChannelCreate > Header */
HEADER_TITLE: string;
HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;
};
MESSAGE_SEARCH: {
/** MessageSearch > Header */
HEADER_INPUT_PLACEHOLDER: string;
HEADER_RIGHT: string;
/** MessageSearch > Search result item */
SEARCH_RESULT_ITEM_TITLE: (message: SendbirdBaseMessage) => string;
SEARCH_RESULT_ITEM_TITLE_CAPTION: (message: SendbirdBaseMessage, locale?: Locale) => string;
SEARCH_RESULT_ITEM_BODY: (message: SendbirdBaseMessage) => string;
};
// UI
LABELS: {
PERMISSION_APP_NAME: string;
PERMISSION_CAMERA: string;
PERMISSION_DEVICE_STORAGE: string;
USER_NO_NAME: string;
CHANNEL_NO_MEMBERS: string;
TYPING_INDICATOR_TYPINGS: (users: SendbirdUser[]) => string | undefined;
REPLY_FROM_SENDER_TO_RECEIVER: (
replyMessage: SendbirdUserMessage | SendbirdFileMessage,
parentMessage: SendbirdUserMessage | SendbirdFileMessage,
currentUserId?: string,
) => string;
USER_BAR_ME_POSTFIX: string;
USER_BAR_OPERATOR: string;
REGISTER_AS_OPERATOR: string;
UNREGISTER_OPERATOR: string;
MUTE: string;
UNMUTE: string;
BAN: string;
UNBAN: string;
/** ChannelMessageList **/
CHANNEL_MESSAGE_LIST_FROZEN: string;
/** ChannelInput **/
CHANNEL_INPUT_PLACEHOLDER_ACTIVE: string;
CHANNEL_INPUT_PLACEHOLDER_DISABLED: string;
CHANNEL_INPUT_PLACEHOLDER_MUTED: string;
CHANNEL_INPUT_PLACEHOLDER_REPLY: string;
CHANNEL_INPUT_EDIT_OK: string;
CHANNEL_INPUT_EDIT_CANCEL: string;
/** ChannelInput > Attachments **/
CHANNEL_INPUT_ATTACHMENT_CAMERA_PHOTO: string;
CHANNEL_INPUT_ATTACHMENT_CAMERA_VIDEO: string;
CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY: string;
CHANNEL_INPUT_ATTACHMENT_FILES: string;
CHANNEL_INPUT_REPLY_PREVIEW_TITLE: (user: SendbirdUser) => string;
CHANNEL_INPUT_REPLY_PREVIEW_BODY: (message: SendbirdUserMessage | SendbirdFileMessage) => string;
/** Channel > Message **/
CHANNEL_MESSAGE_COPY: string;
CHANNEL_MESSAGE_EDIT: string;
CHANNEL_MESSAGE_SAVE: string;
CHANNEL_MESSAGE_DELETE: string;
CHANNEL_MESSAGE_REPLY: string;
/** Channel > Message > Delete confirm **/
CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE: string;
CHANNEL_MESSAGE_DELETE_CONFIRM_DESCRIPTION: string;
CHANNEL_MESSAGE_DELETE_CONFIRM_OK: string;
CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL: string;
/** Channel > Message > Failed **/
CHANNEL_MESSAGE_FAILED_RETRY: string;
CHANNEL_MESSAGE_FAILED_REMOVE: string;
};
FILE_VIEWER: {
TITLE: (message: SendbirdFileMessage) => string;
SUBTITLE: (message: SendbirdFileMessage) => string;
};
PLACEHOLDER: {
NO_BANNED_USERS: string;
NO_USERS: string;
NO_CHANNELS: string;
NO_MESSAGES: string;
NO_MUTED_MEMBERS: string;
NO_MUTED_PARTICIPANTS: string;
NO_RESULTS_FOUND: string;
ERROR: {
MESSAGE: string;
RETRY_LABEL: string;
};
};
DIALOG: {
ALERT_DEFAULT_OK: string;
ALERT_PERMISSIONS_TITLE: string;
ALERT_PERMISSIONS_MESSAGE: (permission: string, appName: string) => string;
ALERT_PERMISSIONS_OK: string;
PROMPT_DEFAULT_OK: string;
PROMPT_DEFAULT_CANCEL: string;
PROMPT_DEFAULT_PLACEHOLDER: string;
};
TOAST: {
COPY_OK: string;
DOWNLOAD_START: string;
DOWNLOAD_OK: string;
DOWNLOAD_ERROR: string;
OPEN_CAMERA_ERROR: string;
OPEN_PHOTO_LIBRARY_ERROR: string;
OPEN_FILES_ERROR: string;
RESEND_MSG_ERROR: string;
DELETE_MSG_ERROR: string;
SEND_MSG_ERROR: string;
UPDATE_MSG_ERROR: string;
TURN_ON_NOTIFICATIONS_ERROR: string;
TURN_OFF_NOTIFICATIONS_ERROR: string;
LEAVE_CHANNEL_ERROR: string;
UNKNOWN_ERROR: string;
GET_CHANNEL_ERROR: string;
FIND_PARENT_MSG_ERROR: string;
};
PROFILE_CARD: {
BUTTON_MESSAGE: string;
BODY_LABEL: string;
BODY: (user: SendbirdUser | SendbirdMember) => string;
};
}