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);
|
||
}
|
||
} |