<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Videos</title>

  <link rel="stylesheet" href="./styles.css"/>
  <ul class="videos">
    <li data-time="5:43">Video 1</li>
    <li data-time="2:33">Video 2</li>
    <li data-time="3:45">Video 3</li>
    <li data-time="0:47">Video 4</li>
    <li data-time="5:21">Video 5</li>
    <li data-time="6:56">Video 6</li>
    <li data-time="3:46">Video 7</li>
    <li data-time="5:25">Video 8</li>
    <li data-time="3:14">Video 9</li>
    <li data-time="3:31">Video 10</li>
    <li data-time="5:59">Video 11</li>
    <li data-time="3:07">Video 12</li>
    <li data-time="11:29">Video 13</li>
    <li data-time="8:57">Video 14</li>
    <li data-time="5:49">Video 15</li>
    <li data-time="5:52">Video 16</li>
    <li data-time="5:50">Video 17</li>
    <li data-time="9:13">Video 18</li>
    <li data-time="11:51">Video 19</li>
    <li data-time="7:58">Video 20</li>
    <li data-time="4:40">Video 21</li>
    <li data-time="4:45">Video 22</li>
    <li data-time="6:46">Video 23</li>
    <li data-time="7:24">Video 24</li>
    <li data-time="7:12">Video 25</li>
    <li data-time="5:23">Video 26</li>
    <li data-time="3:34">Video 27</li>
    <li data-time="8:22">Video 28</li>
    <li data-time="5:17">Video 29</li>
    <li data-time="3:10">Video 30</li>
    <li data-time="4:43">Video 31</li>
    <li data-time="19:43">Video 32</li>
    <li data-time="0:47">Video 33</li>
    <li data-time="0:47">Video 34</li>
    <li data-time="3:14">Video 35</li>
    <li data-time="3:59">Video 36</li>
    <li data-time="2:43">Video 37</li>
    <li data-time="4:17">Video 38</li>
    <li data-time="6:56">Video 39</li>
    <li data-time="3:05">Video 40</li>
    <li data-time="2:06">Video 41</li>
    <li data-time="1:59">Video 42</li>
    <li data-time="1:49">Video 43</li>
    <li data-time="3:36">Video 44</li>
    <li data-time="7:10">Video 45</li>
    <li data-time="3:44">Video 46</li>
    <li data-time="3:44">Video 47</li>
    <li data-time="4:36">Video 48</li>
    <li data-time="3:16">Video 49</li>
    <li data-time="1:10">Video 50</li>
    <li data-time="6:10">Video 51</li>
    <li data-time="2:14">Video 52</li>
    <li data-time="3:44">Video 53</li>
    <li data-time="5:05">Video 54</li>
    <li data-time="6:03">Video 55</li>
    <li data-time="12:39">Video 56</li>
    <li data-time="1:56">Video 57</li>
    <li data-time="4:04">Video 58</li>
  </ul>

  <script src="./scripts.js"></script>
</body>
</html>
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  height: 100vh;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  flex-direction: column;
  color: #FFF;
  background: linear-gradient(to right, #4b6cb7, #182848);
}

.videos {
  width: 65vw;
  height: 65vh;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  overflow-x: scroll;
}

.videos li {
  list-style: none;
  margin: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.videos li .image {
  width: 64px;
  height: 64px;
}

.full-length {
  font-size: 22px;
  display: flex;
  align-items: center;
}

.clock {
  width: 30px;
  margin-right: 10px;
}

@media screen and (max-width: 775px) {
  .videos {
    width: 90vw;
    height: 80vh;
  }

  body { justify-content: space-around; }
  .videos li { margin: 0 10px 15px; }
}
const videoList = document.querySelector('.videos'),
      videos = Array.from(document.querySelectorAll('[data-time]'));

(function calculateTotalTime() {
  let hours, minutes, seconds, totalTime, min, sec;

  seconds = videos.map(video => video.dataset.time)
  .map(timeCode => {
    [min, sec] = timeCode.split(':').map(parseFloat);
    return min * 60 + sec;
  }).reduce((total, secs) => total + secs);

  hours = Math.floor(seconds / 3600);
  seconds = seconds % 3600;
  minutes = Math.floor(seconds / 60);
  seconds = seconds % 60;

  totalTime = `
    <div class="full-length">
      <img class="clock" src="./img/clock.png" />
      <span>Total length: ${hours}h ${minutes}m ${seconds}s</span>
    </div>
  `;
  videoList.insertAdjacentHTML('afterend', totalTime);
})();

(function buildTemplate() {
  videos.forEach((video, index) => {
    let name = index % 2 === 0 ? 'wooden-' : '';

    video.innerHTML = `
      <img class="image video"️ src="./img/${name}video.png"/>
      <span class="duration">🕰️ ${video.dataset.time}</span>
    `;
  });
})();