127 lines
4.7 KiB
HTML
127 lines
4.7 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>Modellauto - Startseite</title>
|
||
<link rel="stylesheet" href="./Styles/styles-main.css">
|
||
<link href="https://unpkg.com/boxicons@2.1.4/css/boxicons.min.css" rel="stylesheet">
|
||
<script src="/header_footer"></script>
|
||
</head>
|
||
<body>
|
||
<div class="wrapper">
|
||
<!-- Header -->
|
||
<div id="header-placeholder"></div>
|
||
|
||
<main>
|
||
<!-- Infobereich -->
|
||
<section style="padding: 40px 20px; text-align: center; background: #fff;">
|
||
<h2>Willkommen beim Modellauto-Shop</h2>
|
||
<p>Bei uns finden Sie hochwertige Modellautos – ob Oldtimer, Sportwagen, Lkw's oder Motorräder.
|
||
Perfekt für Sammler, Bastler und Fans.
|
||
</p>
|
||
</section>
|
||
|
||
<!-- Hauptinhalt -->
|
||
<h1>Unsere Neusten Produkte: </h1>
|
||
<section class="card-grid" id="latest-products">
|
||
<!-- Dynamische Produkte (5 aktuelle Produkte) -->
|
||
</section>
|
||
|
||
<!-- JavaScript zum Abrufen und Anzeigen der neuesten Produkte -->
|
||
<script>
|
||
// Funktion zum Hinzufügen zum Warenkorb
|
||
function zumWarenkorbHinzufuegen(product) {
|
||
let warenkorb = JSON.parse(localStorage.getItem('warenkorb')) || [];
|
||
|
||
const existingProduct = warenkorb.find(p => p.product_id === product.id);
|
||
|
||
if (existingProduct) {
|
||
existingProduct.quantity += 1; // Wenn schon vorhanden, Anzahl erhöhen
|
||
} else {
|
||
warenkorb.push({
|
||
product_id: product.id,
|
||
product_name: product.name,
|
||
price: product.price,
|
||
quantity: 1
|
||
});
|
||
}
|
||
|
||
localStorage.setItem('warenkorb', JSON.stringify(warenkorb));
|
||
alert(`${product.name} wurde zum Warenkorb hinzugefügt!`);
|
||
zeigeWarenkorbAnzahl();
|
||
}
|
||
|
||
// Produkte laden
|
||
fetch('/api/products/new')
|
||
.then(res => res.json())
|
||
.then(products => {
|
||
const container = document.getElementById('latest-products');
|
||
container.innerHTML = '';
|
||
|
||
products.forEach(product => {
|
||
const card = document.createElement('div');
|
||
card.classList.add('card');
|
||
card.innerHTML = `
|
||
<img src="${product.image_url}" alt="${product.name}">
|
||
<h3>${product.name}</h3>
|
||
<p>Preis: ${product.price.toFixed(2)} €</p>
|
||
<p>${product.description}</p>
|
||
<p>Artikel Nr: ${product.id}</p>
|
||
<button class="add-to-cart">Zum Warenkorb hinzufügen</button>
|
||
`;
|
||
|
||
const addToCartButton = card.querySelector('.add-to-cart');
|
||
addToCartButton.addEventListener('click', () => {
|
||
zumWarenkorbHinzufuegen(product);
|
||
});
|
||
|
||
container.appendChild(card);
|
||
});
|
||
})
|
||
.catch(err => {
|
||
console.error('Fehler beim Laden der Produkte:', err);
|
||
|
||
const container = document.getElementById('latest-products');
|
||
container.innerHTML = `
|
||
<div class="error-message">
|
||
<h3>Fehler beim Laden der Produkte</h3>
|
||
<p>Es gab ein Problem beim Abrufen der Produktdaten.<br>
|
||
Wir arbeiten bereits daran – bitte versuchen Sie es später erneut.</p>
|
||
</div>`;
|
||
});
|
||
</script>
|
||
|
||
|
||
<!-- Info-Sektion -->
|
||
<section class="info-cards-section">
|
||
<div class="info-card">
|
||
<i class='bx bx-package'></i>
|
||
<h3>Versandkostenfrei ab 50€</h3>
|
||
<p>Schneller & sicherer Versand mit Sendungsverfolgung.</p>
|
||
</div>
|
||
<div class="info-card">
|
||
<i class='bx bx-credit-card'></i>
|
||
<h3>Flexible Zahlungsmethoden</h3>
|
||
<p>PayPal, Kreditkarte, Klarna, Vorkasse – Sie haben die Wahl.</p>
|
||
</div>
|
||
<div class="info-card">
|
||
<i class='bx bx-undo'></i>
|
||
<h3>14 Tage Rückgaberecht</h3>
|
||
<p>Unzufrieden? Kein Problem – Rückgabe einfach & unkompliziert.</p>
|
||
</div>
|
||
<div class="info-card">
|
||
<i class='bx bx-star'></i>
|
||
<h3>Top-Bewertungen</h3>
|
||
<p>Unsere Kunden lieben uns – überzeugen Sie sich selbst!</p>
|
||
</div>
|
||
</section>
|
||
</main>
|
||
|
||
<!-- Fußzeiele -->
|
||
<div id="footer"></div>
|
||
|
||
</div>
|
||
</body>
|
||
</html>
|