@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
26 lines (23 loc) • 1.44 kB
JavaScript
import { __assign } from 'tslib';
import React__default, { useState, useEffect } from 'react';
import '../../types/models.js';
import '../../types/events.js';
import '../Icon/type.js';
import '../Icon/config.js';
import { UIGroupPreviewContent } from './UIGroupPreviewContent.js';
import { getDisplayTitle, getDisplayImage } from './utils.js';
function UIGroupPreview(props) {
var activeGroup = props.activeGroup, setActiveGroup = props.setActiveGroup, group = props.group, _a = props.Preview, Preview = _a === void 0 ? UIGroupPreviewContent : _a, searchValue = props.searchValue;
var _b = useState(group === null || group === void 0 ? void 0 : group.avatar), displayImage = _b[0], setDisplayImage = _b[1];
var _c = useState(getDisplayTitle(group, searchValue)), displayTitle = _c[0], setDisplayTitle = _c[1];
var isActive = (activeGroup === null || activeGroup === void 0 ? void 0 : activeGroup.id) === (group === null || group === void 0 ? void 0 : group.id);
if (!Preview)
return null;
useEffect(function () {
setDisplayTitle(getDisplayTitle(group, searchValue));
setDisplayImage(getDisplayImage(group));
}, [group, searchValue]);
return (React__default.createElement(Preview, __assign({}, props, { active: isActive, displayImage: displayImage, displayTitle: displayTitle, setActiveGroup: setActiveGroup })));
}
export { UIGroupPreview };
//# sourceMappingURL=UIGroupPreview.js.map