Файловый менеджер - Редактировать - /home/gqdcvggs/hizhat.com/ms.imators.com.tar
Назад
index.html 0000644 00000010357 15114716364 0006557 0 ustar 00 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Messagerie Directe</title> <link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet"> </head> <body class="bg-black text-white font-sans h-screen flex"> <!-- Sidebar --> <div class="w-1/4 bg-gray-900 h-full p-4 flex flex-col"> <h1 class="text-xl font-bold mb-4">Contacts</h1> <div class="mb-4"> <span class="text-sm text-gray-400">Votre Identifiant :</span> <div id="userId" class="text-lg font-bold"></div> </div> <div id="contacts" class="flex-1 overflow-y-auto"> <!-- Les contacts seront ajout�s ici dynamiquement --> </div> <input id="newContactId" type="text" class="bg-gray-800 text-white p-2 mt-4 rounded" placeholder="Ajouter un identifiant de contact" /> <button onclick="addContact()" class="bg-green-500 p-2 rounded mt-2">Ajouter Contact</button> </div> <!-- Chat Area --> <div class="w-3/4 bg-gray-800 h-full flex flex-col"> <div id="chatHeader" class="bg-gray-700 p-4 text-lg font-bold">S�lectionner un contact</div> <div id="messages" class="flex-1 overflow-y-auto p-4"> <!-- Les messages seront affich�s ici --> </div> <div class="p-4 bg-gray-700 flex"> <input id="messageInput" type="text" class="flex-1 bg-gray-800 text-white p-2 rounded" placeholder="�crire un message..." /> <button onclick="sendMessage()" class="bg-blue-500 p-2 rounded ml-2">Envoyer</button> </div> </div> <script> let contacts = JSON.parse(localStorage.getItem('contacts')) || []; let selectedContact = null; let userId = localStorage.getItem('userId'); // G�n�rer un identifiant unique si non existant if (!userId) { userId = 'user_' + Math.random().toString(36).substr(2, 9); localStorage.setItem('userId', userId); } // Afficher l'identifiant de l'utilisateur document.addEventListener('DOMContentLoaded', () => { document.getElementById('userId').innerText = userId; displayContacts(); }); function addContact() { const contactId = document.getElementById('newContactId').value.trim(); if (contactId && !contacts.includes(contactId)) { contacts.push(contactId); localStorage.setItem('contacts', JSON.stringify(contacts)); displayContacts(); document.getElementById('newContactId').value = ''; } } function displayContacts() { const contactsDiv = document.getElementById('contacts'); contactsDiv.innerHTML = ''; contacts.forEach(contact => { const contactElement = document.createElement('div'); contactElement.className = 'p-2 bg-gray-800 mt-2 rounded cursor-pointer'; contactElement.innerText = contact; contactElement.onclick = () => selectContact(contact); contactsDiv.appendChild(contactElement); }); } function selectContact(contact) { selectedContact = contact; document.getElementById('chatHeader').innerText = 'Chat avec ' + contact; loadMessages(); } function loadMessages() { const messages = JSON.parse(localStorage.getItem('messages_' + selectedContact)) || []; const messagesDiv = document.getElementById('messages'); messagesDiv.innerHTML = ''; messages.forEach(msg => { const messageElement = document.createElement('div'); messageElement.className = 'p-2 mt-2 rounded'; messageElement.classList.add(msg.sender === userId ? 'bg-blue-600 text-right' : 'bg-gray-700 text-left'); messageElement.innerText = msg.text; messagesDiv.appendChild(messageElement); }); messagesDiv.scrollTop = messagesDiv.scrollHeight; } function sendMessage() { const messageText = document.getElementById('messageInput').value.trim(); if (messageText && selectedContact) { const messages = JSON.parse(localStorage.getItem('messages_' + selectedContact)) || []; messages.push({ sender: userId, text: messageText }); localStorage.setItem('messages_' + selectedContact, JSON.stringify(messages)); document.getElementById('messageInput').value = ''; loadMessages(); } } </script> </body> </html>