/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0 */ import { Button, Container, Form, FormField, Header, Input, SpaceBetween, Textarea, TextContent, } from '@cloudscape-design/components'; import { useRouter } from 'next/router'; import { useState } from 'react'; import { createCase } from '../../api/cases'; import { commonLabels, createCaseLabels } from '../../common/labels'; import { useNotifications } from '../../context/NotificationsContext'; import { CreateCaseForm } from '../../models/Cases'; function CreateCasesForm(): JSX.Element { const [IsSubmitLoading, setIsSubmitLoading] = useState(false); const router = useRouter(); const [formData, setFormData] = useState({ name: '' }); const { pushNotification } = useNotifications(); async function onSubmitHandler() { setIsSubmitLoading(true); try { await createCase(formData); return router.push('/'); } catch (e) { if (e instanceof Error) { pushNotification('error', e.message); } } finally { setIsSubmitLoading(false); } } function onCancelHandler() { return router.push('/'); } return (
} > {createCaseLabels.enterCaseDetailsLabel}}> { setFormData({ ...formData, name: value }); }} />

{createCaseLabels.caseNameSubtext}

{createCaseLabels.caseDescription} {commonLabels.optionalLabel}{' '} } description={createCaseLabels.caseDescriptionSubtext} >