rmilestone.html 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <link rel="stylesheet" href="{{ url_for('static', filename='alertstyle.css') }}">
  7. <title>Milestone Reached Alert</title>
  8. </head>
  9. <body>
  10. {% if not alert_name %}
  11. <div id="alertVid"></div>
  12. <div id="alertImg"></div>
  13. {% elif "webm" in alert_name %}
  14. <video id="alertVid" autoplay>
  15. <source src="{{ url_for('web_panels.assets', asset_name=alert_name) }}" type="video/webm">
  16. </video>
  17. <div id="alertImg"></div>
  18. {% else %}
  19. <div id="alertVid"></div>
  20. <img id="alertImg" src="{{ url_for('web_panels.assets', asset_name=alert_name) }}">
  21. {% endif %}
  22. <div id="nameBox"></div>
  23. <script>
  24. setInterval(function() {
  25. fetch('/checkMilestones')
  26. .then(response => response.json())
  27. .then(data => {
  28. if (data) {
  29. const alertVid = document.getElementById('alertVid');
  30. const alertImg = document.getElementById('alertImg');
  31. const nameBox = document.getElementById('nameBox');
  32. const alertName = data.name;
  33. nameBox.innerHTML = `
  34. ${alertName}
  35. `;
  36. nameBox.style.display = 'block';
  37. alertVid.style.display = 'block';
  38. alertImg.style.display = 'block';
  39. setTimeout(() => {
  40. alertVid.style.display = 'none';
  41. alertImg.style.display = 'none';
  42. nameBox.style.display = 'none';
  43. }, 10000); // Visible for 10 seconds
  44. }
  45. });
  46. }, 3000); // Check for new milestone every 3 seconds
  47. </script>
  48. </body>
  49. </html>