import React, { FC } from 'react'; import { useTranslation } from 'react-i18next'; import { Container, Heading, useToast, VStack } from '@chakra-ui/react'; import { useNavigate } from 'react-router-dom'; import { withLandingThemeProvider } from '../../containers'; import { OrderForm, OrderFormProps } from '../../components/order-form'; import { useCreateOrderMutation } from '../../api'; import { URLs } from '../../__data__/urls'; import { formatFormValues } from './helper'; const Page: FC = () => { const { t } = useTranslation('~', { keyPrefix: 'dry-wash.order-create', }); const [createOrder, createOrderMutation] = useCreateOrderMutation(); const toast = useToast(); const navigate = useNavigate(); const onOrderFormSubmit: OrderFormProps['onSubmit'] = (values) => { createOrder({ body: formatFormValues(values) }) .then(({ body: { id: orderId } }) => { navigate({ pathname: URLs.orderView.getUrl(orderId) }); toast({ status: 'success', title: t('create-order-query.success.title'), }); }) .catch(({ error: errorMessage }) => { toast({ status: 'error', title: t('create-order-query.error.title'), description: errorMessage, }); }); }; return ( {t('title')} ); }; export default withLandingThemeProvider(Page);