document.addEventListener('DOMContentLoaded', function () {
const searchForm = document.getElementById('searchForm');
const videoContainer = document.getElementById('videoContainer');
const regenerateBtn = document.getElementById('regenerateBtn');
const yearInput = document.getElementById('yearInput');
let lastSearchedYear = '';
function showSpinner() {
videoContainer.innerHTML = `
`;
}
function showError(message) {
videoContainer.innerHTML = `${message}
`;
regenerateBtn.style.display = 'none';
}
function displayVideo(videoUrl) {
if (videoUrl.includes('youtube.com')) {
videoContainer.innerHTML = ``;
} else {
videoContainer.innerHTML = ``;
}
regenerateBtn.style.display = 'block';
}
async function fetchAndDisplayAd(year) {
lastSearchedYear = year;
showSpinner();
regenerateBtn.style.display = 'none';
try {
const response = await fetch(`api.php?year=${year}`);
if (!response.ok) {
throw new Error('Network response was not ok.');
}
const data = await response.json();
if (data.videoUrl) {
displayVideo(data.videoUrl);
} else {
showError('No video found for this year. Please try another.');
}
} catch (error) {
console.error('Error fetching ad:', error);
showError('Failed to fetch video. Please try again later.');
}
}
searchForm.addEventListener('submit', function (e) {
e.preventDefault();
const year = yearInput.value;
if (year) {
fetchAndDisplayAd(year);
}
});
regenerateBtn.addEventListener('click', function () {
if (lastSearchedYear) {
fetchAndDisplayAd(lastSearchedYear);
}
});
});