fix: fixup adresse correction
Backend - Build & Lint / build (push) Failing after 33m6s
Frontend Client - EAS Build / build (push) Successful in 2h3m29s
Frontend Web - Build & Lint / build (push) Failing after 10m16s

This commit is contained in:
Xor290
2026-08-04 18:08:50 +02:00
parent c35f99b410
commit 39216fc137
6 changed files with 96 additions and 28 deletions
+2
View File
@@ -697,6 +697,8 @@ export const createCheckout = async (checkoutData: CheckoutData) => {
message: data.error || "Erreur création",
postal_code: data.postal_code as string | undefined,
zone_error: isZoneError as boolean,
invalid_address: !!data.corrected_address,
suggested_address: data.corrected_address as string | undefined,
};
}
+50
View File
@@ -48,6 +48,10 @@ function Checkout() {
const [showZoneModal, setShowZoneModal] = useState(false);
const [zoneErrorMsg, setZoneErrorMsg] = useState('');
// État pour le modal adresse invalide (correction suggérée)
const [showInvalidAddressModal, setShowInvalidAddressModal] = useState(false);
const [suggestedAddress, setSuggestedAddress] = useState('');
// Informations personnelles
const [firstName, setFirstName] = useState('');
const [lastName, setLastName] = useState('');
@@ -315,6 +319,12 @@ function Checkout() {
return;
}
if (!response.success && response.invalid_address && response.suggested_address) {
setSuggestedAddress(response.suggested_address);
setShowInvalidAddressModal(true);
return;
}
if (response.success && response.command_id) {
const { command_id, assigned_to, queue_info, delivery_address } = response;
@@ -725,6 +735,46 @@ function Checkout() {
</div>
)}
{/* ============================================ */}
{/* MODAL ADRESSE INVALIDE (CORRECTION SUGGÉRÉE) */}
{/* ============================================ */}
{showInvalidAddressModal && (
<div className="confirmation-modal-overlay" onClick={() => setShowInvalidAddressModal(false)}>
<div className="confirmation-modal" onClick={(e) => e.stopPropagation()}>
<div className="confirmation-modal-header confirmation-modal-header--error">
<i className="fas fa-map-marker-alt confirmation-icon"></i>
<h2>Adresse invalide</h2>
</div>
<div className="confirmation-modal-body">
<div className="confirmation-section">
<div className="confirmation-detail confirmation-detail--centered">
<p style={{ marginBottom: '0.75rem' }}>
L'adresse saisie n'est pas reconnue. Voulez-vous utiliser l'adresse correcte suggérée ?
</p>
<p className="confirmation-detail--muted" style={{ fontWeight: 600 }}>
{suggestedAddress}
</p>
</div>
</div>
</div>
<div className="confirmation-modal-actions">
<button className="confirmation-button confirmation-button--neutral" onClick={() => setShowInvalidAddressModal(false)}>
Modifier
</button>
<button
className="confirmation-button"
onClick={() => {
setAddress(suggestedAddress);
setShowInvalidAddressModal(false);
}}
>
Utiliser cette adresse
</button>
</div>
</div>
</div>
)}
{/* ============================================ */}
{/* MODAL DE CONFIRMATION STYLISÉ */}
{/* ============================================ */}