useNewsletter

The useNewsletter composable can be used to subscribe a both guests and registered customers to your newsletter.

API

useNewsletter returns the following properties:

  • updateSubscription - updates subscription status of an email
  • loading - loading state of the updateSubscription method
  • error - error object

Example

import { useNewsletter } from '~/composables'; const { updateSubscription, loading, error } = useNewsletter(); const subscriptionStatus = await updateSubscription({ email: 'email@example.com' }); 

Interfaces

 export enum SubscriptionStatusesEnum { NotActive = 'NOT_ACTIVE', Subscribed = 'SUBSCRIBED', Unconfirmed = 'UNCONFIRMED', Unsubscribed = 'UNSUBSCRIBED', } /** * Errors that occured in the {@link useNewsletter|useNewsletter()} composable */ export interface UseNewsletterErrors { /** * Contains error if `updateSubscription` method failed, otherwise is `null` */ updateSubscription: Error | null; } /** * The params object accepted by the `updateSubscription` method in the {@link useNewsletter|useNewsletter()} composable */ export type UseNewsletterUpdateSubscriptionParams = ComposableFunctionArgs<{ email: string; }>; /** * Data and methods returned from the {@link useNewsletter|useNewsletter()} composable */ export interface UseNewsletterInterface { /** * Updates subscription status of an email in the newsletter */ updateSubscription(params: UseNewsletterUpdateSubscriptionParams): Promise<SubscriptionStatusesEnum>; /** * Contains errors from the composable methods */ error: DeepReadonly<Ref<UseNewsletterErrors>>; /** * Indicates whether any of the methods is in progress */ loading: Readonly<Ref<boolean>>; }