diff --git a/frontend-prep/src/pages/User/ProfilePage.tsx b/frontend-prep/src/pages/User/ProfilePage.tsx index 04e24b58..24442f30 100644 --- a/frontend-prep/src/pages/User/ProfilePage.tsx +++ b/frontend-prep/src/pages/User/ProfilePage.tsx @@ -46,9 +46,11 @@ export default function ProfilePage() { const [twoFAAdminEnabled, setTwoFAAdminEnabled] = useState(false); const [twoFALoading, setTwoFALoading] = useState(false); - // Modal confirmation infos par défaut - const [showSaveModal, setShowSaveModal] = useState(false); - const [showUnlinkModal, setShowUnlinkModal] = useState(false); + // Modals confirmation + const [showSaveModal, setShowSaveModal] = useState(false); + const [showConfirmAddressModal, setShowConfirmAddressModal] = useState(false); + const [showConfirmContactModal, setShowConfirmContactModal] = useState(false); + const [showUnlinkModal, setShowUnlinkModal] = useState(false); const [showUnlinkSuccessModal, setShowUnlinkSuccessModal] = useState(false); const username = extractUsernameFromToken() ?? ''; @@ -91,6 +93,7 @@ export default function ProfilePage() { const saveAddress = () => { localStorage.setItem(STORAGE_ADDRESS, defaultAddress.trim()); + setShowConfirmAddressModal(false); showSuccess('Adresse enregistrée', 'Votre adresse par défaut a été sauvegardée et sera pré-remplie à votre prochaine commande.'); }; @@ -139,6 +142,7 @@ export default function ProfilePage() { }; const saveContact = async () => { + setShowConfirmContactModal(false); setSavingContact(true); const res = await updateMyProfile({ nom: nom.trim(), prenom: prenom.trim(), telephone: telephone.trim() }); setSavingContact(false); @@ -211,7 +215,7 @@ export default function ProfilePage() { /> - @@ -238,7 +242,7 @@ export default function ProfilePage() { placeholder="Numéro, rue, ville, code postal" /> - @@ -367,6 +371,56 @@ export default function ProfilePage() { )} + {showConfirmAddressModal && ( +
setShowConfirmAddressModal(false)}> +
e.stopPropagation()}> + +
+ +
+

Enregistrer l'adresse ?

+

+ Cette adresse sera sauvegardée localement et pré-remplie lors de vos prochaines commandes. +

+
+ + +
+
+
+ )} + + {showConfirmContactModal && ( +
setShowConfirmContactModal(false)}> +
e.stopPropagation()}> + +
+ +
+

Enregistrer le compte ?

+

+ Vos informations (prénom, nom, téléphone) seront mises à jour sur votre compte. +

+
+ + +
+
+
+ )} + {showUnlinkModal && (
setShowUnlinkModal(false)}>
e.stopPropagation()}>