UNPKG

@antv/dumi-theme-antv

Version:
85 lines (84 loc) 3.2 kB
import { useIntl, useSiteData } from 'dumi'; import React from 'react'; import styles from "./SearchResult.module.less"; import classnames from "classnames"; import { AIChatStore, createNewSession } from "../../../model/AIChat"; import { authStore, showLoginModal } from "../../../model/auth"; import { useSnapshot } from "valtio"; var getHighlightInfo = function getHighlightInfo(textSegments) { return /*#__PURE__*/React.createElement(React.Fragment, null, textSegments.map(function (segment) { return /*#__PURE__*/React.createElement("span", { className: "".concat(styles.segment, " ").concat(segment.highlighted ? styles.highlighted : '') }, segment.text); })); }; /** * 展示搜索结果 * @returns */ export var SearchResult = function SearchResult(_ref) { var results = _ref.results, keywords = _ref.keywords; var _useSiteData = useSiteData(), themeConfig = _useSiteData.themeConfig; var intl = useIntl(); var authSnap = useSnapshot(authStore); function pureSearch() { AIChatStore.mode = 'solve'; createNewSession({ promptText: keywords, mode: 'solve', lib: !themeConfig.isAntVSite ? themeConfig.title : undefined, jump: true, lang: intl.locale === 'zh' ? 'zh' : 'en', entry_point: 'SearchResult' }); } return /*#__PURE__*/React.createElement("div", { className: styles.searchResult }, /*#__PURE__*/React.createElement("div", { className: styles.item }, /*#__PURE__*/React.createElement("div", { className: styles.subject }, /*#__PURE__*/React.createElement("img", { src: "https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*7svFR6wkPMoAAAAAAAAAAAAADmJ7AQ/original", alt: "AntV" })), /*#__PURE__*/React.createElement("div", { className: styles.br }), /*#__PURE__*/React.createElement("a", { className: styles.result, onClick: function onClick() { if (!authSnap.isAuthenticated) { showLoginModal(pureSearch); return; } pureSearch(); } }, /*#__PURE__*/React.createElement("div", { className: classnames(styles.title, styles.highlighted) }, keywords), /*#__PURE__*/React.createElement("div", { className: styles.description }, intl.formatMessage({ id: 'ai.search.try' }), "\xA0", /*#__PURE__*/React.createElement("span", { className: styles.highlighted }, "AI"), "\xA0", intl.formatMessage({ id: 'ai.search.visualization' })))), results !== null && results !== void 0 && results.length ? results.map(function (r, index) { return /*#__PURE__*/React.createElement("div", { className: styles.item, key: index }, /*#__PURE__*/React.createElement("div", { className: styles.subject }, r.subject), /*#__PURE__*/React.createElement("div", { className: styles.br }), /*#__PURE__*/React.createElement("a", { className: styles.result, href: r.link }, /*#__PURE__*/React.createElement("div", { className: styles.title }, getHighlightInfo(r.title)), /*#__PURE__*/React.createElement("div", { className: styles.description }, getHighlightInfo(r.description)))); }) : /*#__PURE__*/React.createElement(React.Fragment, null)); };