'use client'; import { useState } from 'react'; import { useForm, SubmitHandler } from 'react-hook-form'; import { yupResolver } from '@hookform/resolvers/yup'; import * as yup from 'yup'; import { FooterSubscriptionFormType } from '@theme/types'; import { useEmailSubscriptionMutation } from '@akinon/next/data/client/misc'; import { useGetWidgetQuery } from '@akinon/next/data/client/misc'; import { Input, Button, Checkbox, Modal } from '@theme/components'; import { useLocalization } from '@akinon/next/hooks'; import { Icon } from '@akinon/next/components'; const subscriptionFormSchema = (t: (key: string) => string) => yup.object().shape({ email: yup .string() .email(t('common.newsletter_signup.required_email')) .required(t('common.newsletter_signup.required')), subscribe_contract: yup .boolean() .oneOf([true], t('common.newsletter_signup.required')) }); export default function FooterSubscriptionForm() { const { t } = useLocalization(); const [isModalOpen, setIsModalOpen] = useState(false); const [emailSubscription] = useEmailSubscriptionMutation(); const { data: privacyPolicy } = useGetWidgetQuery('privacy-policy'); const { register, handleSubmit, formState: { errors } } = useForm({ resolver: yupResolver(subscriptionFormSchema(t)) }); const onSubmit: SubmitHandler = (data) => { emailSubscription(data) .unwrap() .then(() => setIsModalOpen(true)); }; return (
{/* {t('common.newsletter_signup.accept')}{' '}
*/}
); }