// ==========================================
// FOOD SHARING APP - ΠΛΗΡΗΣ ΚΥΚΛΟΣ (FE + BE)
// ==========================================

const feedContainer = document.querySelector('#feed');
const mealForm = document.querySelector('#add-meal-form');

// ΑΛΛΑΓΗ 1: Σημαδεύουμε πλέον τον δικό μας Server!
const API_URL = 'http://localhost:3000/api/meals';

// ------------------------------------------
// 1. GET: Φέρνουμε και Ζωγραφίζουμε τις αγγελίες
// ------------------------------------------
function loadMeals() {
    feedContainer.innerHTML = '<h3>Φόρτωση αγγελιών...</h3>';

    fetch(API_URL)
        .then(response => response.json())
        .then(data => {
            feedContainer.innerHTML = '';

            // Διατρέχουμε όλα τα δεδομένα (αφαιρέσαμε το slice)
            data.forEach(meal => {
                let card = document.createElement('div');
                card.className = 'meal-card';

                // ΑΛΛΑΓΗ 2: Χρησιμοποιούμε τα σωστά κλειδιά του Server μας (dish, cook, portions)
                card.innerHTML = `
                    <h4>🍲 ${meal.dish}</h4>
                    <p>👨‍🍳 Μάγειρας: ${meal.cook}</p>
                    <p>🍽️ Μερίδες: <strong>${meal.portions}</strong></p>
                    <button class="claim-btn">Κράτηση Μερίδας</button>
                `;

                // Event στο Κουμπί της κάρτας
                let btn = card.querySelector('.claim-btn');
                btn.addEventListener('click', () => {
                    alert('Κάνατε κράτηση!');
                    btn.disabled = true;
                    btn.innerText = "Κρατήθηκε";
                });

                feedContainer.appendChild(card);
            });
        })
        .catch(error => console.error("Σφάλμα Δικτύου:", error));
}

// ------------------------------------------
// 2. POST: Στέλνουμε νέα αγγελία (Submit Form Event)
// ------------------------------------------
mealForm.addEventListener('submit', function (e) {
    e.preventDefault();

    let inputDish = document.querySelector('#dish-input').value;

    // ΑΛΛΑΓΗ 3: Προσαρμόζουμε το Object για να ταιριάζει με αυτά που περιμένει η "βάση" μας
    let newMealOffer = {
        dish: inputDish,
        cook: "Φοιτητής (Εσύ)", // Default τιμή αφού δεν έχουμε σύστημα login ακόμα
        portions: 1 // Default μερίδα
    };

    console.log("Στέλνω δεδομένα στον Server...");

    fetch(API_URL, {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify(newMealOffer)
    })
        .then(response => response.json())
        .then(savedData => {
            console.log("Επιτυχία! Ο Server απάντησε:", savedData);
            alert("Η αγγελία ανέβηκε!");

            // Καθαρίζουμε το πεδίο πληκτρολόγησης
            document.querySelector('#dish-input').value = '';

            // Ξαναφορτώνουμε τη λίστα για να φανεί η νέα αγγελία
            loadMeals();
        });
});

// === ΕΚΤΕΛΕΣΗ ===
loadMeals();