whisperlink-vibes / script.js
SwitchAlpha's picture
Connected2me-style App
bdd7865 verified
document.addEventListener('DOMContentLoaded', () => {
// Shared initialization logic
console.log('WhisperLink app initialized');
// Animation trigger for elements with fade-in class
const fadeElements = document.querySelectorAll('.fade-in');
fadeElements.forEach((el, index) => {
el.style.animationDelay = `${index * 0.1}s`;
});
// WebSocket connection for real-time updates
const protocol = window.location.protocol === 'https:' ? 'wss://' : 'ws://';
const socket = new WebSocket(protocol + window.location.host + '/ws');
socket.onmessage = (event) => {
const data = JSON.parse(event.data);
if (data.type === 'new_message') {
showToast(`New message received in ${data.link}`);
}
};
function showToast(message) {
const toast = document.createElement('div');
toast.className = 'fixed bottom-4 right-4 bg-indigo-600 text-white px-4 py-2 rounded-lg shadow-lg z-50 fade-in';
toast.textContent = message;
document.body.appendChild(toast);
setTimeout(() => {
toast.classList.add('opacity-0', 'transition-opacity', 'duration-300');
setTimeout(() => toast.remove(), 300);
}, 3000);
}
});