diff --git a/frontend-prep/src/pages/User/ProfilePage.tsx b/frontend-prep/src/pages/User/ProfilePage.tsx
index 18aa66d7..f076bdcd 100644
--- a/frontend-prep/src/pages/User/ProfilePage.tsx
+++ b/frontend-prep/src/pages/User/ProfilePage.tsx
@@ -73,6 +73,9 @@ export default function ProfilePage() {
const [twoFAAdminEnabled, setTwoFAAdminEnabled] = useState(false);
const [twoFALoading, setTwoFALoading] = useState(false);
+ // SAV Telegram
+ const [savTelegramUrl, setSavTelegramUrl] = useState("");
+
// Modals confirmation
const [showSaveModal, setShowSaveModal] = useState(false);
const [showConfirmAddressModal, setShowConfirmAddressModal] =
@@ -100,6 +103,14 @@ export default function ProfilePage() {
([status, pub]) => {
setTwoFAEnabled(status.two_fa_enabled);
setTwoFAAdminEnabled(pub.two_fa_enabled);
+ if (pub.contact_telegram) {
+ const ct = pub.contact_telegram;
+ setSavTelegramUrl(
+ ct.startsWith("http")
+ ? ct
+ : `https://t.me/${ct.replace(/^@/, "")}`,
+ );
+ }
},
);
@@ -422,6 +433,33 @@ export default function ProfilePage() {
)}
+ {/* Section SAV Telegram */}
+ {savTelegramUrl && (
+
+ )}
+
{/* Section 2FA — visible uniquement si l'admin l'a activé ET Telegram est lié */}
{twoFAAdminEnabled && tgLinked && (
diff --git a/mobile/src/screens/client/ProfileScreen.tsx b/mobile/src/screens/client/ProfileScreen.tsx
index 74eaf537..2b1950dc 100644
--- a/mobile/src/screens/client/ProfileScreen.tsx
+++ b/mobile/src/screens/client/ProfileScreen.tsx
@@ -67,6 +67,9 @@ export default function ProfileScreen() {
const [twoFAAdminEnabled, setTwoFAAdminEnabled] = useState(false);
const [twoFALoading, setTwoFALoading] = useState(false);
+ // SAV Telegram
+ const [savTelegramUrl, setSavTelegramUrl] = useState("");
+
// Modals confirmation sauvegarde
const [showSaveModal, setShowSaveModal] = useState(false);
const [showConfirmContactModal, setShowConfirmContactModal] =
@@ -120,6 +123,14 @@ export default function ProfileScreen() {
setTelegramEnabled(tgStatus.enabled);
setTwoFAEnabled(twoFAStatus.two_fa_enabled);
setTwoFAAdminEnabled(pubSettings.two_fa_enabled);
+ if (pubSettings.contact_telegram) {
+ const ct = pubSettings.contact_telegram;
+ setSavTelegramUrl(
+ ct.startsWith("http")
+ ? ct
+ : `https://t.me/${ct.replace(/^@/, "")}`,
+ );
+ }
if (savedAddress !== null) setDefaultAddress(savedAddress);
if (savedPhone !== null) setDefaultPhone(savedPhone);
@@ -839,6 +850,42 @@ export default function ProfileScreen() {
)}
+ {/* Carte SAV Telegram */}
+ {savTelegramUrl !== "" && (
+
+
+
+
+ Contacter le SAV
+
+
+
+ Un problème avec votre commande ? Contactez notre
+ service après-vente directement sur Telegram.
+
+ Linking.openURL(savTelegramUrl)}
+ >
+
+
+ Contacter le SAV sur Telegram
+
+
+
+ )}
+
{/* Carte 2FA — visible uniquement si l'admin l'a activé ET Telegram est lié */}
{twoFAAdminEnabled && telegramLinked && (