123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- 'use client'
- import type { FC } from 'react'
- import React from 'react'
- import { useTranslation } from 'react-i18next'
- import ParamItem from '.'
- type Props = {
- className?: string
- value: number
- onChange: (key: string, value: number) => void
- enable: boolean
- hasSwitch?: boolean
- onSwitchChange?: (key: string, enable: boolean) => void
- }
- const VALUE_LIMIT = {
- default: 0.7,
- step: 0.01,
- min: 0,
- max: 1,
- }
- const key = 'score_threshold'
- const ScoreThresholdItem: FC<Props> = ({
- className,
- value,
- enable,
- onChange,
- hasSwitch,
- onSwitchChange,
- }) => {
- const { t } = useTranslation()
- const handleParamChange = (key: string, value: number) => {
- let notOutRangeValue = parseFloat(value.toFixed(2))
- notOutRangeValue = Math.max(VALUE_LIMIT.min, notOutRangeValue)
- notOutRangeValue = Math.min(VALUE_LIMIT.max, notOutRangeValue)
- onChange(key, notOutRangeValue)
- }
- return (
- <ParamItem
- className={className}
- id={key}
- name={t(`appDebug.datasetConfig.${key}`)}
- tip={t(`appDebug.datasetConfig.${key}Tip`) as string}
- {...VALUE_LIMIT}
- value={value}
- enable={enable}
- onChange={handleParamChange}
- hasSwitch={hasSwitch}
- onSwitchChange={onSwitchChange}
- />
- )
- }
- export default React.memo(ScoreThresholdItem)
|