u
This commit is contained in:
30
src/utils/articleDetail.js
Normal file
30
src/utils/articleDetail.js
Normal file
@@ -0,0 +1,30 @@
|
||||
/** Helpers for GET/PATCH /api/article/:sku detail shape. */
|
||||
|
||||
export function sortedPhotos(article) {
|
||||
if (!Array.isArray(article?.photos)) return [];
|
||||
return [...article.photos].sort((a, b) => (a.sort ?? 0) - (b.sort ?? 0));
|
||||
}
|
||||
|
||||
export function primaryPhoto(article) {
|
||||
const photos = sortedPhotos(article);
|
||||
return photos[0] ?? null;
|
||||
}
|
||||
|
||||
export function primaryPrice(article) {
|
||||
if (!Array.isArray(article?.prices) || article.prices.length === 0) return null;
|
||||
return article.prices.find((row) => row.minmultiplier === 1) ?? article.prices[0];
|
||||
}
|
||||
|
||||
export function priceBrutto(price) {
|
||||
if (price?.net == null || price?.taxRate == null) return null;
|
||||
return price.net * (1 + price.taxRate / 100);
|
||||
}
|
||||
|
||||
export function brandName(article) {
|
||||
return article?.brand?.name ?? null;
|
||||
}
|
||||
|
||||
export function articleEans(article) {
|
||||
if (!Array.isArray(article?.eans)) return [];
|
||||
return article.eans.filter(Boolean);
|
||||
}
|
||||
Reference in New Issue
Block a user