@alauda/doom
Version:
Doctor Doom making docs.
31 lines (30 loc) • 1.37 kB
JavaScript
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
import { isProduction, NoSSR } from '@rspress/core/runtime';
import { useState } from 'react';
import { Tooltip } from 'react-tooltip';
import { AIAssistant } from "./AIAssistant/index.js";
import assistantIcon from '@alauda/doom/assets/assistant.svg';
import { useMemoizedFn, useTranslation } from '@alauda/doom/runtime';
const ALLOWED_DOMAINS = new Set([
'docs-dev.alauda.cn',
'docs.alauda.cn',
'docs.alauda.io',
]);
if (!isProduction()) {
ALLOWED_DOMAINS.add('localhost');
}
const Intelligence_ = () => {
const t = useTranslation();
const [open, setOpen] = useState(false);
const toggleOpen = useMemoizedFn(() => {
setOpen((prev) => !prev);
});
return (_jsxs(_Fragment, { children: [_jsx(AIAssistant, { open: open, onOpenChange: toggleOpen }), open || (_jsx("button", { type: "button", className: "intelligence-entry", onClick: toggleOpen, children: _jsx("img", { alt: t('ai_assistant'), src: assistantIcon }) })), _jsx(Tooltip, { anchorSelect: ".intelligence-entry", place: "left", children: t('ai_assistant') })] }));
};
const Intelligence = () => {
if (!ALLOWED_DOMAINS.has(location.hostname)) {
return;
}
return _jsx(Intelligence_, {});
};
export default () => (_jsx(NoSSR, { children: _jsx(Intelligence, {}) }));