// wishlist.js - közös wishlist logika
const Wishlist = {
    get() {
        try { return JSON.parse(localStorage.getItem('wh_wishlist') || '[]'); }
        catch(e) { return []; }
    },
    save(list) {
        localStorage.setItem('wh_wishlist', JSON.stringify(list));
    },
    has(slug) {
        return this.get().includes(slug);
    },
    toggle(slug) {
        let list = this.get();
        if (list.includes(slug)) {
            list = list.filter(s => s !== slug);
        } else {
            list.push(slug);
        }
        this.save(list);
        return list.includes(slug);
    },
    count() {
        return this.get().length;
    }
};

// Wishlist badge frissítés a headerben
function updateWishlistBadge() {
    const badge = document.getElementById('wishlist-badge');
    if (!badge) return;
    const count = Wishlist.count();
    badge.textContent = count;
    badge.style.display = count > 0 ? 'flex' : 'none';
}

// Szív gomb állapot frissítés
function updateHeartBtn(btn, slug) {
    const active = Wishlist.has(slug);
    btn.classList.toggle('heart-active', active);
    btn.setAttribute('aria-pressed', active);
    btn.title = active ? 'Remove from wishlist' : 'Save to wishlist';
}

// Szív gomb kattintás
function toggleWishlist(event, slug) {
    event.preventDefault();
    event.stopPropagation();
    const btn = event.currentTarget;
    Wishlist.toggle(slug);
    updateHeartBtn(btn, slug);
    updateWishlistBadge();

    // Animáció
    btn.classList.add('heart-pop');
    setTimeout(() => btn.classList.remove('heart-pop'), 300);
}

// Oldal betöltésekor szívek inicializálása
document.addEventListener('DOMContentLoaded', function() {
    document.querySelectorAll('.heart-btn[data-slug]').forEach(btn => {
        updateHeartBtn(btn, btn.dataset.slug);
    });
    updateWishlistBadge();
});