chore: build mobile
Frontend Client - EAS Build / build (push) Failing after 1h1m44s

This commit is contained in:
2026-06-20 22:47:17 +02:00
parent cefebf0b43
commit e8c79e40ec
2 changed files with 11206 additions and 11233 deletions
+11178 -11225
View File
File diff suppressed because it is too large Load Diff
+28 -8
View File
@@ -73,8 +73,8 @@ export default function ProductsScreen() {
return () => pulse.stop();
}, [scaleAnim]);
const fetchProducts = useCallback(async () => {
setError(null);
const fetchProducts = useCallback(async (silent = false) => {
if (!silent) setError(null);
try {
let response: any;
if (selectedCategory === "tous") {
@@ -82,17 +82,35 @@ export default function ProductsScreen() {
} else {
response = await getProductsByCategory(selectedCategory);
}
const list = response?.data || response?.products || [];
setProducts(Array.isArray(list) ? list : []);
const list: Product[] = Array.isArray(response?.data || response?.products)
? (response?.data || response?.products)
: [];
if (silent) {
setProducts((prev) =>
prev.map((p) => {
const updated = list.find((r) => r.id === p.id);
return updated ? { ...p, stock: updated.stock } : p;
})
);
} else {
setProducts(list);
}
} catch {
setError("Impossible de charger les produits");
setProducts([]);
if (!silent) {
setError("Impossible de charger les produits");
setProducts([]);
}
} finally {
setLoading(false);
setRefreshing(false);
if (!silent) {
setLoading(false);
setRefreshing(false);
}
}
}, [selectedCategory]);
const fetchProductsRef = useRef(fetchProducts);
useEffect(() => { fetchProductsRef.current = fetchProducts; }, [fetchProducts]);
useEffect(() => {
const catObj = categories.find((c) => c.name === selectedCategory);
if (catObj?.is_coming_soon) {
@@ -102,6 +120,8 @@ export default function ProductsScreen() {
}
setLoading(true);
fetchProducts();
const interval = setInterval(() => fetchProductsRef.current(true), 30_000);
return () => clearInterval(interval);
}, [selectedCategory, categories, fetchProducts]);
useEffect(() => {