@findify/react-components
Version:
Findify react UI components
57 lines (46 loc) • 1.61 kB
JavaScript
/**
* @module components/search/Query
*/
import { useQuery } from '@findify/react-connect';
var styles = {
"root": "findify-components-search--query"
};
import escape from 'lodash/escape';
import Text from "../../Text";
import useTranslations from "../../../helpers/useTranslations";
import { memo } from 'react';
import { jsx as _jsx } from "react/jsx-runtime";
var getContent = function getContent(meta, translate) {
var hasFilters = !!meta.get('filters');
var q = escape(meta.get('q'));
var total = meta.get('total');
if (!q && !hasFilters) {
return translate('search.noQuery');
}
if (hasFilters && !q) {
return translate('search.showingEmpty', total);
}
if (meta.get('corrected_q')) {
var _text = translate('search.showing', total);
return "".concat(_text, " \"").concat(escape(meta.get('corrected_q')), "\". ").concat(translate('search.zeroResultsFor'), " \"").concat(q, "\".");
}
if (meta.get('query_type') === 'or') {
var _text2 = translate('search.showing', '0');
return "".concat(_text2, " \"").concat(q, "\". ").concat(translate('search.partialMatch'));
}
var text = translate('search.showing', total);
return "".concat(text, " \"").concat(q, "\".");
};
export default /*#__PURE__*/memo(function (_ref) {
var _ref$theme = _ref.theme,
theme = _ref$theme === void 0 ? styles : _ref$theme;
var _useQuery = useQuery(),
meta = _useQuery.meta;
var translate = useTranslations();
return /*#__PURE__*/_jsx(Text, {
primary: true,
uppercase: true,
className: theme.root,
html: getContent(meta, translate)
});
});