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);
        
        // Dodaj obsługę przycisku "Dodaj do koszyka"
        const addToCartBtn = document.querySelector('.btn-add-to-cart');
        if (addToCartBtn) {
            addToCartBtn.addEventListener('click', () => addToCart(bookId));
        }
    } else {
        document.getElementById('book-details').innerHTML = `
            <div class="alert alert-danger">Nie znaleziono książki</div>
        `;
    }
});

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 = `
            <div class="alert alert-danger">Wystąpił błąd podczas ładowania szczegółów książki</div>
        `;
    }
}

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