34 lines
1.2 KiB
JavaScript
34 lines
1.2 KiB
JavaScript
|
import { getAllItemTypes, getAllLines } from "../lines-rest-api.js";
|
|||
|
import { indexPageCatalog } from "../lines-ui.js";
|
|||
|
import { getProductItem } from "./getProductItem.js";
|
|||
|
|
|||
|
// Проверка, есть ли вообще на странице каталога место,
|
|||
|
// где будут отображаться карточки
|
|||
|
if (indexPageCatalog) {
|
|||
|
drawCatalog();
|
|||
|
}
|
|||
|
|
|||
|
async function drawCatalog() {
|
|||
|
try {
|
|||
|
// Получаем все типы
|
|||
|
const itemTypes = await getAllItemTypes();
|
|||
|
// Получаем все товары
|
|||
|
const lines = await getAllLines();
|
|||
|
|
|||
|
// Пробегаем по товарам через for
|
|||
|
for (let i = 0; i < lines.length; i++) {
|
|||
|
const line = lines[i];
|
|||
|
// Получаем его тип
|
|||
|
const itemType = itemTypes.find(it => it.id === +line.itemsId);
|
|||
|
|
|||
|
// Если нужно понять, что лежит в itemType
|
|||
|
// console.log(itemType);
|
|||
|
|
|||
|
// В сам каталог добавляем карточку через функцию,
|
|||
|
// которую вынесли в отдельный файл
|
|||
|
indexPageCatalog.innerHTML += getProductItem(line.image, itemType.name, line.price);
|
|||
|
}
|
|||
|
} catch (err) {
|
|||
|
console.log(err);
|
|||
|
}
|
|||
|
}
|