rgoal.html 2.1 KB

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