'use client' import type { FC } from 'react' import React, { useCallback } from 'react' import { useTranslation } from 'react-i18next' import { produce } from 'immer' import OptionCard from '@/app/components/workflow/nodes/_base/components/option-card' import { Resolution, TransferMethod } from '@/types/app' import ParamItem from '@/app/components/base/param-item' import Tooltip from '@/app/components/base/tooltip' import { useFeatures, useFeaturesStore } from '@/app/components/base/features/hooks' import type { FileUpload } from '@/app/components/base/features/types' const MIN = 1 const MAX = 6 const ParamConfigContent: FC = () => { const { t } = useTranslation() const file = useFeatures(s => s.features.file) const featuresStore = useFeaturesStore() const handleChange = useCallback((data: FileUpload) => { const { features, setFeatures, } = featuresStore!.getState() const newFeatures = produce(features, (draft) => { draft.file = { ...draft.file, allowed_file_upload_methods: data.allowed_file_upload_methods, number_limits: data.number_limits, image: { enabled: data.enabled, detail: data.image?.detail, transfer_methods: data.allowed_file_upload_methods, number_limits: data.number_limits, }, } }) setFeatures(newFeatures) }, [featuresStore]) return (