diff --git a/submissions/krylenger/html-movie-seat-booking/app.js b/submissions/krylenger/html-movie-seat-booking/app.js new file mode 100644 index 0000000..a3561df --- /dev/null +++ b/submissions/krylenger/html-movie-seat-booking/app.js @@ -0,0 +1,143 @@ +const bodyContainer = document.getElementById('body-container'), + hall = document.getElementById('choose-section__hall'), + confirmationSection = document.getElementById('choose-section__chosen-tickets'), + confirmationSectionInnerContainer = document.getElementById('chosen-tickets__inner'), + ticketsContainer = document.getElementById('chosen-tickets__tickets-container'), + checkoutButton = document.getElementById('checkout-seats__checkout-button'); + +const postPaymentDelay = 2000; + +const state = { + chosenSeats: [], +}; + +const removeSeat = (currentSeat, chosenSeatsArray) => + (chosenSeatsArray = chosenSeatsArray.filter((seatInArray) => seatInArray !== currentSeat)); + +const addSeat = (seat, chosenSeatsArray) => { + chosenSeatsArray.push(seat); + return chosenSeatsArray; +}; + +const checkIfSeatAlreadyChosen = (seat, chosenSeatsArray) => + (chosenSeatsArray = chosenSeatsArray.includes(seat) + ? removeSeat(seat, chosenSeatsArray) + : addSeat(seat, chosenSeatsArray)); + +const updateChosenSeats = (seat, chosenSeatsArray) => + (chosenSeatsArray = checkIfSeatAlreadyChosen(seat, chosenSeatsArray)); + +createTicketTemplate = ([row, seat], index) => `
Drama, Sci-Fi, Thriller
@@ -22,7 +22,7 @@