chore: build

This commit is contained in:
2026-06-13 15:22:51 +02:00
parent dd861fd7be
commit 59d4f89a14
9 changed files with 198 additions and 41 deletions
+9 -7
View File
@@ -965,6 +965,8 @@ export const claimMyReward = async (poolKey: string): Promise<{
success: boolean;
description?: string;
remaining_rewards?: number;
product_added?: boolean;
product_name?: string;
error?: string;
}> => {
try {
@@ -973,6 +975,8 @@ export const claimMyReward = async (poolKey: string): Promise<{
success: true,
description: data.description,
remaining_rewards: data.remaining_rewards,
product_added: data.product_added,
product_name: data.product_name,
};
} catch (e: any) {
return { success: false, error: e?.response?.data?.error || "Erreur" };
@@ -980,14 +984,12 @@ export const claimMyReward = async (poolKey: string): Promise<{
};
export const calculateOrderTotal = (order: any): number => {
let gross = 0;
if (typeof order.total === "number" && order.total > 0) gross = order.total;
else if (typeof order.total_prix === "number" && order.total_prix > 0) gross = order.total_prix;
else if (Array.isArray(order.items) && order.items.length > 0) {
gross = order.items.reduce((sum: number, item: any) => {
if (typeof order.total_prix === "number" && order.total_prix > 0) return order.total_prix;
if (typeof order.total === "number" && order.total > 0) return order.total;
if (Array.isArray(order.items) && order.items.length > 0) {
return order.items.reduce((sum: number, item: any) => {
return sum + (item.prix || item.price || 0) * (item.quantite || item.quantity || 1);
}, 0);
}
const referralUsed = typeof order.referral_used === "number" ? order.referral_used : 0;
return Math.max(0, gross - referralUsed);
return 0;
};
@@ -96,7 +96,10 @@ export default function OrderHistoryScreen() {
const res = await claimMyReward(poolKey);
setClaimingPool(null);
if (res.success) {
setClaimFeedback({ pool: poolKey, type: "success", text: res.description || "Récompense réclamée !" });
const text = res.product_added && res.product_name
? `🎁 ${res.product_name} ajouté à votre panier ! Commandez au moins un produit pour en profiter.`
: res.description || "Récompense réclamée !";
setClaimFeedback({ pool: poolKey, type: "success", text });
getMyPointsRewards().then((r) => { if (r.success) setPointsRewards(r); });
} else {
setClaimFeedback({ pool: poolKey, type: "error", text: res.error || "Erreur" });
@@ -385,7 +385,8 @@ export default function OrderTrackingScreen() {
contentContainerStyle={styles.list}
renderItem={({ item: order }) => {
const expanded = expandedId === order.id;
const total = calculateOrderTotal(order);
const gross = calculateOrderTotal(order);
const total = Math.max(0, gross - (order.referral_used ?? 0));
const progress = STATUS_PROGRESS[order.status] || 0;
const track = tracking[order.id];
const eta = etas[order.id];
@@ -444,9 +445,16 @@ export default function OrderTrackingScreen() {
</Text>
</View>
<View style={styles.cardFooter}>
<Text style={styles.cardTotal}>
{formatPrice(total)}
</Text>
<View>
<Text style={styles.cardTotal}>
{formatPrice(total)}
</Text>
{(order.referral_used ?? 0) > 0 && (
<Text style={{ fontSize: 11, color: colors.success, marginTop: 2 }}>
dont -{(order.referral_used as number).toFixed(2)} parrainage
</Text>
)}
</View>
<Ionicons
name={
expanded