From 46cb2a4d25c2f8817dd3230b16df3bc85e49d968 Mon Sep 17 00:00:00 2001 From: Sergey Yarkov Date: Mon, 28 Sep 2020 19:00:43 +0300 Subject: [PATCH] format --- gatsby-config.js | 2 +- src/components/Newsletter/Newsletter.js | 55 +++++++++++++++++-------- 2 files changed, 39 insertions(+), 18 deletions(-) diff --git a/gatsby-config.js b/gatsby-config.js index 7731857..af949f8 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -57,7 +57,7 @@ module.exports = { }, }, { - resolve: 'gatsby-plugin-mailchimp', + resolve: "gatsby-plugin-mailchimp", options: { endpoint: process.env.MAILCHIMP_ENDPOINT, }, diff --git a/src/components/Newsletter/Newsletter.js b/src/components/Newsletter/Newsletter.js index ba78b3f..8e385e5 100644 --- a/src/components/Newsletter/Newsletter.js +++ b/src/components/Newsletter/Newsletter.js @@ -1,29 +1,36 @@ import React from "react" -import addToMailchimp from 'gatsby-plugin-mailchimp' +import addToMailchimp from "gatsby-plugin-mailchimp" const Newsletter = () => { - const [email, setEmail] = React.useState('') + const [email, setEmail] = React.useState("") const [success, setSuccess] = React.useState(false) - const [error, setError] = React.useState({ isError: false, message: '' }) + const [error, setError] = React.useState({ isError: false, message: "" }) - const submitHandler = async (e) => { + const submitHandler = async e => { try { e.preventDefault() - if (!email.match(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/)) { - setError({ isError: true, message: 'Заполните поле в формате E-mail!' }) + if ( + !email.match( + /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/ + ) + ) { + setError({ isError: true, message: "Заполните поле в формате E-mail!" }) setSuccess(false) - window.setTimeout(() => setError({ isError: false, message: '' }), 5000) + window.setTimeout(() => setError({ isError: false, message: "" }), 5000) return } - - setError({ isError: false, message: '' }) - + + setError({ isError: false, message: "" }) + const data = await addToMailchimp(email) - if (data.result !== 'success') { - setError({ isError: true, message: `Произошла ошибка, возможно "${email}" уже подписан на рассылку. Попробуйте запрос позже.` }) - window.setTimeout(() => setError({ isError: false, message: '' }), 5000) + if (data.result !== "success") { + setError({ + isError: true, + message: `Произошла ошибка, возможно "${email}" уже подписан на рассылку. Попробуйте запрос позже.`, + }) + window.setTimeout(() => setError({ isError: false, message: "" }), 5000) console.log(data.msg) return } @@ -36,7 +43,7 @@ const Newsletter = () => { } } - const handleChangeEmail = (e) => { + const handleChangeEmail = e => { const email = e.target.value.trim().toLowerCase() setEmail(email) @@ -56,12 +63,26 @@ const Newsletter = () => {

- +
- {success ?

✔️ Вы успешно подписались на рыссылку!

: null} - {error.isError ?

{error.message}

: null} + {success ? ( +

+ + ✔️ + {" "} + Вы успешно подписались на рыссылку! +

+ ) : null} + {error.isError ? ( +

{error.message}

+ ) : null} )