import { Box, Button, Divider, 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 { useForm } from "react-hook-form"; import { SmtpCreateConfigurationInput, smtpCreateConfigurationInputSchema, } from "../../../modules/smtp/configuration/smtp-config-input-schema"; import { BasicLayout } from "../../../components/basic-layout"; import { useRouter } from "next/router"; import { zodResolver } from "@hookform/resolvers/zod"; import { appUrls } from "../../../modules/app-configuration/urls"; import { smtpUrls } from "../../../modules/smtp/urls"; import { setBackendErrors } from "../../../lib/set-backend-errors"; import { Input } from "@saleor/react-hook-form-macaw"; const NewSmtpConfigurationPage: NextPage = () => { const router = useRouter(); const { notifySuccess, notifyError } = useDashboardNotification(); const { handleSubmit, control, setError, register } = useForm({ defaultValues: { encryption: "NONE" }, resolver: zodResolver(smtpCreateConfigurationInputSchema), }); const { mutate } = trpcClient.smtpConfiguration.createConfiguration.useMutation({ onSuccess: async (data, variables) => { notifySuccess("Configuration saved"); router.push(smtpUrls.configuration(data.id)); }, onError(error) { setBackendErrors({ error, setError, notifyError, }); }, }); return ( Connect SMTP with Saleor. Provide unique name for your configuration - you can create more than one. For example - production and development. Then, pass your API Key. Obtain it here. } >
{ mutate({ ...data, }); })} > SMTP server connection
); }; export default NewSmtpConfigurationPage;