haz / index.html
Yungbee06's picture
A letter that shoots fire works that a written " Bitch I'm him 😎" - Initial Deployment
dc66a62 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Fireworks Letter</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
@import url('https://fonts.googleapis.com/css2?family=Pacifico&display=swap');
.letter {
transform-style: preserve-3d;
transition: all 0.5s ease;
}
.letter.flipped {
transform: rotateY(180deg);
}
.letter-front, .letter-back {
backface-visibility: hidden;
position: absolute;
width: 100%;
height: 100%;
}
.letter-back {
transform: rotateY(180deg);
}
.firework {
position: absolute;
width: 5px;
height: 5px;
border-radius: 50%;
box-shadow: 0 0 10px 5px;
animation: explode 1s ease-out forwards;
opacity: 0;
}
@keyframes explode {
0% {
transform: scale(0.1);
opacity: 1;
}
100% {
transform: scale(1.5);
opacity: 0;
}
}
.pacifico {
font-family: 'Pacifico', cursive;
}
.envelope {
perspective: 1000px;
}
</style>
</head>
<body class="bg-gray-900 min-h-screen flex items-center justify-center p-4">
<div class="envelope relative w-full max-w-md">
<div class="letter relative w-full h-64 bg-yellow-100 rounded-lg shadow-xl cursor-pointer transition-all duration-300 hover:shadow-2xl">
<div class="letter-front absolute inset-0 flex flex-col p-6">
<div class="flex-1 flex items-center justify-center">
<div class="text-center">
<i class="fas fa-heart text-red-500 text-4xl mb-2 animate-pulse"></i>
<p class="text-gray-700 font-semibold">Click to open this special message</p>
</div>
</div>
<div class="text-right">
<p class="text-gray-500 text-sm">To: The One Who's Him</p>
</div>
</div>
<div class="letter-back absolute inset-0 bg-gradient-to-br from-purple-100 to-pink-100 p-6 flex flex-col">
<div class="flex-1 flex items-center justify-center relative overflow-hidden">
<h1 id="message" class="text-4xl font-bold text-transparent bg-clip-text bg-gradient-to-r from-purple-600 to-pink-600 pacifico text-center">
Bitch I'm him 😎
</h1>
</div>
<div class="text-right">
<p class="text-gray-500 text-sm">With attitude,</p>
<p class="text-gray-500 text-sm">The Real One</p>
</div>
</div>
</div>
<div class="absolute -bottom-2 left-0 right-0 h-4 bg-red-600 rounded-b-lg mx-auto w-11/12"></div>
<div class="absolute -bottom-4 left-0 right-0 h-4 bg-red-700 rounded-b-lg mx-auto w-10/12"></div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
const letter = document.querySelector('.letter');
const message = document.getElementById('message');
const colors = ['#ff0000', '#00ff00', '#0000ff', '#ffff00', '#ff00ff', '#00ffff'];
letter.addEventListener('click', function() {
this.classList.toggle('flipped');
if (this.classList.contains('flipped')) {
// Create fireworks when letter is opened
createFireworks();
// Animate the message
message.style.animation = 'none';
setTimeout(() => {
message.style.animation = 'bounce 0.5s ease';
}, 10);
}
});
function createFireworks() {
const container = document.querySelector('.letter-back');
for (let i = 0; i < 50; i++) {
setTimeout(() => {
const firework = document.createElement('div');
firework.className = 'firework';
// Random position
const x = Math.random() * 100;
const y = Math.random() * 100;
// Random color
const color = colors[Math.floor(Math.random() * colors.length)];
firework.style.left = `${x}%`;
firework.style.top = `${y}%`;
firework.style.color = color;
container.appendChild(firework);
// Remove firework after animation
setTimeout(() => {
firework.remove();
}, 1000);
}, i * 100);
}
}
// Add some confetti when hovering the envelope
letter.addEventListener('mouseenter', function() {
if (!this.classList.contains('flipped')) {
const confetti = document.createElement('div');
confetti.className = 'absolute w-2 h-2 bg-yellow-300 rounded-full opacity-70';
confetti.style.left = `${Math.random() * 100}%`;
confetti.style.top = `${Math.random() * 100}%`;
confetti.style.transform = 'translate(-50%, -50%)';
document.querySelector('.envelope').appendChild(confetti);
setTimeout(() => {
confetti.remove();
}, 1000);
}
});
});
</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://deepsite.hf.co/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://deepsite.hf.co" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://deepsite.hf.co?remix=Yungbee06/haz" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>