import React from 'react'; import { ClusterId, CleanupPolicy, TopicFormData, TopicName } from 'redux/interfaces'; import Breadcrumb from 'components/common/Breadcrumb/Breadcrumb'; import { clusterTopicsPath } from 'lib/paths'; import { useForm, ErrorMessage } from 'react-hook-form'; import { TOPIC_NAME_VALIDATION_PATTERN, MILLISECONDS_IN_DAY, BYTES_IN_GB, } from 'lib/constants'; interface Props { clusterId: ClusterId; isTopicCreated: boolean; createTopic: (clusterId: ClusterId, form: TopicFormData) => void; redirectToTopicPath: (clusterId: ClusterId, topicName: TopicName) => void; } const New: React.FC = ({ clusterId, isTopicCreated, createTopic, redirectToTopicPath, }) => { const { register, handleSubmit, errors, getValues } = useForm(); const [isSubmitting, setIsSubmitting] = React.useState(false); React.useEffect( () => { if (isSubmitting && isTopicCreated) { const { name } = getValues(); redirectToTopicPath(clusterId, name); } }, [isSubmitting, isTopicCreated, redirectToTopicPath, clusterId, getValues], ); const onSubmit = async (data: TopicFormData) => { setIsSubmitting(true); createTopic(clusterId, data); } return (
New Topic

); } export default New;