UNPKG

cozy-search

Version:

UI components about search bar and IA assistant

81 lines (62 loc) 2.36 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _twakeIcons = require("@linagora/twake-icons"); var _react = _interopRequireDefault(require("react")); var _cozyClient = require("cozy-client"); var _file = require("cozy-client/dist/models/file"); var _ListItem = _interopRequireDefault(require("cozy-ui/transpiled/react/ListItem")); var _ListItemIcon = _interopRequireDefault(require("cozy-ui/transpiled/react/ListItemIcon")); var _ListItemText = _interopRequireDefault(require("cozy-ui/transpiled/react/ListItemText")); var _getIconForSearchResult = require("../../Search/getIconForSearchResult"); var styles = { "sourcesItem": "styles__sourcesItem___204Zw" }; var getSlug = function getSlug(file) { if ((0, _file.isNote)(file)) { return 'notes'; } if ((0, _file.isDocs)(file)) { return 'docs'; } return 'drive'; }; var getHash = function getHash(file, slug) { if (slug === 'notes') { return "/n/".concat(file._id); } if (slug === 'docs') { return "/bridge/docs/".concat(file.metadata.externalId); } return "/folder/".concat(file.dir_id, "/file/").concat(file._id); }; var FileSourcesItem = function FileSourcesItem(_ref) { var file = _ref.file; var client = (0, _cozyClient.useClient)(); var slug = getSlug(file); var hash = getHash(file, slug); var docUrl = (0, _cozyClient.generateWebLink)({ slug: slug, cozyUrl: client === null || client === void 0 ? void 0 : client.getStackClient().uri, subDomainType: client === null || client === void 0 ? void 0 : client.getInstanceOptions().subdomain, hash: hash }); return /*#__PURE__*/_react.default.createElement(_ListItem.default, { className: styles['sourcesItem'], component: "a", href: docUrl, target: "_blank", button: true }, /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, /*#__PURE__*/_react.default.createElement(_twakeIcons.Icon, { icon: (0, _getIconForSearchResult.getDriveMimeTypeIcon)(file), size: 32 })), /*#__PURE__*/_react.default.createElement(_ListItemText.default, { primary: file.name, secondary: file.path.replace(file.name, '') })); }; var _default = FileSourcesItem; exports.default = _default;