import wixData from "wix-data"; // Deze functie checkt of er 'weesstoelen' overblijven export async function validateSeats(selectedSeats) { // Groepeer stoelen per rij let rows = {}; selectedSeats.forEach(seat => { if (!rows[seat.row]) rows[seat.row] = []; rows[seat.row].push(seat.number); }); // Voor elke rij -> check of er losse stoelen overblijven for (let row in rows) { // Haal alle stoelen in deze rij op uit de database let result = await wixData.query("Seats") .eq("row", row) .ascending("number") .find(); let seats = result.items; // Zet status bij: bezet, gekozen, vrij seats.forEach(seat => { if (rows[row].includes(seat.number)) { seat.status = "gekozen"; } }); // Controle: als er nog één vrij stoeltje overblijft tussen bezet/gekozen stoelen for (let i = 1; i < seats.length - 1; i++) { if (seats[i].status === "vrij" && (seats[i-1].status !== "vrij" && seats[i+1].status !== "vrij")) { // Verboden situatie: losse stoel! return { valid: false, message: `Je mag stoel ${seats[i].number} in rij ${row} niet vrij laten.` }; } } } return { valid: true }; }