import type { FC } from 'react' import React from 'react' import { useTranslation } from 'react-i18next' import { PlayIcon, } from '@heroicons/react/24/solid' import Select from '@/app/components/base/select' import type { SiteInfo } from '@/models/share' import type { PromptConfig } from '@/models/debug' import Button from '@/app/components/base/button' import { DEFAULT_VALUE_MAX_LEN } from '@/config' export type IConfigSenceProps = { siteInfo: SiteInfo promptConfig: PromptConfig inputs: Record onInputsChange: (inputs: Record) => void query: string onQueryChange: (query: string) => void onSend: () => void } const ConfigSence: FC = ({ promptConfig, inputs, onInputsChange, query, onQueryChange, onSend, }) => { const { t } = useTranslation() return (
{/* input form */}
{promptConfig.prompt_variables.map(item => (
{item.type === 'select' ? ( { onInputsChange({ ...inputs, [item.key]: e.target.value }) }} maxLength={item.max_length || DEFAULT_VALUE_MAX_LEN} /> )}
))} {promptConfig.prompt_variables.length > 0 && (
)}
{query?.length}
) } export default React.memo(ConfigSence)