Severian's picture
initial commit
a8b3f00
raw
history blame
1.28 kB
'use client'
import type { FC } from 'react'
import React, { useCallback } from 'react'
import { useTranslation } from 'react-i18next'
import OptionCard from '@/app/components/workflow/nodes/_base/components/option-card'
import { Resolution } from '@/types/app'
const i18nPrefix = 'workflow.nodes.llm'
type Props = {
value: Resolution
onChange: (value: Resolution) => void
}
const ResolutionPicker: FC<Props> = ({
value,
onChange,
}) => {
const { t } = useTranslation()
const handleOnChange = useCallback((value: Resolution) => {
return () => {
onChange(value)
}
}, [onChange])
return (
<div className='flex items-center justify-between'>
<div className='mr-2 text-xs font-medium text-gray-500 uppercase'>{t(`${i18nPrefix}.resolution.name`)}</div>
<div className='flex items-center space-x-1'>
<OptionCard
title={t(`${i18nPrefix}.resolution.high`)}
onSelect={handleOnChange(Resolution.high)}
selected={value === Resolution.high}
/>
<OptionCard
title={t(`${i18nPrefix}.resolution.low`)}
onSelect={handleOnChange(Resolution.low)}
selected={value === Resolution.low}
/>
</div>
</div>
)
}
export default React.memo(ResolutionPicker)