Passer au contenu
Yuva subscribe formMenu

Yuva subscribe form

A mailing list sign-up form: e-mail, optional name, a checkbox per list, an unticked consent box whose sentence is stored as shown, and a switch per list for signed-in users.

L'aperçu utilise des données d'exemple. Il n'a besoin ni de réseau ni de canal.

Installation

Exécutez ceci dans un projet shadcn. Les fichiers sont copiés dans votre propre code.

Shell
npx shadcn@latest add https://useyuva.com/r/yuva-subscribe.json

Utilisation

tsx
import { YuvaSubscribe } from "@/components/yuva-subscribe"

<YuvaSubscribe server={server} channel={channel} />

Props

YuvaSubscribeProps

PropType
server?string
channel?string
client?YuvaClient
identityToken?IdentityTokenSource | null
lists?string[]
layout?"stacked" | "inline"
name?"off" | "optional" | "required"
consent?string
privacyUrl?string
locale?string
labels?Partial<YuvaSubscribeLabels>
onSubscribe?(detail: { lists: string[]; confirmation: boolean }) => void
className?string

Libellés

Chaque libellé a une valeur par défaut en anglais. Passez un objet labels partiel pour les modifier ou les traduire.

LibelléPar défaut
lists"Lists"
email"E-mail address"
name"Your name"
nameOptional"Your name (optional)"
button"Subscribe"
sending"Subscribing…"
consent(lists, inbox) => `I want to receive e-mails about ${lists} from ${inbox}. I can unsubscribe at any time.`
privacy"Privacy policy"
checkInbox"Almost done. Check your inbox and confirm your subscription."
subscribed"Thanks! You are subscribed."
pending"Check your inbox to confirm."
chooseList"Choose at least one list."
invalidEmail"Enter a valid e-mail address."
nameRequired"Enter your name."
consentRequired"Tick the box to agree."
noEmail"Your account has no e-mail address yet."
rateLimited"Too many attempts. Wait a moment and try again."
offline"You seem to be offline."
generic"Could not subscribe. Try again."

Dépendances

L'installation de cet élément ajoute aussi ce qui suit.

Composants de shadcn/ui

Autres éléments Yuva

Paquets npm