From afdd65e44c3a1a89d1aaa1c089508bd86477d727 Mon Sep 17 00:00:00 2001 From: grant-kun Date: Wed, 12 Oct 2022 09:41:42 -0500 Subject: some mail updates --- html/mail.html | 303 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 272 insertions(+), 31 deletions(-) (limited to 'html') diff --git a/html/mail.html b/html/mail.html index f363dfe..f726505 100644 --- a/html/mail.html +++ b/html/mail.html @@ -3,15 +3,199 @@ mail + @@ -52,7 +236,7 @@ } return result; } - function sendenc(location, content) { + function sendenc(location, data) { var promise = new Promise((resolve, reject) => { var xhr = new XMLHttpRequest(); xhr.open("POST", window.location.href + location, true); @@ -66,7 +250,7 @@ } } let out = {} - Object.assign(out, { json: true, enc: true, sid: sid }, { data: nodersa(pub, 'pkcs8-public').encrypt({ data: content, date: new Date() }, 'base64') }) + Object.assign(out, { json: true, enc: true, sid: sid }, { 'data': nodersa(pub, 'pkcs8-public').encrypt({ login_key: getCookie('login_key'), data, date: new Date() }, 'base64') }) xhr.send(JSON.stringify(out)) }) return (promise) @@ -96,25 +280,60 @@ let emails = [] function update() { //console.log('hi') - sendenc('/get/update', { 'user': 'root', 'requested': 0, 'login_key': getCookie('login_key') }).then(res => { - res = JSON.parse(res) - console.log('parsed') - emails = res.reverse() + let promie = new Promise((resolve, reject) => { + sendenc('/get/update', { 'user': 'root', 'requested': 0, 'login_key': getCookie('login_key') }).then(res => { + res = JSON.parse(res) + console.log('parsed') + emails = res.reverse() + console.log(res) + umail() + resolve(res) + }) }) + return promie } function init() { //console.log('hi') - sendenc('/get/storage', { 'user': 'root', 'pass': 'password', 'requested': 0, 'login_key': getCookie('login_key') }).then(res => { - res = JSON.parse(res) - console.log('parsed') - emails = res.reverse() - }) + let promie = new Promise((resolve, reject) => { + sendenc('/get/storage', { 'user': 'root', 'pass': 'password', 'requested': 0, 'login_key': getCookie('login_key') }).then(res => { + res = JSON.parse(res) + console.log('parsed') + emails = res.reverse() + umail() + resolve(res) + }) + }); + return (promie) + } let mypriv, mypub, pub, kekw let preview = -1 + var converter = new showdown.Converter() async function lm(index) { - console.log() - document.getElementById('view').innerHTML = emails[index]['body[1]'] + let m = ((emails[index]['body[1]'])) + var linkify = m.replace(/((.*)<\/a>)?/gi, function () { + return '' + (arguments[7] || arguments[2]) + '' + }); + document.getElementById('box').style.display = 'block' + document.getElementById('view').innerHTML = converter.makeHtml(linkify) + + + } + function umail() { + let ret = '' + let evo = false + + for (let email of emails) { + let c = '#2C3333' + if (evo) { + c = '#395B64' + } + evo = !evo + ret += '
' + ret += 'sub:' + email.envelope.subject + '
frm:' + email.envelope.from[0].address + '
' + email.envelope.date + '

' + } + + document.getElementById('emails').innerHTML = ret } async function load() { @@ -122,35 +341,57 @@ mypriv = await kekw.exportKey('pkcs1-private') mypub = await kekw.exportKey('pkcs8-public') pub = await sendnoenc('/pub.key', { sid: sid, pub: mypub }) + if (getCookie('login_key') == null) { window.location.href = '/' - } else { - init() } - setInterval(() => { - let ret = '' - let evo = false - - for (let email of emails) { - let c = '#2C3333' - if (evo) { - c = '#395B64' - } - evo = !evo - ret += '
' - ret += 'sub:' + email.envelope.subject + '
frm:' + email.envelope.from[0].address + '
' + email.envelope.date + '

' + await init() + //return + //document.getElementsByClassName('loading')[0].style.display = 'none' + let xx = document.getElementsByClassName('card')[0] + let xy = xx.style.top + let x = setInterval(() => { + if (xy >= 100) { + clearInterval(x) } + document.getElementsByClassName('card')[0].style.top = xy + '%' + xy -= 15 - document.getElementById('emails').innerHTML = ret + }, 10) + + + setInterval(() => { + umail() }, 5000) } // +
+
+ + + + + + + + +
+
-
+ + -- cgit v1.2.3