'use client' import React, { useState } from 'react' import { useRouter } from 'next/navigation' import { useTranslation } from 'react-i18next' import { useContext } from 'use-context-selector' import s from './index.module.css' import cn from '@/utils/classnames' import Modal from '@/app/components/base/modal' import Input from '@/app/components/base/input' import Button from '@/app/components/base/button' import { ToastContext } from '@/app/components/base/toast' import { createEmptyDataset } from '@/service/datasets' type IProps = { show: boolean onHide: () => void } const EmptyDatasetCreationModal = ({ show = false, onHide, }: IProps) => { const [inputValue, setInputValue] = useState('') const { t } = useTranslation() const { notify } = useContext(ToastContext) const router = useRouter() const submit = async () => { if (!inputValue) { notify({ type: 'error', message: t('datasetCreation.stepOne.modal.nameNotEmpty') }) return } if (inputValue.length > 40) { notify({ type: 'error', message: t('datasetCreation.stepOne.modal.nameLengthInvalid') }) return } try { const dataset = await createEmptyDataset({ name: inputValue }) onHide() router.push(`/datasets/${dataset.id}/documents`) } catch (err) { notify({ type: 'error', message: t('datasetCreation.stepOne.modal.failed') }) } } return (
{t('datasetCreation.stepOne.modal.title')}
{t('datasetCreation.stepOne.modal.tip')}
{t('datasetCreation.stepOne.modal.input')}
setInputValue(e.target.value)} />
) } export default EmptyDatasetCreationModal