/* Onionr - Private P2P Communication Main Onionr chat UI script This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see */ friendList = {} convoListElement = document.getElementsByClassName('conversationList')[0] firstConvoLoad = true activeConvo = null; function createConvoList(){ convoListElement.innerHTML = "" for (friend in friendList){ let convoEntry = document.createElement('li') let connectStatus = document.createElement('span') connectStatus.classList.add("connectStatus") if (firstConvoLoad){ connectStatus.innerText = " ⌛" } else{ connectStatus.innerText = " X" connectStatus.style.color = "red" console.log(direct_connections) if (direct_connections.hasOwnProperty(friend)){ connectStatus.innerText = " ✅" connectStatus.style.color = "green" } } convoEntry.classList.add('convoEntry') convoEntry.setAttribute('data-pubkey', friend) convoEntry.innerText = friendList[friend] convoEntry.appendChild(connectStatus) convoListElement.append(convoEntry) firstConvoLoad = false } setTimeout(function(){createConvoList()}, 3000) } fetch('/friends/list', { headers: { "token": webpass }}) .then((resp) => resp.json()) // Transform the data into json .then(function(resp) { var keys = [] for(var k in resp) keys.push(k) for (var i = 0; i < keys.length; i++){ friendList[keys[i]] = resp[keys[i]]['name'] // Create a connection to each peer createConnection(keys[i]) } createConvoList() }) // Correct conversation list height function correctConvoList(){ margin = 50 els = document.getElementsByClassName('convoListContainer') for (x = 0; x < els.length; x++){ els[x].style.height = window.innerHeight - (2 * margin) + 'px' } } setInterval(function(){correctConvoList()}, 30)