chore: build
Frontend Client - EAS Build / build (push) Failing after 57m7s
Frontend Web - Build & Lint / build (push) Failing after 15m48s

This commit is contained in:
2026-06-26 19:36:56 +02:00
parent dae547cfa9
commit 066443e228
2 changed files with 85 additions and 0 deletions
@@ -73,6 +73,9 @@ export default function ProfilePage() {
const [twoFAAdminEnabled, setTwoFAAdminEnabled] = useState(false); const [twoFAAdminEnabled, setTwoFAAdminEnabled] = useState(false);
const [twoFALoading, setTwoFALoading] = useState(false); const [twoFALoading, setTwoFALoading] = useState(false);
// SAV Telegram
const [savTelegramUrl, setSavTelegramUrl] = useState("");
// Modals confirmation // Modals confirmation
const [showSaveModal, setShowSaveModal] = useState(false); const [showSaveModal, setShowSaveModal] = useState(false);
const [showConfirmAddressModal, setShowConfirmAddressModal] = const [showConfirmAddressModal, setShowConfirmAddressModal] =
@@ -100,6 +103,14 @@ export default function ProfilePage() {
([status, pub]) => { ([status, pub]) => {
setTwoFAEnabled(status.two_fa_enabled); setTwoFAEnabled(status.two_fa_enabled);
setTwoFAAdminEnabled(pub.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() {
</div> </div>
)} )}
{/* Section SAV Telegram */}
{savTelegramUrl && (
<div className="profile-card">
<h2 className="profile-card-title">
<FontAwesomeIcon
icon={faPaperPlane}
className="profile-card-icon profile-card-icon--telegram"
/>
Contacter le SAV
</h2>
<p className="profile-hint">
Un problème avec votre commande ? Contactez notre
service après-vente directement sur Telegram.
</p>
<a
href={savTelegramUrl}
target="_blank"
rel="noopener noreferrer"
className="profile-btn profile-btn--telegram"
style={{ textDecoration: "none" }}
>
<FontAwesomeIcon icon={faPaperPlane} /> Contacter
le SAV sur Telegram
</a>
</div>
)}
{/* Section 2FA — visible uniquement si l'admin l'a activé ET Telegram est lié */} {/* Section 2FA — visible uniquement si l'admin l'a activé ET Telegram est lié */}
{twoFAAdminEnabled && tgLinked && ( {twoFAAdminEnabled && tgLinked && (
<div className="profile-card"> <div className="profile-card">
@@ -67,6 +67,9 @@ export default function ProfileScreen() {
const [twoFAAdminEnabled, setTwoFAAdminEnabled] = useState(false); const [twoFAAdminEnabled, setTwoFAAdminEnabled] = useState(false);
const [twoFALoading, setTwoFALoading] = useState(false); const [twoFALoading, setTwoFALoading] = useState(false);
// SAV Telegram
const [savTelegramUrl, setSavTelegramUrl] = useState("");
// Modals confirmation sauvegarde // Modals confirmation sauvegarde
const [showSaveModal, setShowSaveModal] = useState(false); const [showSaveModal, setShowSaveModal] = useState(false);
const [showConfirmContactModal, setShowConfirmContactModal] = const [showConfirmContactModal, setShowConfirmContactModal] =
@@ -120,6 +123,14 @@ export default function ProfileScreen() {
setTelegramEnabled(tgStatus.enabled); setTelegramEnabled(tgStatus.enabled);
setTwoFAEnabled(twoFAStatus.two_fa_enabled); setTwoFAEnabled(twoFAStatus.two_fa_enabled);
setTwoFAAdminEnabled(pubSettings.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 (savedAddress !== null) setDefaultAddress(savedAddress);
if (savedPhone !== null) setDefaultPhone(savedPhone); if (savedPhone !== null) setDefaultPhone(savedPhone);
@@ -839,6 +850,42 @@ export default function ProfileScreen() {
</View> </View>
)} )}
{/* Carte SAV Telegram */}
{savTelegramUrl !== "" && (
<View style={styles.card}>
<View style={styles.cardTitle}>
<Ionicons
name="paper-plane-outline"
size={18}
color="#2AABEE"
/>
<Text style={styles.cardTitleText}>
Contacter le SAV
</Text>
</View>
<Text style={styles.hint}>
Un problème avec votre commande ? Contactez notre
service après-vente directement sur Telegram.
</Text>
<TouchableOpacity
style={[
styles.saveBtn,
{ backgroundColor: "#2AABEE" },
]}
onPress={() => Linking.openURL(savTelegramUrl)}
>
<Ionicons
name="paper-plane-outline"
size={16}
color="#fff"
/>
<Text style={styles.saveBtnText}>
Contacter le SAV sur Telegram
</Text>
</TouchableOpacity>
</View>
)}
{/* Carte 2FA — visible uniquement si l'admin l'a activé ET Telegram est lié */} {/* Carte 2FA — visible uniquement si l'admin l'a activé ET Telegram est lié */}
{twoFAAdminEnabled && telegramLinked && ( {twoFAAdminEnabled && telegramLinked && (
<View style={styles.card}> <View style={styles.card}>