You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.tsx 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. 'use client'
  2. import type { FC } from 'react'
  3. import React from 'react'
  4. import { useTranslation } from 'react-i18next'
  5. import { useContext } from 'use-context-selector'
  6. import Panel from '../base/feature-panel'
  7. import ParamConfig from './param-config'
  8. import Tooltip from '@/app/components/base/tooltip'
  9. import Switch from '@/app/components/base/switch'
  10. import { Eye } from '@/app/components/base/icons/src/vender/solid/general'
  11. import ConfigContext from '@/context/debug-configuration'
  12. const ConfigVision: FC = () => {
  13. const { t } = useTranslation()
  14. const {
  15. isShowVisionConfig,
  16. visionConfig,
  17. setVisionConfig,
  18. } = useContext(ConfigContext)
  19. if (!isShowVisionConfig)
  20. return null
  21. return (<>
  22. <Panel
  23. className="mt-4"
  24. headerIcon={
  25. <Eye className='w-4 h-4 text-[#6938EF]'/>
  26. }
  27. title={
  28. <div className='flex items-center'>
  29. <div className='mr-1'>{t('appDebug.vision.name')}</div>
  30. <Tooltip
  31. popupContent={
  32. <div className='w-[180px]' >
  33. {t('appDebug.vision.description')}
  34. </div>
  35. }
  36. />
  37. </div>
  38. }
  39. headerRight={
  40. <div className='flex items-center'>
  41. <ParamConfig />
  42. <div className='ml-4 mr-3 w-[1px] h-3.5 bg-gray-200'></div>
  43. <Switch
  44. defaultValue={visionConfig.enabled}
  45. onChange={value => setVisionConfig({
  46. ...visionConfig,
  47. enabled: value,
  48. })}
  49. size='md'
  50. />
  51. </div>
  52. }
  53. noBodySpacing
  54. />
  55. </>
  56. )
  57. }
  58. export default React.memo(ConfigVision)