@netdata/netdata-ui
Version:
netdata UI kit
106 lines (105 loc) • 4.2 kB
JavaScript
"use strict";
exports.__esModule = true;
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _tabs = require("../../../components/tabs");
var _flex = _interopRequireDefault(require("../../../components/templates/flex"));
var _typography = require("../../../components/typography");
var _theme = require("../../../theme");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
var Link = _styledComponents["default"].a.withConfig({
displayName: "results__Link",
componentId: "sc-3ulv4x-0"
})(["text-decoration:none;&:hover,&:visited{color:", ";}"], (0, _theme.getColor)("primary"));
var Section = function Section(_ref) {
var title = _ref.title,
description = _ref.description,
url = _ref.url;
return /*#__PURE__*/_react["default"].createElement(_flex["default"], {
gap: 2,
column: true
}, /*#__PURE__*/_react["default"].createElement(_typography.Text, {
strong: true,
dangerouslySetInnerHTML: {
__html: (title == null ? void 0 : title.snippet) || (title == null ? void 0 : title.raw) || "Untitled"
}
}), !!description && /*#__PURE__*/_react["default"].createElement(_typography.Text, {
dangerouslySetInnerHTML: {
__html: ((description == null ? void 0 : description.snippet) || (description == null ? void 0 : description.raw) || "No description") + "…"
}
}), /*#__PURE__*/_react["default"].createElement(_flex["default"], {
alignSelf: "end"
}, /*#__PURE__*/_react["default"].createElement(_typography.Text, {
as: Link,
color: "primary",
href: url,
target: "_blank"
}, "Read \u2192")));
};
var Container = function Container(props) {
return /*#__PURE__*/_react["default"].createElement(_flex["default"], _extends({
overflow: {
vertical: "auto"
},
padding: [6, 4],
gap: 6,
column: true
}, props));
};
var StyledTabs = (0, _styledComponents["default"])(_tabs.Tabs).withConfig({
displayName: "results__StyledTabs",
componentId: "sc-3ulv4x-1"
})(["width:100%;.tabs > *{min-width:160px;max-width:100%;}"]);
var keys = ["learn",
// "github-cloud",
// "github-agent",
"community"];
var tabValuesByKey = {
learn: "learn.netdata",
community: "discourse",
"github-cloud": "netdata-cloud",
"github-agent": "netdata"
};
var tabNameByKey = {
learn: "Documentation",
community: "Community",
"github-cloud": "Github / Cloud",
"github-agent": "Github / Agent"
};
var SearchResults = function SearchResults(_ref2) {
var results = _ref2.results;
return /*#__PURE__*/_react["default"].createElement(_flex["default"], {
overflow: {
vertical: "auto"
},
"data-testid": "searchResults",
flex: true,
width: "1000px",
height: "60vh"
}, /*#__PURE__*/_react["default"].createElement(StyledTabs, null, keys.map(function (key) {
var tabResults = results[tabValuesByKey[key]];
var tabResultsCount = tabResults == null ? void 0 : tabResults.length;
return /*#__PURE__*/_react["default"].createElement(_tabs.Tab, {
key: key,
label: "" + tabNameByKey[key] + (tabResultsCount ? " (" + tabResultsCount + ")" : "")
}, /*#__PURE__*/_react["default"].createElement(Container, null, !tabResultsCount ? /*#__PURE__*/_react["default"].createElement(_flex["default"], {
padding: [4]
}, /*#__PURE__*/_react["default"].createElement(_typography.Text, {
strong: true
}, "No results")) : tabResults.map(function (result) {
var id = result.id,
url = result.url,
title = result.title,
description = result.description;
return /*#__PURE__*/_react["default"].createElement(Section, {
key: id.raw,
url: url.raw,
title: title,
description: description
});
})));
})));
};
var _default = exports["default"] = SearchResults;