- sentry - variables in manifest - some dynamic pages - breadcrumbs - dynamic page resolver
1.8 KiB
1.8 KiB
Guide d'utilisation du système ReCaptcha Provider
Ce guide explique comment utiliser notre système ReCaptcha basé sur un Provider et un hook React, pour simplifier l'intégration de Google reCAPTCHA avec gestion des cookies.
1. Structure du système
Le système se compose de trois éléments principaux :
-
RecaptchaProvider- Encapsule votre formulaire et active le reCAPTCHA automatiquement selon le statut des cookies.
- Fournit un contexte React (
useRecaptcha) pour accéder au token et auformRef.
-
useRecaptcha- Hook React pour accéder au contexte du Provider.
- Fournit :
enabled: booléen indiquant si le reCAPTCHA est actif (cookie accepté).getToken(): fonction pour récupérer le token reCAPTCHA actuel.formRef: référence au formulaire pour manipulation ou focus.
-
RecaptchaForm- Wrapper autour du
<form>standard. - S'occupe de :
- Injecter le conteneur reCAPTCHA
.r_captchasi actif. - Ajouter l’attribut
inertsur le formulaire si le reCAPTCHA n’est pas encore activé. - Appeler la fonction
getToken()au submit si nécessaire.
- Injecter le conteneur reCAPTCHA
- Wrapper autour du
2. Utilisation dans un formulaire
import { useForm } from "@inertiajs/react";
import { RecaptchaProvider } from "@/front/providers/RecaptchaProvider";
import RecaptchaForm from "@/front/Components/Base/RecaptchaForm";
export default function ContactForm() {
const { data, setData, post, processing } = useForm({
name: "",
email: "",
message: "",
});
const handleSubmit = (token: string) => {
post("/contact");
};
return (
<RecaptchaProvider>
<RecaptchaForm onSubmit={handleSubmit} data={data}>
...input + boutton submit (pas besoin de balise form)
</RecaptchaForm>
</RecaptchaProvider>
);
}