import { useEffect, useRef, useState } from 'react' import { subscribeToNewsletter } from '@/lib/mailchimp' import { siteConfig } from '@/lib/config' import CONFIG from '../config' import { useGlobal } from '@/lib/global' /** * 邮件订阅表单 * @returns */ export default function MailChimpForm() { const formRef = useRef() const [success, setSuccess] = useState(false) const { locale } = useGlobal() useEffect(() => { const form = formRef.current const handleSubmit = (e) => { e.preventDefault() const email = document.querySelector('#newsletter').value subscribeToNewsletter(email).then(response => { console.log('Subscription succeeded:', response) // 在此处添加成功订阅后的操作 setSuccess(true) }) .catch(error => { console.error('Subscription failed:', error) // 在此处添加订阅失败后的操作 }) } form?.addEventListener('submit', handleSubmit) return () => { form?.removeEventListener('submit', handleSubmit) } }, [subscribeToNewsletter]) return <> {siteConfig('FUKASAWA_MAILCHIMP_FORM', null, CONFIG) &&
{locale.MAILCHIMP.SUBSCRIBE}

{locale.MAILCHIMP.MSG}

{/* Success message */} {success &&

Thanks for subscribing!

}
} }