sga / index.html
maralvic's picture
Alterar a mp3 para a seguinte, disponível na URL https://huggingface.co/spaces/maralvic/pics/resolve/main/ndg.mp3 - Follow Up Deployment
6b4aa50 verified
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Para Minha Supergirl - Alessandra</title>
<script src="https://cdn.tailwindcss.com"></script>
<link href="https://fonts.googleapis.com/css2?family=Playball&family=Poppins:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<script src="https://unpkg.com/feather-icons"></script>
<style>
.heartbeat {
animation: heartbeat 1.5s ease-in-out infinite both;
}
@keyframes heartbeat {
0% { transform: scale(1); }
14% { transform: scale(1.1); }
28% { transform: scale(1); }
42% { transform: scale(1.1); }
70% { transform: scale(1); }
}
.text-shadow {
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
}
.letter {
transition: all 0.3s ease;
}
.letter:hover {
transform: scale(1.2);
color: #f43f5e;
}
.cursive {
font-family: 'Playball', cursive;
}
body {
font-family: 'Poppins', sans-serif;
}
.love-word {
background: linear-gradient(45deg, #ec4899, #f43f5e);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
display: inline-block;
}
.heart-shape {
width: 300px;
height: 300px;
position: relative;
transform: rotate(-45deg);
}
</style>
</head>
<body class="min-h-screen" style="background: linear-gradient(135deg, #3b82f6 0%, #ec4899 100%); background-size: cover; background-position: center; background-attachment: fixed;">
<div class="container mx-auto px-4 py-8 max-w-4xl backdrop-blur-sm bg-white/70 rounded-lg my-8">
<!-- Header with Hearts -->
<div class="text-center mb-8">
<div class="flex justify-center space-x-6 mb-4">
<i data-feather="heart" class="w-12 h-12 text-red-500 heartbeat"></i>
<i data-feather="heart" class="w-16 h-16 text-pink-500 heartbeat" style="animation-delay: 0.2s;"></i>
<i data-feather="heart" class="w-12 h-12 text-red-500 heartbeat" style="animation-delay: 0.4s;"></i>
</div>
<h1 class="text-4xl md:text-5xl font-bold cursive love-word text-shadow">Para Minha Supergirl</h1>
<p class="text-xl text-gray-600 cursive">Alessandra ❤</p>
</div>
<!-- Photo Frame -->
<div class="flex justify-center mb-12">
<div class="relative group">
<div class="absolute -inset-2 bg-gradient-to-r from-pink-500 to-red-500 rounded-lg blur opacity-75 group-hover:opacity-100 transition duration-300"></div>
<div class="relative bg-white rounded-lg overflow-hidden shadow-xl w-64 h-64 flex items-center justify-center">
<div id="couplePhoto" class="w-full h-full bg-center bg-cover" style="background-image: url('https://huggingface.co/spaces/maralvic/pics/resolve/main/Imagem%20do%20WhatsApp%20de%202025-06-12%20%C3%A0(s)%2017.05.24_34828e3c.jpg')"></div>
</div>
<div class="absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/60 to-transparent p-4">
</div>
</div>
</div>
<!-- Anagram Letters -->
<div class="bg-white rounded-xl shadow-lg p-6 mb-8">
<h2 class="text-2xl font-bold text-center mb-6 text-red-600 cursive">Deixa eu dizer o quanto eu te amo:</h2>
<div id="anagramLetters" class="flex flex-wrap justify-center gap-2 mb-6">
<!-- Letters will be added here by JavaScript -->
</div>
<button id="revealBtn" class="w-full bg-gradient-to-r from-pink-500 to-red-500 text-white py-3 px-6 rounded-lg font-bold transition hover:from-pink-600 hover:to-red-600 focus:outline-none focus:ring-2 focus:ring-pink-400 focus:ring-opacity-50">
Revelar Mensagem
</button>
</div>
<!-- Hidden Message -->
<div id="hiddenMessage" class="hidden bg-white rounded-xl shadow-lg p-6 mb-8">
<div class="space-y-6">
<p class="text-lg text-gray-800 leading-relaxed"><span class="font-bold text-pink-600">S</span>ou grato por insistir em nós e acreditar na nossa união,</p>
<p class="text-lg text-gray-800 leading-relaxed"><span class="font-bold text-pink-600">U</span>m agradecimento especial por estar perto de mim, mesmo nos momentos em que eu mesmo não estava,</p>
<p class="text-lg text-gray-800 leading-relaxed"><span class="font-bold text-pink-600">P</span>or suportar minhas crises e iluminar o meu caminho com sua luz,</p>
<p class="text-lg text-gray-800 leading-relaxed"><span class="font-bold text-pink-600">E</span>u sou feliz por você ter aparecido na minha vida quando menos esperava,</p>
<p class="text-lg text-gray-800 leading-relaxed"><span class="font-bold text-pink-600">R</span>econheço o quanto você derrubou obstáculos e chegou onde está,</p>
<p class="text-lg text-gray-800 leading-relaxed"><span class="font-bold text-pink-600">G</span>rato por mostrar que tem atitude e, mesmo na tempestade, acreditou que um sol te esperava,</p>
<p class="text-lg text-gray-800 leading-relaxed"><span class="font-bold text-pink-600">I</span>ncrível como você faz eu sentir de novo o que eu já não me importava mais... você me faz tão bem,</p>
<p class="text-lg text-gray-800 leading-relaxed"><span class="font-bold text-pink-600">R</span>ealmente te amo cada dia mais, desde o primeiro beijo na melhor viagem das nossas vidas,</p>
<p class="text-lg text-gray-800 leading-relaxed"><span class="font-bold text-pink-600">L</span>embre-se sempre: você é minha supergirl, minha força, meu amor, minha alegria!</p>
</div>
<div class="mt-8 text-center">
<div class="inline-block border-t-2 border-pink-200 pt-4">
<p class="text-xl cursive text-pink-600">Com todo meu amor,</p>
<p class="text-2xl font-bold cursive text-red-600">Marcelo ❤</p>
</div>
</div>
</div>
<!-- Audio Element -->
<audio id="heartAudio" src="https://huggingface.co/spaces/maralvic/pics/resolve/main/ndg.mp3" preload="auto"></audio>
<!-- Interactive Hearts -->
<div class="text-center mt-12 relative h-32">
<button id="heartButton" class="bg-red-500 text-white p-4 rounded-full shadow-lg hover:bg-red-600 transition duration-300 focus:outline-none focus:ring-2 focus:ring-red-400 focus:ring-opacity-50">
<i data-feather="heart" class="w-10 h-10"></i>
<span class="sr-only">Enviar Coração</span>
</button>
<p class="text-gray-600 mt-2">Depois de ler, toque para receber muito mais amor!</p>
<div id="heartsContainer" class="absolute inset-0 pointer-events-none overflow-hidden"></div>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
feather.replace();
// Anagram letters
const message = "GRATO POR VOCÊ - MINHA SUPER GIRL ALESSANDRA ❤";
const letters = message.split('');
const anagramLetters = document.getElementById('anagramLetters');
const shuffledLetters = [...letters].sort(() => Math.random() - 0.5);
shuffledLetters.forEach((letter, index) => {
const letterElement = document.createElement('span');
letterElement.textContent = letter;
letterElement.className = 'text-3xl letter cursor-pointer';
letterElement.style.transitionDelay = `${index * 0.02}s`;
anagramLetters.appendChild(letterElement);
});
// Reveal message
const revealBtn = document.getElementById('revealBtn');
const hiddenMessage = document.getElementById('hiddenMessage');
revealBtn.addEventListener('click', function() {
hiddenMessage.classList.remove('hidden');
revealBtn.classList.add('hidden');
// Animate the letters
const letters = document.querySelectorAll('.letter');
letters.forEach((letter, index) => {
setTimeout(() => {
letter.style.transform = 'translateY(-20px)';
letter.style.opacity = '0';
}, index * 20);
});
setTimeout(() => {
anagramLetters.classList.add('hidden');
}, letters.length * 20 + 200);
});
// Floating hearts effect
const heartButton = document.getElementById('heartButton');
const heartsContainer = document.getElementById('heartsContainer');
let isHeartsActive = false;
let heartInterval;
heartButton.addEventListener('click', function() {
// Play heart sound
const heartAudio = document.getElementById('heartAudio');
heartAudio.currentTime = 0; // Rewind to start
heartAudio.play().catch(e => console.log("Audio play failed:", e));
// Create explosion effect
for (let i = 0; i < 50; i++) {
createHeart(true);
}
// Show circular photo popup with text
const heartFrame = document.createElement('div');
heartFrame.className = 'fixed inset-0 flex items-center justify-center z-50 bg-black bg-opacity-75';
heartFrame.innerHTML = `
<div class="relative flex items-center justify-center" style="width: 80%; max-width: 600px;">
<div class="relative w-full aspect-square rounded-full overflow-hidden shadow-2xl border-8 border-pink-200">
<img src="https://huggingface.co/spaces/maralvic/pics/resolve/main/Imagem%20do%20WhatsApp%20de%202025-06-12%20%C3%A0(s)%2018.05.06_52cb0651.jpg"
alt="Special Photo"
class="w-full h-full object-cover">
<div class="absolute inset-0 bg-black/30 flex items-center justify-center flex-col">
<div class="text-center px-8">
<h2 class="text-4xl md:text-5xl font-bold cursive text-white drop-shadow-lg mb-4">
O quanto eu te amo...
</h2>
<p class="text-xl text-white/90 cursive">... é pouco pelo que eu ainda vou te amar ❤</p>
</div>
</div>
</div>
<button class="absolute top-4 right-4 bg-white rounded-full p-2 shadow-md hover:bg-gray-100 transition">
<i data-feather="x" class="w-6 h-6 text-pink-600"></i>
</button>
</div>
`;
document.body.appendChild(heartFrame);
feather.replace();
// Close button functionality
heartFrame.querySelector('button').addEventListener('click', () => {
heartFrame.remove();
});
});
function createHeart(explosion = false) {
const heart = document.createElement('div');
const heartColors = ['text-red-500', 'text-pink-500', 'text-rose-500', 'text-fuchsia-500'];
const randomColor = heartColors[Math.floor(Math.random() * heartColors.length)];
heart.innerHTML = `<i data-feather="heart" class="w-8 h-8 ${randomColor}"></i>`;
feather.replace();
const size = Math.random() * 40 + 20;
const startX = Math.random() * window.innerWidth;
const startY = window.innerHeight + 50;
const endY = -150;
const animationDuration = Math.random() * 8 + 3;
const opacity = Math.random() * 0.7 + 0.3;
heart.style.position = 'absolute';
heart.style.left = startX + 'px';
heart.style.top = startY + 'px';
heart.style.width = size + 'px';
heart.style.height = size + 'px';
heart.style.opacity = opacity;
heart.style.transform = `translateY(0) scale(${Math.random() * 0.5 + 0.5}) rotate(${Math.random() * 360}deg)`;
heart.style.transition = `all ${animationDuration}s linear`;
heart.style.pointerEvents = 'none';
heartsContainer.appendChild(heart);
setTimeout(() => {
heart.style.transform = `translateY(${endY}px) scale(${Math.random() * 0.5 + 0.5}) rotate(${Math.random() * 360}deg)`;
}, 10);
// Remove heart after animation completes
setTimeout(() => {
heart.remove();
}, animationDuration * 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://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=maralvic/sga" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>