UNPKG

@alauda/doom

Version:

Doctor Doom making docs.

31 lines (30 loc) 1.37 kB
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, {}) }));