moved static data one directory up

This commit is contained in:
Kevin Froman 2019-09-23 17:56:05 -05:00
parent e4df34ef29
commit 09f6735961
124 changed files with 27 additions and 54 deletions

View file

@ -0,0 +1,6 @@
var conversationListElements = document.getElementsByClassName('conversationList')
for (i = 0; i < conversationListElements.length; i++){
conversationListElements[i].onclick = function(e){
}
}

77
static-data/www/chat/js/main.js Executable file
View file

@ -0,0 +1,77 @@
/*
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 <https://www.gnu.org/licenses/>
*/
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)

View file

@ -0,0 +1,25 @@
/*
Onionr - Private P2P Communication
This file manages chat messages in the chat UI
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 <https://www.gnu.org/licenses/>
*/
let showMessages = function(){
let feeds = document.getElementsByClassName("chatFeed")
for (x=0; x < feeds.length; x++){
}
}

View file

@ -0,0 +1,36 @@
/*
Onionr - Private P2P Communication
Onionr chat message objects
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 <https://www.gnu.org/licenses/>
*/
chatMessages = {}
let Message = class {
constructor(text, peer, outgoing){
this.text = text // raw message string
this.peer = peer // peer by public key
this.outgoing = outgoing // boolean. false = outgoing message
this.time = new Date().toISOString() // store message time
this.tempIdentifier = Math.floor(Math.random() * 100000000000000000) // assign a random id, doesnt need to be secure
// Add the message to the peer message feed object chatMessages
if (chatMessages.hasOwnProperty(peer)){
chatMessages[peer].push(this)
}
else{
chatMessages[peer] = [this]
}
}
}

View file

@ -0,0 +1,24 @@
/*
Onionr - Private P2P Communication
Resize chat elements to help with responsiveness
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 <https://www.gnu.org/licenses/>
*/
let doResize = function(){
let chatInput = document.getElementsByClassName('chatInput')[0]
chatInput.style.width = "50%";
}
doResize()
window.onresize = doResize