chore: build
Frontend Client - EAS Build / build (push) Canceled after 1m4s

This commit is contained in:
Xor290
2026-08-16 14:28:58 +02:00
parent 3149989286
commit 3023227a29
4 changed files with 137 additions and 19 deletions
@@ -17,6 +17,7 @@ import {
confirmReception,
cancelCommand,
respondToAddressProposal,
updateOwnCommandAddress,
formatOrderDate,
formatPrice,
calculateOrderTotal,
@@ -70,6 +71,11 @@ export default function OrderTrackingScreen() {
const [cancellingId, setCancellingId] = useState<number | null>(null);
const [cancelReason, setCancelReason] = useState("");
const [cancelLoading, setCancelLoading] = useState(false);
const [editingAddressId, setEditingAddressId] = useState<number | null>(
null,
);
const [newAddress, setNewAddress] = useState("");
const [editAddressLoading, setEditAddressLoading] = useState(false);
const [penaltyWarning, setPenaltyWarning] =
useState<CancelCommandResponse | null>(null);
const [penaltyOrderId, setPenaltyOrderId] = useState<number | null>(null);
@@ -187,6 +193,25 @@ export default function OrderTrackingScreen() {
}
};
const handleUpdateAddress = async (orderId: number) => {
setEditAddressLoading(true);
try {
const res = await updateOwnCommandAddress(orderId, newAddress);
if (res.success) {
showToast(res.message || "Adresse mise à jour", "success");
setEditingAddressId(null);
setNewAddress("");
fetchOrders();
} else {
showToast(res.message || "Erreur", "error");
}
} catch {
showToast("Erreur mise à jour adresse", "error");
} finally {
setEditAddressLoading(false);
}
};
const styles = useMemo(
() =>
StyleSheet.create({
@@ -407,6 +432,12 @@ export default function OrderTrackingScreen() {
"assigned",
"en_route",
].includes(order.status);
// Corrigeable uniquement avant la prise en charge par
// un livreur (cf. UpdateOwnCommandAddress backend).
const canEditAddress = [
"pending",
"assigned",
].includes(order.status);
return (
<TouchableOpacity
@@ -636,6 +667,23 @@ export default function OrderTrackingScreen() {
size="sm"
/>
)}
{canEditAddress && (
<Button
title="Modifier l'adresse"
onPress={() => {
setNewAddress(
order.delivery_address ||
order.adresse ||
"",
);
setEditingAddressId(
order.id,
);
}}
variant="outline"
size="sm"
/>
)}
{canCancel && (
<Button
title="Annuler"
@@ -767,6 +815,51 @@ export default function OrderTrackingScreen() {
</View>
</Modal>
<Modal
visible={editingAddressId !== null}
onClose={() => {
setEditingAddressId(null);
setNewAddress("");
}}
title="Modifier l'adresse"
icon="location-outline"
>
<View style={styles.modalBody}>
<Text style={styles.modalText}>
Nouvelle adresse de livraison :
</Text>
<RNTextInput
style={styles.cancelInput}
placeholder="Ex: 24 Rue Docteur Brindeau, 44000 Nantes"
placeholderTextColor={colors.textMuted}
value={newAddress}
onChangeText={setNewAddress}
multiline
/>
<View style={styles.modalActions}>
<Button
title="Retour"
onPress={() => {
setEditingAddressId(null);
setNewAddress("");
}}
variant="outline"
size="md"
/>
<Button
title="Enregistrer"
onPress={() =>
editingAddressId &&
handleUpdateAddress(editingAddressId)
}
loading={editAddressLoading}
variant="success"
size="md"
/>
</View>
</View>
</Modal>
<Modal
visible={penaltyWarning !== null}
onClose={() => {