ui changes and work on whitepaper
This commit is contained in:
parent
4fb01bac0e
commit
800c061e94
10 changed files with 69 additions and 5 deletions
|
@ -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'''
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -53,6 +53,11 @@ input{
|
|||
margin: 1em;
|
||||
}
|
||||
|
||||
.mailPing{
|
||||
display: none;
|
||||
color: orange;
|
||||
}
|
||||
|
||||
.danger{
|
||||
color: red;
|
||||
}
|
||||
|
|
|
@ -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()
|
|
@ -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>
|
|
@ -172,4 +172,10 @@ body{
|
|||
|
||||
.primaryBtn{
|
||||
background-color:#396BAC;
|
||||
}
|
||||
|
||||
.openSiteBtn{
|
||||
padding: 5px;
|
||||
border: 1px solid black;
|
||||
border-radius: 5px;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue