Files
chat/client/web/plugins/com.msgbyte.openapi/src/MainPanel/AppInfo/Bot.tsx

47 lines
1.2 KiB
TypeScript
Raw Normal View History

2026-04-25 16:36:34 +08:00
import React from 'react';
import {
DefaultFullModalInputEditorRender,
FullModalField,
Switch,
} from '@capital/component';
import { useOpenAppInfo } from '../context';
import { Translate } from '../../translate';
import { useOpenAppAction } from './useOpenAppAction';
const Bot: React.FC = React.memo(() => {
const { capability, bot } = useOpenAppInfo();
const { loading, handleChangeAppCapability, handleUpdateBotInfo } =
useOpenAppAction();
return (
<div className="plugin-openapi-app-info_bot">
<FullModalField
title={Translate.enableBotCapability}
content={
<Switch
disabled={loading}
checked={capability.includes('bot')}
onChange={(checked) => handleChangeAppCapability('bot', checked)}
/>
}
/>
{capability.includes('bot') && (
<FullModalField
title={Translate.bot.callback}
tip={Translate.bot.callbackTip}
value={bot?.callbackUrl}
editable={true}
renderEditor={DefaultFullModalInputEditorRender}
onSave={(str: string) =>
handleUpdateBotInfo('callbackUrl', String(str))
}
/>
)}
</div>
);
});
Bot.displayName = 'Bot';
export default Bot;