chore: build

This commit is contained in:
2026-06-09 20:10:24 +02:00
parent b379508831
commit e7b83f406b
6 changed files with 276 additions and 11 deletions
+64 -4
View File
@@ -240,10 +240,6 @@ export const clearCart = async (username: string) => {
}
};
// ============================================
// ORDERS
// ============================================
export const getMyOrders = async () => {
try {
const { data } = await apiClient.get(`${V1}/my-commands`);
@@ -915,6 +911,70 @@ export const toggle2FA = async (
}
};
// ============================================
// 🏆 POINTS — RÉCOMPENSES
// ============================================
export type RewardCategoryConfig = {
category: string;
all_products: boolean;
product_ids: number[];
amount: number;
};
export type PointsPoolInfo = {
key: string;
name: string;
points: number;
rewards_earned: number;
rewards_claimed: number;
rewards_available: number;
eligible_configs: RewardCategoryConfig[];
};
export type PointsRewardConfig = {
threshold: number;
type: string;
description: string;
};
export const getMyPointsRewards = async (): Promise<{
success: boolean;
enabled: boolean;
pools: PointsPoolInfo[];
reward: PointsRewardConfig | null;
}> => {
try {
const { data } = await apiClient.get(`${V1}/points/rewards`);
return {
success: true,
enabled: data.enabled ?? false,
pools: data.pools ?? [],
reward: data.reward ?? null,
};
} catch {
return { success: false, enabled: false, pools: [], reward: null };
}
};
export const claimMyReward = async (poolKey: string): Promise<{
success: boolean;
description?: string;
remaining_rewards?: number;
error?: string;
}> => {
try {
const { data } = await apiClient.post(`${V1}/points/claim`, { pool_key: poolKey });
return {
success: true,
description: data.description,
remaining_rewards: data.remaining_rewards,
};
} catch (e: any) {
return { success: false, error: e?.response?.data?.error || "Erreur" };
}
};
export const calculateOrderTotal = (order: any): number => {
if (typeof order.total === "number" && order.total > 0) return order.total;
if (typeof order.total_prix === "number" && order.total_prix > 0)
-1
View File
@@ -1,7 +1,6 @@
import axios from "axios";
import { getToken, getAdminToken } from "../auth/tokenStorage";
// Change this to your server IP/domain
export const API_BASE_URL =
process.env.EXPO_PUBLIC_API_URL ?? "https://mln-uber.club";