1
0

redirect.html 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  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. <title>Dune Weaver - Redirecting</title>
  7. <meta http-equiv="refresh" content="3;url=/">
  8. <style>
  9. * {
  10. margin: 0;
  11. padding: 0;
  12. box-sizing: border-box;
  13. }
  14. body {
  15. font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  16. background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
  17. min-height: 100vh;
  18. display: flex;
  19. align-items: center;
  20. justify-content: center;
  21. color: #e4e4e7;
  22. }
  23. .container {
  24. text-align: center;
  25. padding: 2rem;
  26. max-width: 500px;
  27. }
  28. .icon {
  29. font-size: 4rem;
  30. margin-bottom: 1.5rem;
  31. animation: pulse 2s infinite;
  32. }
  33. @keyframes pulse {
  34. 0%, 100% { opacity: 1; }
  35. 50% { opacity: 0.5; }
  36. }
  37. h1 {
  38. font-size: 1.75rem;
  39. font-weight: 600;
  40. margin-bottom: 1rem;
  41. color: #f4f4f5;
  42. }
  43. p {
  44. font-size: 1rem;
  45. color: #a1a1aa;
  46. margin-bottom: 1.5rem;
  47. line-height: 1.6;
  48. }
  49. .highlight {
  50. color: #60a5fa;
  51. font-weight: 500;
  52. }
  53. .countdown {
  54. font-size: 2rem;
  55. font-weight: bold;
  56. color: #60a5fa;
  57. margin: 1rem 0;
  58. }
  59. a {
  60. color: #60a5fa;
  61. text-decoration: none;
  62. font-weight: 500;
  63. }
  64. a:hover {
  65. text-decoration: underline;
  66. }
  67. .note {
  68. font-size: 0.875rem;
  69. color: #71717a;
  70. margin-top: 2rem;
  71. padding-top: 1rem;
  72. border-top: 1px solid #27272a;
  73. }
  74. </style>
  75. </head>
  76. <body>
  77. <div class="container">
  78. <div class="icon">🏜️</div>
  79. <h1>Dune Weaver Has a New Home!</h1>
  80. <p>
  81. The frontend has moved to <span class="highlight">port 80</span>.<br>
  82. You're currently on port 8080 (API only).
  83. </p>
  84. <p>Redirecting in <span class="countdown" id="countdown">3</span> seconds...</p>
  85. <p><a href="/" id="redirect-link">Click here</a> if not redirected automatically.</p>
  86. <p class="note">
  87. Tip: Access Dune Weaver directly at <strong>http://{{ host }}</strong> (no port needed)
  88. </p>
  89. </div>
  90. <script>
  91. // Countdown timer
  92. let seconds = 3;
  93. const countdownEl = document.getElementById('countdown');
  94. const redirectLink = document.getElementById('redirect-link');
  95. // Build redirect URL (same host, port 80)
  96. const currentHost = window.location.hostname;
  97. const newUrl = 'http://' + currentHost + '/';
  98. redirectLink.href = newUrl;
  99. const timer = setInterval(() => {
  100. seconds--;
  101. countdownEl.textContent = seconds;
  102. if (seconds <= 0) {
  103. clearInterval(timer);
  104. window.location.href = newUrl;
  105. }
  106. }, 1000);
  107. </script>
  108. </body>
  109. </html>