chore: update

This commit is contained in:
2026-03-19 19:56:51 +01:00
parent 3384ebded0
commit 7173266bb9
31 changed files with 3645 additions and 1942 deletions
+18 -12
View File
@@ -1,7 +1,7 @@
import { useState, useEffect } from 'react';
import { useNavigate } from 'react-router-dom';
import Navbar from '../../components/Navbar';
import { getReferralBalance, isUserAuthenticated } from '../../api/api';
import { getReferralBalance, isUserAuthenticated, getPublicSettings } from '../../api/api';
import './Parrainage.css';
const TELEGRAM_URL = 'https://t.me/';
@@ -11,25 +11,25 @@ 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: '👥',
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: '',
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: '💰',
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: '🛒',
icon: 'fa-cart-shopping',
},
];
@@ -43,9 +43,15 @@ export default function Parrainage() {
navigate('/login/client', { replace: true });
return;
}
getReferralBalance().then((res) => {
if (res.success) setBalance(res.balance);
setLoading(false);
getPublicSettings().then((s) => {
if (!s.referral_enabled) {
navigate('/user/accueil', { replace: true });
return;
}
getReferralBalance().then((res) => {
if (res.success) setBalance(res.balance);
setLoading(false);
});
});
}, [navigate]);
@@ -55,7 +61,7 @@ export default function Parrainage() {
<div className="parrainage-container">
{/* En-tête */}
<div className="parrainage-hero">
<div className="parrainage-hero-icon">🎁</div>
<div className="parrainage-hero-icon"><i className="fas fa-gift"></i></div>
<h1 className="parrainage-title">Programme de Parrainage</h1>
<p className="parrainage-subtitle">
Parrainez vos amis et cumulez du crédit sur votre compte
@@ -85,7 +91,7 @@ export default function Parrainage() {
<div className="parrainage-steps">
{steps.map((step) => (
<div key={step.num} className="step-card">
<div className="step-icon">{step.icon}</div>
<div className="step-icon"><i className={`fas ${step.icon}`}></i></div>
<div className="step-num">Étape {step.num}</div>
<h3 className="step-title">{step.title}</h3>
<p className="step-desc">{step.desc}</p>
@@ -96,7 +102,7 @@ export default function Parrainage() {
{/* Règle zone minimum */}
<div className="parrainage-warning-card">
<div className="warning-icon"></div>
<div className="warning-icon"><i className="fas fa-triangle-exclamation"></i></div>
<div className="warning-content">
<h3 className="warning-title">Règle du minimum de zone</h3>
<p className="warning-text">
@@ -127,7 +133,7 @@ export default function Parrainage() {
rel="noopener noreferrer"
className="telegram-btn"
>
<span className="telegram-icon"></span>
<i className="fab fa-telegram telegram-icon"></i>
Contacter sur Telegram
</a>
</div>