deprecated-model-trigger.tsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import type { FC } from 'react'
  2. import { useTranslation } from 'react-i18next'
  3. import ModelIcon from '../model-icon'
  4. import { AlertTriangle } from '@/app/components/base/icons/src/vender/line/alertsAndFeedback'
  5. import { useProviderContext } from '@/context/provider-context'
  6. import Tooltip from '@/app/components/base/tooltip'
  7. type ModelTriggerProps = {
  8. modelName: string
  9. providerName: string
  10. className?: string
  11. }
  12. const ModelTrigger: FC<ModelTriggerProps> = ({
  13. modelName,
  14. providerName,
  15. className,
  16. }) => {
  17. const { t } = useTranslation()
  18. const { modelProviders } = useProviderContext()
  19. const currentProvider = modelProviders.find(provider => provider.provider === providerName)
  20. return (
  21. <div
  22. className={`
  23. group flex items-center px-2 h-8 rounded-lg bg-[#FFFAEB] cursor-pointer
  24. ${className}
  25. `}
  26. >
  27. <ModelIcon
  28. className='shrink-0 mr-1.5'
  29. provider={currentProvider}
  30. modelName={modelName}
  31. />
  32. <div className='mr-1 text-[13px] font-medium text-gray-800 truncate'>
  33. {modelName}
  34. </div>
  35. <div className='shrink-0 flex items-center justify-center w-4 h-4'>
  36. <Tooltip popupContent={t('common.modelProvider.deprecated')}>
  37. <AlertTriangle className='w-4 h-4 text-[#F79009]' />
  38. </Tooltip>
  39. </div>
  40. </div>
  41. )
  42. }
  43. export default ModelTrigger