'use client' import type { FC } from 'react' import React, { useCallback, useState } from 'react' import { DataType } from './types' import ModalLikeWrap from '../../base/modal-like-wrap' import Field from './field' import OptionCard from '../../workflow/nodes/_base/components/option-card' import Input from '@/app/components/base/input' import { RiArrowLeftLine } from '@remixicon/react' import { useTranslation } from 'react-i18next' const i18nPrefix = 'dataset.metadata.createMetadata' export type Props = { onSave: (data: any) => void hasBack?: boolean onBack?: () => void } const CreateContent: FC = ({ hasBack, onBack, onSave, }) => { const { t } = useTranslation() const [type, setType] = useState(DataType.string) const handleTypeChange = useCallback((newType: DataType) => { return () => setType(newType) }, [setType]) const [name, setName] = useState('') const handleNameChange = useCallback((e: React.ChangeEvent) => { setName(e.target.value) }, [setName]) const handleSave = useCallback(() => { onSave({ type, name, }) }, [onSave, type, name]) return ( { }} onConfirm={handleSave} hideCloseBtn={hasBack} beforeHeader={hasBack && (
{t(`${i18nPrefix}.back`)}
)} >
) } export default React.memo(CreateContent)