<html>
    <head>
        <style>
            input, button { padding: 10px; }
        </style>
    </head>
    <body>
        <input type="text" id="message" autocomplete="off" />
        <button onclick="transmitMessage()">Send</button>
       
    <style>
      /* CSS for card styling */
      .card {
        width: 150px;
        height: 200px;
        background-color: white;
        border: 1px solid black;
        margin: 10px;
        padding: 10px;
        float: left;
      }
      .card img {
        width: 100%;
      }
      .card-row {
  display: flex;
}
.card-container {
  display: flex;
  flex-wrap: wrap;
}
.card-row {
  display: flex;
}
.card {
  width: 150px;
  height: 200px;
  margin: 10px;
  border: 1px solid black;
}
.top {
  opacity: 1;
}
.bottom {
  opacity: 0;
  transition: opacity 1s;
}
.bottom.flip {
  opacity: 1;
}
/* Style the modal container */
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgba(0, 0, 0, 0.4); /* Black w/ opacity */
}
/* Style the modal content */
.modal-content {
  position: relative;
  background-color: #fefefe;
  margin: auto;
  padding: 0;
  width: 80%;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  -webkit-animation-name: animatetop;
  -webkit-animation-duration: 0.4s;
  animation-name: animatetop;
  animation-duration: 0.4s;
}
/* Style the close button */
.close-modal {
  color: white;
  float: right;
  font-size: 28px;
  font-weight: bold;
}
.close-modal:hover,
.close-modal:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}
/* Add animation */
@-webkit-keyframes animatetop {
  from {
    top: -300px;
    opacity: 0;
  }
  to {
    top: 0;
    opacity: 1;
  }
}
@keyframes animatetop {
  from {
    top: -300px;
    opacity: 0;
  }
  to {
    top: 0;
    opacity: 1;
  }
}
    </style>
  </head>
  <body>
    <div class="card-container">
        <div id="card-modal" class="modal">
            <div class="modal-content">
              <span class="close-modal">×</span>
              <img id="modal-img" src="" alt="Selected card">
            </div>
          </div>
          
    <script>
      var socket = new WebSocket('ws://localhost:8080');
      var gameContainer = document.getElementById("game-container");
      let playerCards=[];
      const cardDeck = [
  { id: 1, imgSrc: 'img/god1.png', name: 'Zeus', power: 10, defense: 8,  element: 'raio',  classe: 'mago' },
  { id: 2, imgSrc: 'img/god2.png', name: 'Apollo', power: 8, defense: 9,  element: 'fogo',  classe: 'mago' },
  { id: 3, imgSrc: 'img/god3.png', name: 'Hades', power: 9, defense: 7,  element: 'larva',  classe: 'mago' },
  { id: 4, imgSrc: 'img/god4.png', name: 'Poseidon', power: 7, defense: 8,  element: 'agua',  classe: 'mago' },
  { id: 5, imgSrc: 'img/god5.png', name: 'Ra', power: 8, defense: 6,  element: 'fogo',  classe: 'mago' },
  { id: 6, imgSrc: 'img/god6.png', name: 'Shiva', power: 6, defense: 9,  element: 'terra',  classe: 'mago' },
  { id: 7, imgSrc: 'img/god7.png', name: 'Thor', power: 9, defense: 8,  element: 'raio',  classe: 'mago' },
  { id: 8, imgSrc: 'img/god8.png', name: 'Odin', power: 7, defense: 7,  element: 'fogo',  classe: 'mago' },
];
function shuffleDeck(deck) {
  for (let i = deck.length - 1; i > 0; i--) {
    const j = Math.floor(Math.random() * (i + 1));
    [deck[i], deck[j]] = [deck[j], deck[i]];
  }
  return deck;
}
function dealCards(numCards) {
  const shuffledDeck = shuffleDeck(cardDeck);
  return shuffledDeck.slice(0, numCards);
}
socket.onopen = function(event) {
   playerCards = dealCards(3);
  socket.send(`player-cards:${JSON.stringify(playerCards)}`);
  displayCards(playerCards);
}
function displayCards(cards){
  const cardContainer = document.querySelector(".card-container");
  let cardsHTML = "";
  cards.forEach(card => {
    cardsHTML += `
    <div class="card greek top" data-id="${card.id}" onclick="sendCardId(this)">
      <img src="${card.imgSrc}" alt="${card.name}">
    </div>
    `;
  });
  cardContainer.innerHTML = cardsHTML;
}
    
function sendCardId(card) {
  const cardId = card.getAttribute('data-id');
  socket.send(JSON.stringify({type:'card-selected',data:cardId}));
}
socket.onmessage = function(event) {
  const message = JSON.parse(event.data);
  if (message.type === 'player-cards') {
    playerCards = message.data;
    displayCards(playerCards);
  } else if (message.type === 'card-selected') {
    const cardId = message.data;
    let selectedCard;
    playerCards.forEach(cards => {
    if (cards.id == cardId) {
        selectedCard = cards;
    }
    });
    if(selectedCard){
       showSelectedCard(selectedCard);
    }
   
  }
};
function showSelectedCard(selectedCard) {
    let modal = document.getElementById("card-modal");
  let modalImg = document.getElementById("modal-img");
  let closeModal = document.querySelector(".close-modal");
  console.log(selectedCard);
  // Set the source of the modal image to the selected card's image
  modalImg.src = selectedCard.imgSrc;
  // Display the modal
  modal.style.display = "block";
  // Close the modal when the close button is clicked
  closeModal.onclick = function() {
    modal.style.display = "none";
  }
}
    </script>
  </body>
</html>
 
  |