import { Fragment } from 'react' import type { FC } from 'react' import { Popover, Transition } from '@headlessui/react' import { useTranslation } from 'react-i18next' import { Check, DotsHorizontal, Trash03 } from '@/app/components/base/icons/src/vender/line/general' const itemClassName = ` flex items-center px-3 h-9 text-sm text-gray-700 rounded-lg cursor-pointer ` type SelectorProps = { value?: string onOperate: (v: Record) => void hiddenOptions?: boolean className?: (v: boolean) => string deleteText?: string } const Selector: FC = ({ value, onOperate, hiddenOptions, className, deleteText, }) => { const { t } = useTranslation() const options = [ { key: 'custom', text: 'API', }, { key: 'system', text: t('common.modelProvider.quota'), }, ] return ( { ({ open }) => (
) }
{ !hiddenOptions && ( <>
{t('common.modelProvider.card.priorityUse')}
{ options.map(option => (
onOperate({ type: 'priority', value: option.key })}>
{option.text}
{value === option.key && }
)) }
) }
onOperate({ type: 'delete' })}> {deleteText || t('common.modelProvider.card.removeKey')}
) } export default Selector