diff --git a/src/components/Contact.tsx b/src/components/Contact.tsx
index 31c476d..d95687b 100644
--- a/src/components/Contact.tsx
+++ b/src/components/Contact.tsx
@@ -27,9 +27,24 @@ const Contact = () => {
const handleSubmit = async (e: React.FormEvent) => {
e.preventDefault();
+ // Vérification du délai de 15 minutes par email
+ const storageKey = `lastMessageTime_${formData.email}`;
+ const lastMessageTime = localStorage.getItem(storageKey);
+
+ if (lastMessageTime) {
+ const timeSinceLastMessage = Date.now() - parseInt(lastMessageTime, 10);
+ const fifteenMinutes = 15 * 60 * 1000;
+
+ if (timeSinceLastMessage < fifteenMinutes) {
+ const remainingMinutes = Math.ceil((fifteenMinutes - timeSinceLastMessage) / 60000);
+ setError(`Veuillez attendre ${remainingMinutes} minutes avant d'envoyer un nouveau message avec cette adresse email.`);
+ return;
+ }
+ }
+
setIsSubmitting(true);
setError(null);
-
+
try {
const contactData: ContactFormData = {
name: formData.name,
@@ -37,13 +52,14 @@ const Contact = () => {
subject: formData.subject,
message: formData.message
};
-
+
const result = await sendContactEmail(contactData);
-
+
if (result.success) {
+ localStorage.setItem(`lastMessageTime_${formData.email}`, Date.now().toString());
setIsSubmitted(true);
setFormData({ name: '', email: '', subject: '', message: '' });
-
+
// Reset du message de succès après 5 secondes
setTimeout(() => {
setIsSubmitted(false);
@@ -51,7 +67,7 @@ const Contact = () => {
} else {
setError(result.message);
}
-
+
} catch (err) {
const errorMessage = err instanceof Error ? err.message : 'Une erreur est survenue lors de l\'envoi du message.';
setError(errorMessage);
@@ -72,7 +88,7 @@ const Contact = () => {
{
icon: