bebo231312312321

Untitled

Jun 28th, 2023
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function profileTemplate ({ username, email, age }, id) {
  2.     const wrapper = document.createElement('div')
  3.     const btn = document.createElement('button')
  4.     btn.innerText = 'Show more'
  5.  
  6.     wrapper.className = 'profile'
  7.     wrapper.innerHTML = `<img src="./iconProfile2.png" class="userIcon">
  8. <label>Lock</label>
  9. <input type="radio" name="user${id}Locked" value="lock" checked="">
  10. <label>Unlock</label>
  11. <input type="radio" name="user${id}Locked" value="unlock"><br>
  12. <hr>
  13. <label>Username</label>
  14. <input type="text" name="user${id}Username" value=${username} disabled="" readonly="">
  15. <div id="user${id}HiddenFields">
  16. <hr>
  17. <label>Email:</label>
  18. <input type="email" name="user${id}Email" value=${email} disabled="" readonly="">
  19. <label>Age:</label>
  20. <input type="email" name="user${id}Age" value=${age} disabled="" readonly="">
  21. </div>`
  22.  
  23.     btn.addEventListener('click', () => {
  24.         const checked = wrapper.querySelector('input[type=radio]:checked')
  25.         if (checked && checked.value === 'unlock') {
  26.             if (btn.innerText === 'Show more') {
  27.                 wrapper.querySelector(`#user${id}HiddenFields`).style.display = 'block'
  28.                 btn.innerText = 'Hide it'
  29.             } else {
  30.                 wrapper.querySelector(`#user${id}HiddenFields`).style.display = 'none'
  31.                 btn.innerText = 'Show more'
  32.             }
  33.         }
  34.     })
  35.     wrapper.appendChild(btn)
  36.  
  37.     return wrapper
  38. }
  39.  
  40. async function lockedProfile () {
  41.     const data = await fetch(`http://localhost:3030/jsonstore/advanced/profiles`)
  42.     const des = await data.json()
  43.  
  44.     const main = document.querySelector('main')
  45.     main.innerHTML = ''
  46.  
  47.     Object.values(des).forEach((x, i) => main.appendChild(profileTemplate(x, i+1)))
  48. }
Add Comment
Please, Sign In to add comment