georgiev955

01.Fitness Journey

Oct 14th, 2023
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.     const data = {
  3.         name: document.querySelector('#name'),
  4.         email: document.querySelector('#email'),
  5.         number: document.querySelector('#contact-number'),
  6.         classType: document.querySelector('#class-type'),
  7.         classTime: document.querySelector('#class-time'),
  8.     }
  9.  
  10.     const ulClassInfo = document.querySelector('ul.class-info');
  11.     const ulConfirmClass = document.querySelector('ul.confirm-class');
  12.  
  13.     document.querySelector('#next-btn').addEventListener('click', next);
  14.  
  15.     function next(e) {
  16.         e.preventDefault();
  17.  
  18.         let backUp = {};
  19.         for (const info in data) {
  20.             if (data[info].value === '') {
  21.                 return;
  22.             }
  23.             backUp[info] = data[info].value;
  24.             data[info].value = '';
  25.         }
  26.  
  27.         let listItem = document.createElement('li');
  28.         listItem.className = 'info-item';
  29.         ulClassInfo.appendChild(listItem);
  30.  
  31.         listItem.innerHTML = `<article class="personal-info">
  32.         <p>${backUp.name}</p>
  33.         <p>${backUp.email}</p>
  34.         <p>${backUp.number}</p>
  35.         <p>${backUp.classType}</p>
  36.         <p>${backUp.classTime}</p>
  37.         </article>`
  38.  
  39.         const leftButton = document.createElement('button');
  40.         leftButton.className = 'edit-btn';
  41.         leftButton.textContent = 'Edit';
  42.  
  43.         const rightButton = document.createElement('button');
  44.         rightButton.className = 'continue-btn';
  45.         rightButton.textContent = 'Continue';
  46.  
  47.         listItem.appendChild(leftButton);
  48.         listItem.appendChild(rightButton);
  49.  
  50.         document.querySelector('#next-btn').disabled = true;
  51.  
  52.         leftButton.addEventListener('click', edit);
  53.  
  54.         function edit() {
  55.             listItem.remove();
  56.             document.querySelector('#next-btn').disabled = false;
  57.  
  58.             for (const key in data) {
  59.                 data[key].value = backUp[key];
  60.             }
  61.         }
  62.  
  63.         rightButton.addEventListener('click', continueConfirmation);
  64.  
  65.         function continueConfirmation() {
  66.             listItem.remove();
  67.             ulConfirmClass.appendChild(listItem);
  68.  
  69.             listItem.className = 'continue-info';
  70.  
  71.             leftButton.className = 'cancel-btn';
  72.             leftButton.textContent = 'Cancel';
  73.             leftButton.removeEventListener('click', edit);
  74.  
  75.             rightButton.className = 'confirm-btn';
  76.             rightButton.textContent = 'Confirm';
  77.             rightButton.removeEventListener('click', continueConfirmation);
  78.  
  79.             leftButton.addEventListener('click', abort);
  80.  
  81.             function abort() {
  82.                 listItem.remove();
  83.                 document.querySelector('#next-btn').disabled = false;
  84.             }
  85.  
  86.             rightButton.addEventListener('click', finalise);
  87.  
  88.             function finalise() {
  89.                 document.querySelector('div#main').remove();
  90.  
  91.                 const h1El = document.createElement('h1');
  92.                 h1El.id = 'thank-you';
  93.                 h1El.textContent = 'Thank you for scheduling your appointment, we look forward to seeing you!';
  94.  
  95.                 const buttonEl = document.createElement('button');
  96.                 buttonEl.id = 'done-btn'
  97.                 buttonEl.textContent = 'Done';
  98.  
  99.                 document.querySelector('body').appendChild(h1El);
  100.                 document.querySelector('body').appendChild(buttonEl);
  101.  
  102.                 buttonEl.addEventListener('click', reload);
  103.  
  104.                 function reload() {
  105.                     location.reload();
  106.                 }
  107.             }
  108.         }
  109.     }
  110. }
Advertisement
Add Comment
Please, Sign In to add comment