GalinaKG

02. Music Site

Mar 1st, 2023
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.    
  3.     const inputs = {
  4.         genre: document.getElementById('genre'),
  5.         name: document.getElementById('name'),
  6.         author: document.getElementById('author'),
  7.         date: document.getElementById('date'),
  8.       };
  9.    
  10.     const addBtn = document.getElementById('add-btn');
  11.     addBtn.addEventListener('click', addInfo);
  12.  
  13.     function addInfo(event) {
  14.         event.preventDefault();
  15.  
  16.         if (inputs.genre.value == '' || inputs.name.value == '' || inputs.author.value == '' || inputs.date.value == '') {
  17.            return;
  18.         }
  19.  
  20.         let genreValue = inputs.genre.value;
  21.         let nameValue = inputs.name.value;
  22.         let authorValue = inputs.author.value;
  23.         let dateValue = inputs.date.value;
  24.  
  25.         const container = document.querySelector('.all-hits-container');
  26.    
  27.         const divElement = document.createElement('div');
  28.        
  29.         divElement.className = 'hits-info';
  30.         divElement.innerHTML = `<img src="./static/img/img.png">
  31.                                 <h2>Genre: ${genreValue}</h2>
  32.                                 <h2>Name: ${nameValue}</h2>
  33.                                 <h2>Author: ${authorValue}</h2>
  34.                                 <h3>Date: ${dateValue}</h3>
  35.                                 <button class="save-btn">Save song</button>
  36.                                 <button class="like-btn">Like song</button>
  37.                                 <button class="delete-btn">Delete</button>`;
  38.                        
  39.         container.appendChild(divElement);
  40.  
  41.         inputs.genre.value = '';
  42.         inputs.name.value = '';
  43.         inputs.author.value = '';
  44.         inputs.date.value = '';
  45.  
  46.         const likeBtn = divElement.querySelector('.like-btn');
  47.         const saveBtn = divElement.querySelector('.save-btn');
  48.         const deleteBtn = divElement.querySelector('.delete-btn');
  49.  
  50.         likeBtn.addEventListener('click', increaseLikes);
  51.         saveBtn.addEventListener('click', saveSongs);
  52.         deleteBtn.addEventListener('click', deleteContainer)
  53.    
  54.         function increaseLikes(event) {
  55.             event.target.disabled = true;
  56.             let likes = document.querySelector('.likes p');
  57.             splitedElement = likes.textContent.split(': ');
  58.             let countLikes = Number(splitedElement[1]);
  59.             countLikes++;
  60.             let textInfo = splitedElement[0];
  61.             likes.textContent = textInfo + ': ' + countLikes;
  62.            
  63.         }
  64.  
  65.         function saveSongs() {
  66.             let savedContainer = document.querySelector('.saved-container');
  67.             likeBtn.remove();
  68.             saveBtn.remove();
  69.             savedContainer.appendChild(divElement);
  70.         }
  71.  
  72.         function deleteContainer() {
  73.             divElement.remove();
  74.         }
  75.     }
  76.  
  77. }
Add Comment
Please, Sign In to add comment