import { useState, useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; import Navbar from '../../components/Navbar'; import { getReferralBalance, isUserAuthenticated, getPublicSettings } from '../../api/api'; import type { PublicSettings } from '../../api/api'; import './Parrainage.css'; const TELEGRAM_URL = 'https://t.me/'; const steps = [ { num: 1, title: 'Parrainez un ami', desc: 'Recommandez nos services à un proche. Il doit nous contacter directement sur Telegram pour s\'inscrire.', icon: 'fa-users', }, { num: 2, title: 'Il passe sa 1ère commande', desc: 'Une fois votre ami inscrit et sa première commande validée, signalez-le nous sur Telegram.', icon: 'fa-circle-check', }, { num: 3, title: 'Nous créditons votre compte', desc: 'L\'admin vérifie et crédite manuellement votre solde de parrainage. Vous êtes notifié dès que c\'est fait.', icon: 'fa-coins', }, { num: 4, title: 'Utilisez votre solde', desc: 'Au moment du checkout, choisissez d\'utiliser votre solde ou de le cumuler pour une prochaine commande.', icon: 'fa-cart-shopping', }, ]; export default function Parrainage() { const navigate = useNavigate(); const [balance, setBalance] = useState(0); const [loading, setLoading] = useState(true); const [settings, setSettings] = useState(null); useEffect(() => { if (!isUserAuthenticated()) { navigate('/login/client', { replace: true }); return; } getPublicSettings().then((s) => { if (!s.referral_enabled) { navigate('/user/accueil', { replace: true }); return; } setSettings(s); getReferralBalance().then((res) => { if (res.success) setBalance(res.balance); setLoading(false); }); }); }, [navigate]); return ( <>
{/* En-tête */}

Programme de Parrainage

Parrainez vos amis et cumulez du crédit sur votre compte

{/* Solde actuel */}
Votre solde parrainage
{loading ? (
Chargement...
) : (
0 ? 'has-balance' : ''}`}> {balance.toFixed(2)} €
)} {balance > 0 && (

Utilisable au prochain checkout ✓

)}
{/* Montant par parrainage */} {settings && settings.referral_amount > 0 && (
Crédit par filleul parrainé
{settings.referral_amount.toFixed(2)} €

Vous recevrez ce montant sur votre solde dès que votre filleul effectue sa première commande validée.

)} {/* Étapes */}

Comment ça marche ?

{steps.map((step) => (
Étape {step.num}

{step.title}

{step.desc}

))}
{/* Règle zone minimum */}

Règle du minimum de zone

Même avec un solde parrainage, vous devez atteindre le minimum de commande de votre zone. Votre crédit couvre la différence mais ne remplace pas le minimum requis.

Exemple : Solde 50 € + Zone minimum 50 €{' '} → Commande totale minimum 100 € (vous payez{' '} 50 €)
{/* Bouton Telegram */}

Prêt à parrainer ? Contactez-nous sur Telegram pour enregistrer votre filleul.

Contacter sur Telegram
); }