import { Box, Button, Text } from "@saleor/macaw-ui/next"; import { NextPage } from "next"; import { SectionWithDescription } from "../../../components/section-with-description"; import { BoxWithBorder } from "../../../components/box-with-border"; import { defaultPadding } from "../../../components/ui-defaults"; import { BoxFooter } from "../../../components/box-footer"; import { trpcClient } from "../../../modules/trpc/trpc-client"; import { useDashboardNotification } from "@saleor/apps-shared/src/use-dashboard-notification"; import { Controller, useForm } from "react-hook-form"; import { SendgridCreateConfigurationInput } from "../../../modules/sendgrid/configuration/sendgrid-config-input-schema"; import { BasicLayout } from "../../../components/basic-layout"; import { useRouter } from "next/router"; import { sendgridUrls } from "../../../modules/sendgrid/urls"; import { appUrls } from "../../../modules/app-configuration/urls"; import { setBackendErrors } from "../../../lib/set-backend-errors"; import { Input } from "@saleor/react-hook-form-macaw"; import { SendgridApiKeyDescriptionText } from "../../../modules/sendgrid/ui/sendgrid-api-key-description-text"; import { ConfigurationNameDescriptionText } from "../../../modules/app-configuration/ui/configuration-name-description-text"; const NewSendgridConfigurationPage: NextPage = () => { const router = useRouter(); const { notifySuccess, notifyError } = useDashboardNotification(); const { handleSubmit, control, setError } = useForm(); const { mutate: createConfiguration } = trpcClient.sendgridConfiguration.createConfiguration.useMutation({ onSuccess: async (data, variables) => { notifySuccess("Configuration saved"); router.push(sendgridUrls.configuration(data.id)); }, onError(error) { setBackendErrors({ error, setError, notifyError, }); }, }); return ( Connect Sendgrid with Saleor. } >
{ createConfiguration({ ...data, }); })} > {/* TODO: add key validation */}
); }; export default NewSendgridConfigurationPage;