Download static/js/scripts.js from giseldo/eventos: direct link, hf CLI and curl.
- Browser
- Download file 3.12 kB
-
https://huggingface.co/spaces/giseldo/eventos/resolve/main/static/js/scripts.js
- Command line
-
hf download hf://spaces/giseldo/eventos/static/js/scripts.js
-
curl -L -o scripts.js https://huggingface.co/spaces/giseldo/eventos/resolve/main/static/js/scripts.js
3.12 kB
| document.addEventListener('DOMContentLoaded', function() { | |
| fetch('/api/events') | |
| .then(response => response.json()) | |
| .then(events => { | |
| const eventsGrid = document.getElementById('events-grid'); | |
| events.forEach(event => { | |
| const eventCard = document.createElement('div'); | |
| eventCard.className = 'event-card'; | |
| const timeRemaining = calculateTimeRemaining(event.submission_deadline); | |
| eventCard.innerHTML = ` | |
| <h2>${event.name}</h2> | |
| <p><strong>Dates:</strong> ${event.dates}</p> | |
| <p><strong>Location:</strong> ${event.location}</p> | |
| <p><strong>Abstract Deadline:</strong> ${event.abstract_deadline}</p> | |
| <p><strong>Submission Deadline:</strong> ${event.submission_deadline}</p> | |
| <p class="time-remaining">${timeRemaining}</p> | |
| <div class="tags"> | |
| ${event.tags.map(tag => `<span class="tag">${tag}</span>`).join('')} | |
| </div> | |
| `; | |
| eventCard.addEventListener('click', () => openModal(event, timeRemaining)); | |
| eventsGrid.appendChild(eventCard); | |
| }); | |
| }); | |
| const modal = document.getElementById('event-modal'); | |
| const closeButton = document.querySelector('.close-button'); | |
| closeButton.addEventListener('click', () => { | |
| modal.style.display = 'none'; | |
| }); | |
| window.addEventListener('click', (event) => { | |
| if (event.target == modal) { | |
| modal.style.display = 'none'; | |
| } | |
| }); | |
| }); | |
| function calculateTimeRemaining(deadline) { | |
| const deadlineDate = new Date(deadline); | |
| const now = new Date(); | |
| const timeDiff = deadlineDate - now; | |
| if (timeDiff <= 0) { | |
| return 'Deadline passed'; | |
| } | |
| const hours = Math.floor(timeDiff / (1000 * 60 * 60)); | |
| const minutes = Math.floor((timeDiff % (1000 * 60 * 60)) / (1000 * 60)); | |
| const seconds = Math.floor((timeDiff % (1000 * 60)) / 1000); | |
| return `in about ${hours} hours, ${minutes} minutes, and ${seconds} seconds`; | |
| } | |
| function openModal(event, timeRemaining) { | |
| document.getElementById('modal-event-name').innerText = event.name; | |
| document.getElementById('modal-event-full-name').innerText = event.full_name; // Add this line | |
| document.getElementById('modal-event-dates').innerText = event.dates; | |
| document.getElementById('modal-event-location').innerText = event.location; | |
| document.getElementById('modal-event-abstract-deadline').innerText = event.abstract_deadline; | |
| document.getElementById('modal-event-submission-deadline').innerText = event.submission_deadline; | |
| document.getElementById('modal-event-time-remaining').innerText = timeRemaining; | |
| document.getElementById('modal-event-tags').innerHTML = event.tags.map(tag => `<span class="tag">${tag}</span>`).join(''); | |
| document.getElementById('modal-event-link').href = event.link; | |
| const modal = document.getElementById('event-modal'); | |
| modal.style.display = 'block'; | |
| } | |