Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. import "./home.scss";
  2. import { users } from "./users";
  3. import img from "../images/parcel.png";
  4.  
  5. export const home = () => {
  6. const wrapper = document.createElement("section");
  7. wrapper.classList = "home";
  8. const parcelImg = document.createElement("img");
  9. parcelImg.src = img;
  10. parcelImg.classList = "parcelImg";
  11.  
  12. const ul = document.createElement("ul");
  13. ul.classList = "users";
  14. //Create a loader element
  15. const loader = document.createElement("div");
  16. loader.innerHTML = "Loading...";
  17. loader.classList = "loader";
  18. wrapper.appendChild(loader); // add the loader to home wrapper element
  19.  
  20. users().then(({ results }) => {
  21. loader.style.display = "none"; // hide loader when users are available from the API.
  22. results.forEach(user => {
  23. const li = document.createElement("li");
  24. li.classList = "user";
  25. //create User Avatar element
  26. const userAvatar = document.createElement("img");
  27. userAvatar.setAttribute("src", user.picture.thumbnail);
  28. userAvatar.classList = "userAvatar";
  29. li.appendChild(userAvatar); // append user avatar to the list
  30. //Create user details element
  31. const userDetails = document.createElement("div");
  32. userDetails.classList = "user-details";
  33. //user's name element
  34. const userName = document.createElement("div");
  35. userName.classList = "user-name";
  36. userName.innerHTML = `${capitalize(user.name.title)} ${capitalize(
  37. user.name.first
  38. )} ${capitalize(user.name.last)}`; //assign name to user's name element
  39. userDetails.appendChild(userName); // append it to userdetail element
  40. //Create user's email address element
  41. const userEmail = document.createElement("div");
  42. userEmail.classList = "user-email";
  43. userEmail.innerHTML = `${user.email}`; //assign email address to user's email address element
  44. userDetails.appendChild(userEmail); //append it to userdetail element
  45. li.appendChild(userDetails); //append userdetail element to the list
  46. ul.appendChild(li); // append the list to parent element ul
  47. });
  48. });
  49.  
  50. wrapper.appendChild(parcelImg);
  51. wrapper.appendChild(ul);
  52.  
  53. return wrapper;
  54. };
  55.  
  56. //Accept a string and return the string in capitalize format
  57. const capitalize = string => {
  58. return string.charAt(0).toUpperCase() + string.slice(1);
  59. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement