cozy-search
Version:
UI components about search bar and IA assistant
83 lines (64 loc) • 3.12 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = require("@assistant-ui/react");
var _twakeIcons = require("@linagora/twake-icons");
var _react2 = _interopRequireDefault(require("react"));
var _Alert = _interopRequireDefault(require("cozy-ui/transpiled/react/Alert"));
var _Box = _interopRequireDefault(require("cozy-ui/transpiled/react/Box"));
var _Typography = _interopRequireDefault(require("cozy-ui/transpiled/react/Typography"));
var _twakeI18n = require("twake-i18n");
var _MarkdownText = _interopRequireDefault(require("./MarkdownText"));
var _TwakeAssistantIcon = require("../AssistantIcon/TwakeAssistantIcon");
var _Sources = _interopRequireDefault(require("../Conversations/Sources/Sources"));
var useIsErrorMessage = function useIsErrorMessage() {
return (0, _react.useMessage)(function (s) {
var _s$metadata, _s$metadata$custom;
return ((_s$metadata = s.metadata) === null || _s$metadata === void 0 ? void 0 : (_s$metadata$custom = _s$metadata.custom) === null || _s$metadata$custom === void 0 ? void 0 : _s$metadata$custom.isError) === true;
});
};
var AssistantMessage = function AssistantMessage() {
var _useI18n = (0, _twakeI18n.useI18n)(),
t = _useI18n.t;
var isThinking = (0, _react.useMessage)(function (s) {
var _s$status;
return ((_s$status = s.status) === null || _s$status === void 0 ? void 0 : _s$status.type) === 'requires-action';
});
var isError = useIsErrorMessage();
var messageId = (0, _react.useMessage)(function (s) {
return s.id;
});
var sources = (0, _react.useMessage)(function (s) {
var _s$metadata2, _s$metadata2$custom;
return (_s$metadata2 = s.metadata) === null || _s$metadata2 === void 0 ? void 0 : (_s$metadata2$custom = _s$metadata2.custom) === null || _s$metadata2$custom === void 0 ? void 0 : _s$metadata2$custom.sources;
});
return /*#__PURE__*/_react2.default.createElement(_react.MessagePrimitive.Root, {
className: "u-mt-1-half"
}, isThinking && /*#__PURE__*/_react2.default.createElement(_Box.default, {
display: "flex",
alignItems: "center",
gridGap: 12
}, /*#__PURE__*/_react2.default.createElement(_twakeIcons.Icon, {
icon: _TwakeAssistantIcon.TwakeAssistantIcon,
size: 24,
className: "u-mh-half",
color: "var(--primaryColor)"
}), /*#__PURE__*/_react2.default.createElement(_Typography.default, {
variant: "h6",
display: "inline"
}, t('assistant.message.running'))), isError ? /*#__PURE__*/_react2.default.createElement(_Alert.default, {
severity: "error"
}, t('assistant.default_error')) : /*#__PURE__*/_react2.default.createElement(_react.MessagePrimitive.Content, {
components: {
Text: _MarkdownText.default
}
}), (sources === null || sources === void 0 ? void 0 : sources.length) > 0 && /*#__PURE__*/_react2.default.createElement(_Sources.default, {
messageId: messageId,
sources: sources
}));
};
var _default = AssistantMessage;
exports.default = _default;