preloadertmt / index.html
timoon811's picture
Add 3 files
99a1cfa verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TMT - Awakening Protocol</title>
<script src="https://cdn.tailwindcss.com"></script>
<link href="https://fonts.googleapis.com/css2?family=VT323&display=swap" rel="stylesheet">
<style>
body {
margin: 0;
padding: 0;
overflow: hidden;
background-color: #000;
font-family: 'VT323', monospace;
color: #00FF00;
}
#matrix-preloader {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
z-index: 9999;
background-color: #000;
}
.terminal-text {
font-size: 1.5rem;
line-height: 1.8;
text-shadow: 0 0 5px #00FF00;
white-space: pre;
overflow: hidden;
margin: 0 auto;
letter-spacing: 0.1em;
}
.matrix-char {
position: absolute;
color: #00FF00;
font-size: 1rem;
opacity: 0.8;
transform: translateY(-100%);
}
.fade-out {
animation: fadeOut 1s forwards;
}
@keyframes fadeOut {
to { opacity: 0; }
}
#matrix-rain {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
opacity: 0.1;
}
.hidden {
display: none;
}
</style>
</head>
<body>
<div id="matrix-preloader">
<div id="terminal" class="terminal-text"></div>
<canvas id="matrix-rain"></canvas>
</div>
<div id="main-content" class="hidden">
<!-- Your main website content goes here -->
<div class="min-h-screen bg-black text-green-500 flex items-center justify-center">
<h1 class="text-4xl font-bold">TMT SYSTEM ONLINE</h1>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', () => {
const terminal = document.getElementById('terminal');
const preloader = document.getElementById('matrix-preloader');
const matrixRain = document.getElementById('matrix-rain');
const mainContent = document.getElementById('main-content');
// Matrix rain setup
const canvas = matrixRain;
const ctx = canvas.getContext('2d');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
const katakana = '01AF9KΩ∞';
const latin = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
const nums = '0123456789';
const alphabet = katakana + latin + nums;
const fontSize = 16;
const columns = canvas.width / fontSize;
const rainDrops = [];
for (let x = 0; x < columns; x++) {
rainDrops[x] = 1;
}
function drawMatrixRain() {
ctx.fillStyle = 'rgba(0, 0, 0, 0.05)';
ctx.fillRect(0, 0, canvas.width, canvas.height);
ctx.fillStyle = '#00FF00';
ctx.font = fontSize + 'px VT323';
for (let i = 0; i < rainDrops.length; i++) {
const text = alphabet.charAt(Math.floor(Math.random() * alphabet.length));
ctx.fillText(text, i * fontSize, rainDrops[i] * fontSize);
if (rainDrops[i] * fontSize > canvas.height && Math.random() > 0.975) {
rainDrops[i] = 0;
}
rainDrops[i]++;
}
}
let matrixInterval;
function startMatrixRain() {
matrixInterval = setInterval(drawMatrixRain, 50);
}
function stopMatrixRain() {
clearInterval(matrixInterval);
}
function typeWriter(text, element, speed, callback) {
let i = 0;
function typing() {
if (i < text.length) {
element.innerHTML = text.substring(0, i+1);
i++;
setTimeout(typing, speed);
} else if (callback) {
callback();
}
}
typing();
}
// Animation sequence
setTimeout(() => {
// First line
typeWriter('| Wake up, Operator.', terminal, 80, () => {
setTimeout(() => {
// Second line
terminal.innerHTML += '\n';
typeWriter(terminal.innerHTML + '| The system is unstable.', terminal, 80, () => {
setTimeout(() => {
// Third line
terminal.innerHTML += '\n';
typeWriter(terminal.innerHTML + '| Initiating flow recovery.', terminal, 80, () => {
setTimeout(() => {
// Fourth line
terminal.innerHTML += '\n';
typeWriter(terminal.innerHTML + '| TMT Systems Online.', terminal, 100, () => {
// Start matrix rain
startMatrixRain();
// Fade out after delay
setTimeout(() => {
preloader.classList.add('fade-out');
setTimeout(() => {
stopMatrixRain();
preloader.style.display = 'none';
mainContent.classList.remove('hidden');
}, 1000);
}, 1000);
});
}, 500);
});
}, 500);
});
}, 500);
});
}, 500);
// Handle window resize
window.addEventListener('resize', () => {
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
});
});
</script>
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=timoon811/preloadertmt" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>