52 lines
1.2 KiB
HTML
52 lines
1.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>BatchTube — Starting...</title>
|
|
<style>
|
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
body {
|
|
background: #0d0f14;
|
|
color: #e8eaf0;
|
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 100vh;
|
|
gap: 24px;
|
|
}
|
|
.logo { font-size: 2.5rem; font-weight: 800; }
|
|
.logo span { color: #FF8822; }
|
|
.spinner {
|
|
width: 40px; height: 40px;
|
|
border: 3px solid rgba(255,136,34,0.2);
|
|
border-top-color: #FF8822;
|
|
border-radius: 50%;
|
|
animation: spin 0.8s linear infinite;
|
|
}
|
|
@keyframes spin { to { transform: rotate(360deg); } }
|
|
.status { color: #8892a4; font-size: 0.9rem; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="logo">Batch<span>Tube</span></div>
|
|
<div class="spinner"></div>
|
|
<div class="status" id="status">Starting engine...</div>
|
|
<script>
|
|
async function checkServer() {
|
|
try {
|
|
const r = await fetch('http://localhost:8765/api/health');
|
|
if (r.ok) {
|
|
document.getElementById('status').textContent = 'Ready! Loading...'
|
|
window.location.href = 'http://localhost:8765';
|
|
return;
|
|
}
|
|
} catch(e) {}
|
|
setTimeout(checkServer, 500);
|
|
}
|
|
checkServer();
|
|
</script>
|
|
</body>
|
|
</html>
|