-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
91 lines (78 loc) · 3.36 KB
/
script.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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
document.addEventListener('DOMContentLoaded', function() {
fetch('videos.json')
.then(response => response.json())
.then(data => {
const videoGrid = document.getElementById('videoGrid');
data.forEach(video => {
const videoCard = document.createElement('div');
videoCard.classList.add('video-card');
videoCard.setAttribute('data-tags', video.tags.join(', '));
videoCard.innerHTML = `
<a href="video.html?video=${video.id}">
<img src="${video.thumbnail}" class="thumbnail" alt="Video Thumbnail">
<div class="video-info">
<h2 class="video-title">${video.title}</h2>
<p class="video-description">${video.description}</p>
</div>
</a>
`;
videoGrid.appendChild(videoCard);
});
})
.catch(error => console.error('Error fetching video data:', error));
});
function openDrawer() {
document.getElementById("drawer").style.width = "250px";
document.getElementById("overlay").style.display = "block";
}
function closeDrawer() {
document.getElementById("drawer").style.width = "0";
document.getElementById("overlay").style.display = "none";
}
function filterVideos() {
const input = document.getElementById('searchInput').value.toLowerCase();
const videoCards = document.querySelectorAll('.video-card');
videoCards.forEach(card => {
const title = card.querySelector('.video-title').textContent.toLowerCase();
const description = card.querySelector('.video-description').textContent.toLowerCase();
if (title.includes(input) || description.includes(input)) {
card.style.display = '';
} else {
card.style.display = 'none';
}
});
}
function filterByTag(tag) {
const videoCards = document.querySelectorAll('.video-card');
videoCards.forEach(card => {
const tags = card.getAttribute('data-tags').toLowerCase();
if (tag === 'Show All Tags' || tags.includes(tag.toLowerCase())) {
card.style.display = '';
} else {
card.style.display = 'none';
}
});
}
document.addEventListener('DOMContentLoaded', function() {
fetch('videos.json')
.then(response => response.json())
.then(data => {
const videoGrid = document.getElementById('videoGrid');
data.forEach(video => {
const videoCard = document.createElement('div');
videoCard.classList.add('video-card');
videoCard.setAttribute('data-tags', video.tags.join(', '));
videoCard.innerHTML = `
<a href="video.html?video=${video.id}">
<img src="${video.thumbnail}" class="thumbnail" alt="Video Thumbnail">
<div class="video-info">
<h2 class="video-title">${video.title}</h2>
<p class="video-description">${video.description}</p>
</div>
</a>
`;
videoGrid.appendChild(videoCard);
});
})
.catch(error => console.error('Error fetching video data:', error));
});