ui changes and work on whitepaper

This commit is contained in:
Kevin Froman 2019-03-11 00:10:37 -05:00
parent 4fb01bac0e
commit 800c061e94
10 changed files with 69 additions and 5 deletions

View file

@ -488,7 +488,7 @@ class OnionrCommunicatorDaemon:
score = str(self.getPeerProfileInstance(i).score)
logger.info(i + ', score: ' + score)
def peerAction(self, peer, action, data=''):
def peerAction(self, peer, action, data='', returnHeaders=False):
'''Perform a get request to a peer'''
if len(peer) == 0:
return False
@ -512,7 +512,7 @@ class OnionrCommunicatorDaemon:
else:
self._core.setAddressInfo(peer, 'lastConnect', self._core._utils.getEpoch())
self.getPeerProfileInstance(peer).addScore(1)
return retData
return retData # If returnHeaders, returns tuple of data, headers. if not, just data string
def getPeerProfileInstance(self, peer):
'''Gets a peer profile instance from the list of profiles, by address name'''

View file

@ -480,7 +480,7 @@ class OnionrUtils:
retData = False
return retData
def doGetRequest(self, url, port=0, proxyType='tor', ignoreAPI=False):
def doGetRequest(self, url, port=0, proxyType='tor', ignoreAPI=False, returnHeaders=False):
'''
Do a get request through a local tor or i2p instance
'''
@ -520,7 +520,10 @@ class OnionrUtils:
if not 'ConnectTimeoutError' in str(e) and not 'Request rejected or failed' in str(e):
logger.debug('Error: %s' % str(e))
retData = False
return retData
if returnHeaders:
return (retData, response_headers)
else:
return retData
def strToBytes(self, data):
try:

View file

@ -28,6 +28,10 @@ flask_blueprint = Blueprint('mail', __name__)
c = core.Core()
kv = c.keyStore
@flask_blueprint.route('/mail/ping')
def mail_ping():
return 'pong!'
@flask_blueprint.route('/mail/deletemsg/<block>', methods=['POST'])
def mail_delete(block):
if not c._utils.validateHash(block):

View file

@ -18,6 +18,9 @@
<span class='logoText'>Onionr Mail ✉️</span>
<br><br>
<div><a href='/' class='idLink'>Home</a> <button class='refresh'>Refresh Page</button></div>
<div class='mailPing'>
API server either shutdown, has disabled mail, or has experienced a bug.
</div>
<br>
<div>Current Used Identity: <input class='myPub' type='text' readonly></div>
<br><br>

View file

@ -53,6 +53,11 @@ input{
margin: 1em;
}
.mailPing{
display: none;
color: orange;
}
.danger{
color: red;
}

View file

@ -94,6 +94,27 @@ function deleteMessage(bHash){
})
}
function mailPing(){
fetch('/mail/ping', {
"method": "get",
headers: {
"token": webpass
}})
.then(function(resp) {
var pings = document.getElementsByClassName('mailPing')
if (resp.ok){
for (var i=0; i < pings.length; i++){
pings[i].style.display = 'none';
}
}
else{
for (var i=0; i < pings.length; i++){
pings[i].style.display = 'block';
}
}
})
}
function loadInboxEntries(bHash){
fetch('/getblockheader/' + bHash, {
headers: {
@ -201,12 +222,16 @@ function getSentbox(){
var toLabel = document.createElement('span')
toLabel.innerText = 'To: '
var toEl = document.createElement('input')
var sentDate = document.createElement('span')
var humanDate = new Date(0)
humanDate.setUTCSeconds(resp[i]['date'])
var preview = document.createElement('span')
var deleteBtn = document.createElement('button')
var message = resp[i]['message']
deleteBtn.classList.add('deleteBtn', 'dangerBtn')
deleteBtn.innerText = 'X'
toEl.readOnly = true
sentDate.innerText = humanDate
if (resp[i]['name'] == null){
toEl.value = resp[i]['peer']
}
@ -219,6 +244,7 @@ function getSentbox(){
entry.appendChild(toLabel)
entry.appendChild(toEl)
entry.appendChild(preview)
entry.appendChild(sentDate)
entry.onclick = (function(tree, el, msg) {return function() {
console.log(resp)
if (! entry.classList.contains('deleteBtn')){
@ -315,4 +341,7 @@ fetch('/friends/list', {
//alert(resp[keys[i]]['name'])
}
})
setActiveTab('inbox')
setActiveTab('inbox')
setInterval(function(){mailPing()}, 10000)
mailPing()

View file

@ -20,6 +20,9 @@
<span class='logoText'>Onionr Web Control Panel</span>
<br><br>
<button id='shutdownNode'>Shutdown Node</button> <button id='refreshStats'>Refresh Stats</button>
<br><br>
<label>Site Hash: <input type='text' id='siteViewer'> <button id='openSite' class='primaryBtn openSiteBtn'>Open Onionr Site</button></label>
<br>
<br><br><a class='idLink' href='/mail/'>Mail</a> - <a class='idLink' href='/friends/'>Friend Manager</a>
<h2>Stats</h2>
<p>Uptime: <span id='uptime'></span></p>
@ -32,5 +35,6 @@
<script src='/shared/misc.js'></script>
<script src='/shared/main/stats.js'></script>
<script src='/shared/panel.js'></script>
<script src=/shared/sites.js></script>
</body>
</html>

View file

@ -172,4 +172,10 @@ body{
.primaryBtn{
background-color:#396BAC;
}
.openSiteBtn{
padding: 5px;
border: 1px solid black;
border-radius: 5px;
}