lecture.html 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Lee Morgan -lecture-</title>
  6. <link rel="stylesheet" href="/learn/style">
  7. </head>
  8. <body id="lectureBody">
  9. <h1 id="title"></h1>
  10. <h3 id="course"></h3>
  11. <h6 id="date"></h6>
  12. <iframe id="video"></iframe>
  13. <div id="lectureData">
  14. <h2>Details</h2>
  15. <p id="description"></p>
  16. <h2 id="resourceTitle">Resources</h2>
  17. <div id="documents"></div>
  18. <h2 id="exerciseTitle">Exercises</h2>
  19. <ol id="exercises"></ol>
  20. </div>
  21. <script>
  22. let video = document.getElementById("video");
  23. let sizeIframe = ()=>{
  24. let width = document.getElementById("lectureBody").clientWidth;
  25. let multiplier = (width * 0.9) / video.contentWindow.document.body.scrollWidth;
  26. video.width = video.contentWindow.document.body.scrollWidth * multiplier;
  27. video.height = video.contentWindow.document.body.scrollHeight * multiplier;
  28. }
  29. video.onload = sizeIframe();
  30. let id = window.location.href.split("/");
  31. id = id[id.length-1];
  32. fetch(`/learn/lectures/json/one/${id}`)
  33. .then(response => response.json())
  34. .then((response)=>{
  35. let date = new Date(response.date);
  36. let dateOptions = {
  37. day: "numeric",
  38. month: "long",
  39. year: "numeric"
  40. }
  41. document.getElementById("title").innerText = response.title;
  42. document.getElementById("course").innerText = response.course.title;
  43. document.getElementById("date").innerText = date.toLocaleDateString("en-us", dateOptions);
  44. video.src = response.video;
  45. document.getElementById("description").innerText = response.description;
  46. let documents = document.getElementById("documents");
  47. if(response.documents.length === 0) document.getElementById("resourceTitle").style.display = "none";
  48. for(let i = 0; i < response.documents.length; i++){
  49. let a = document.createElement("a");
  50. a.href = response.documents[i].link;
  51. a.innerText = response.documents[i].name;
  52. documents.appendChild(a);
  53. }
  54. let exercises = document.getElementById("exercises");
  55. if(response.exercises.length === 0) document.getElementById("exerciseTitle").style.display = "none";
  56. for(let i = 0; i < response.exercises.length; i++){
  57. let li = document.createElement("li");
  58. li.classList.add("liPad");
  59. li.innerText = response.exercises[i];
  60. exercises.appendChild(li);
  61. }
  62. })
  63. .catch((err)=>{});
  64. </script>
  65. </body>
  66. </html>