import type { MouseEvent } from 'react'; import { useTranslation } from 'react-i18next'; import { Button, Collapse, Popover, Tag, Tooltip, message } from 'antd'; import { CopyOutlined, DownloadOutlined, QrcodeOutlined } from '@ant-design/icons'; import { ClipboardManager, FileManager } from '@/utils'; import { QrPanel } from '@/pages/inbounds/qr'; import './ConfigBlock.css'; interface ConfigBlockProps { label: string; text: string; fileName: string; qrRemark?: string; showQr?: boolean; tagColor?: string; defaultOpen?: boolean; } export default function ConfigBlock({ label, text, fileName, qrRemark = '', showQr = true, tagColor = 'gold', defaultOpen = false, }: ConfigBlockProps) { const { t } = useTranslation(); const [messageApi, messageContextHolder] = message.useMessage(); async function copy() { const ok = await ClipboardManager.copyText(text); if (ok) messageApi.success(t('copied')); } const actions = (
{text},
}]}
/>
>
);
}