import React, { useState } from 'react'; import { Field, Form, Formik } from 'formik'; import useSWR from 'swr'; import LoadingSpinner from '../../Common/LoadingSpinner'; import Button from '../../Common/Button'; import { defineMessages, useIntl } from 'react-intl'; import Axios from 'axios'; import * as Yup from 'yup'; const messages = defineMessages({ save: 'Save Changes', saving: 'Saving...', }); const NotificationsDiscord: React.FC = () => { const intl = useIntl(); const { data, error, revalidate } = useSWR( '/api/v1/settings/notifications/discord' ); const NotificationsDiscordSchema = Yup.object().shape({ webhookUrl: Yup.string().required('You must provide a webhook URL'), }); if (!data && !error) { return ; } return ( { try { await Axios.post('/api/v1/settings/notifications/discord', { enabled: values.enabled, types: values.types, options: { webhookUrl: values.webhookUrl, }, }); } catch (e) { // TODO show error } finally { revalidate(); } }} > {({ errors, touched, isSubmitting }) => { return (
{errors.webhookUrl && touched.webhookUrl && (
{errors.webhookUrl}
)}
); }}
); }; export default NotificationsDiscord;