import { formatCurrency } from "./utils.js" document.addEventListener('DOMContentLoaded', function() { const urlParams = new URLSearchParams(window.location.search); const bookId = urlParams.get('id'); if (bookId) { loadBookDetails(bookId); const addToCartBtn = document.querySelector('.btn-add-to-cart'); if (addToCartBtn) { addToCartBtn.addEventListener('click', () => addToCart(bookId)); } } else { document.getElementById('book-details').innerHTML = `
Nie znaleziono książki
`; } }); async function loadBookDetails(bookId) { try { const response = await fetch(`/api/ksiazki/${bookId}`, { credentials: 'include' }); if (!response.ok) { throw new Error('Błąd ładowania szczegółów książki'); } const book = await response.json(); displayBookDetails(book); } catch (error) { console.error('Błąd:', error); document.getElementById('book-details').innerHTML = `
Wystąpił błąd podczas ładowania szczegółów książki
`; } } function displayBookDetails(book) { const price = formatCurrency(book.cena); document.getElementById('book-title').textContent = book.tytul; document.getElementById('book-author').textContent = book.autor; document.getElementById('book-price').textContent = price; document.getElementById('book-description').textContent = book.opis; const bookCover = document.getElementById('book-cover'); if (bookCover) { bookCover.src = book.obraz_url; bookCover.alt = `Okładka książki: ${book.tytul}`; } } async function addToCart(bookId) { const response = await fetch('/api/check-auth'); const data = await response.json(); if (!data.authenticated) { window.location.href = '/login.html'; return; } try { const response = await fetch('/api/add-to-cart', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ book_id: parseInt(bookId), quantity: 1 }), credentials: 'include' }); if (response.ok) { alert('Książka została dodana do koszyka!'); } else { const errorData = await response.json(); alert(`Błąd: ${errorData.message || 'Nie udało się dodać do koszyka'}`); } } catch (error) { console.error('Błąd:', error); alert('Wystąpił błąd podczas dodawania do koszyka'); } }