-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathyoutube_video.js
41 lines (37 loc) · 1.36 KB
/
youtube_video.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/**
* @fileoverview
* Componente para incrustar un video de YouTube en nuestro sitio web cuando la resolución es mayor a 64em (1024px), cuando es menor se agrega un enlace al video
* Dependencias: font-awesome
*
* @param {String} id, id del video de YouTube, se define en el archivo pug
* @param {String} $video-width, anchura del contenedor del video, se define en el archivo scss
*
* @returns {void} no retorna nada
*
* @author Jonathan MirCha <[email protected]>
* @version 1.0.0
*/
export default function youtubeVideo () {
const d = document,
w = window,
mq = w.matchMedia('(min-width: 64em)'),
youtube = d.querySelectorAll('.Youtube'),
youtubeWrapper =d.querySelectorAll('.Youtube-wrapper'),
youtubeIds = [],
youtubeIframe = []
youtube.forEach((video, index) => youtubeIds[index] = video.id)
console.log( youtubeIds )
function showVideo (mq) {
if (mq.matches) {
youtubeWrapper.forEach((video, index) => {
video.innerHTML = `<iframe src="https://www.youtube.com/embed/${youtubeIds[index]}" frameborder="0"></iframe>`
})
} else {
youtubeWrapper.forEach((video, index) => {
video.innerHTML = `<a href="https://www.youtube.com/watch?v=${youtubeIds[index]}" target="_blank"><i class="fa fa-youtube-play"></i> Ver Video</a>`
})
}
}
mq.addListener(showVideo);
showVideo(mq);
}