stream-chat-react-native-core
Version:
The official React Native and Expo components for Stream Chat, a service for building chat applications
53 lines • 1.81 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useChannelDetailsNavigationItems = exports.getChannelDetailsNavigationItems = void 0;
var _react = require("react");
var _ComponentsContext = require("../../../contexts/componentsContext/ComponentsContext");
var _TranslationContext = require("../../../contexts/translationContext/TranslationContext");
var SECTION_CONFIG = {
'pinned-messages': {
icon: 'Pin',
label: 'Pinned Messages'
},
'photos-and-videos': {
icon: 'Picture',
label: 'Photos & Videos'
},
files: {
icon: 'Folder',
label: 'Files'
}
};
var SECTIONS = Object.keys(SECTION_CONFIG);
var getChannelDetailsNavigationItems = ({
defaultItems
}) => defaultItems;
exports.getChannelDetailsNavigationItems = getChannelDetailsNavigationItems;
var useChannelDetailsNavigationItems = ({
getNavigationItems = getChannelDetailsNavigationItems
} = {}) => {
var _useComponentsContext = (0, _ComponentsContext.useComponentsContext)(),
icons = _useComponentsContext.icons;
var _useTranslationContex = (0, _TranslationContext.useTranslationContext)(),
t = _useTranslationContex.t;
var context = (0, _react.useMemo)(() => ({
t
}), [t]);
var defaultItems = (0, _react.useMemo)(() => SECTIONS.map(section => {
var _SECTION_CONFIG$secti = SECTION_CONFIG[section],
icon = _SECTION_CONFIG$secti.icon,
label = _SECTION_CONFIG$secti.label;
return {
Icon: icons[icon],
label: t(label),
section
};
}), [icons, t]);
return (0, _react.useMemo)(() => getNavigationItems({
context,
defaultItems
}), [context, defaultItems, getNavigationItems]);
};
exports.useChannelDetailsNavigationItems = useChannelDetailsNavigationItems;
//# sourceMappingURL=useChannelDetailsNavigationItems.js.map