import { gql } from 'graphql-request'

import fetchAPI from '@/lib/api/fetchAPI'

const MUTATION_CREATE_NEWSLETTER_FORM_SUBMISSION = gql`
  mutation MyMutation($input: SubmitGfFormInput!) {
    submitGfForm(input: $input) {
      confirmation {
        message
      }
      errors {
        id
        message
      }
    }
  }
`

/**
 * Query for the Newsletter Form from Gravity Forms
 */
export async function sumbitFooterNewsletterForm(email: string) {
  const data = await fetchAPI(MUTATION_CREATE_NEWSLETTER_FORM_SUBMISSION, {
    variables: {
      input: {
        fieldValues: [
          {
            emailValues: {
              value: email,
            },
            id: 1,
          },
        ],
        id: '1',
      },
    },
  })

  if (data.submitGfForm.errors) {
    return { errors: data.submitGfForm.errors }
  }
  return data.submitGfForm.confirmation.message
}
