toddler_shop_frontend/scripts/main.js
2024-08-04 17:59:05 +02:00

54 lines
1.7 KiB
JavaScript

var all_products
let barcodeForm
const api_url = "http://127.0.0.1:8000"
var to_fill_product_index = 0
async function makeAPIRequest(request) {
try {
const response = await fetch(request);
const result = await response.json();
return result
} catch (error) {
console.error("Error:", error);
}
}
async function loadProducts() {
const loadProductRequest = new Request(api_url + "/products")
all_products = await makeAPIRequest(loadProductRequest)
console.log("Loaded products:", all_products)
barcodeForm = document.getElementById("barcode_form");
barcodeForm.addEventListener("submit", (e) => {
e.preventDefault();
const barcode = document.getElementById('barcode_input').value
var chosen_product
for (index = 0; index < all_products.length; index++) {
if (all_products[index].barcode == barcode) {
chosen_product = all_products[index]
}
}
barcode_input.value = ""
const product_placeholders = document.getElementsByClassName('product_placeholder')
const chosen_product_placeholder = product_placeholders[to_fill_product_index]
var image_product = chosen_product_placeholder.getElementsByClassName('product_image')[0]
var price_product = chosen_product_placeholder.getElementsByClassName('product_price')[0]
console.log(chosen_product_placeholder)
console.log(image_product)
console.log(price_product)
image_product.setAttribute('href', api_url + "/icons/" + chosen_product.image_filename);
price_product.textContent = "\u20AC " + chosen_product.price
to_fill_product_index += 1
});
}