@droppii-org/chat-sdk
Version:
Droppii React Chat SDK
26 lines (25 loc) • 1.9 kB
JavaScript
"use client";
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { Avatar, message } from "antd";
import { highlightSearch, sanitizeHtml } from "../../../utils/common";
import useConversationStore from "../../../store/conversation";
import { useTranslation } from "react-i18next";
const SearchItemAsUser = (props) => {
var _a, _b, _c, _d, _e, _f;
const { session, searchTerm = "" } = props;
const { t } = useTranslation();
const ownerName = `${(_a = session.owner) === null || _a === void 0 ? void 0 : _a.fullName}${((_b = session.owner) === null || _b === void 0 ? void 0 : _b.username) ? ` (${(_c = session.owner) === null || _c === void 0 ? void 0 : _c.username})` : ""}`;
const onPressItem = async () => {
if (!(session === null || session === void 0 ? void 0 : session.conversation)) {
return message.error(t("err_get_conversation"));
}
useConversationStore.getState().setConversationData(session.conversation);
useConversationStore
.getState()
.setSelectedConversationId(session.conversationId);
};
return (_jsxs("div", { className: "py-3 px-2 flex items-center gap-3 hover:bg-gray-100 hover:rounded-sm cursor-pointer border-b mx-1", onClick: onPressItem, children: [_jsx(Avatar, { size: "large", src: (_d = session.owner) === null || _d === void 0 ? void 0 : _d.avatar, alt: (_e = session.owner) === null || _e === void 0 ? void 0 : _e.username, children: (_f = session.owner) === null || _f === void 0 ? void 0 : _f.fullName.charAt(0).toUpperCase() }), _jsx("div", { className: "flex flex-col flex-1 min-w-0", children: _jsx("p", { className: "text-sm font-semibold truncate", dangerouslySetInnerHTML: {
__html: sanitizeHtml(highlightSearch(ownerName, searchTerm)),
} }) })] }, session.id));
};
export default SearchItemAsUser;