A Minimalistic and Privary-by-default URL sortener
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

68 lines
2.3 KiB

{% extends "base.html" %}
{% block script %}
<script>
function run() {
/*
var encurl = JSON.parse();
journalmarks_decrypturl(encurl).then(function (url) {
document.getElementById('url').href = url.url;
document.getElementById('url').innerText = url.url;
document.getElementById('url').click();
});
*/
journalmarks_loadkey().then(function() {
return post_object('{{ url_for('journalmarks.overview_get_journalmarks') }}', {});
}).then(function(jms) {
console.log(jms);
var decrs = [];
jms.forEach(function(j) {
var p = document.getElementById('prototype');
var n = p.cloneNode(true);
n.id = 'journalmark_' + j.tag;
n.getElementsByClassName('date')[0].innerText = j.created;
n.getElementsByClassName('tag')[0].innerText = j.tag;
n.getElementsByClassName('tag')[0].href = '/' + j.tag;
n.getElementsByClassName('url')[0].innerText = 'decrypting...';
document.getElementById('journalmarks').appendChild(n);
decrs.push(journalmarks_decrypturl(j.content).then(function(url) {
n.getElementsByClassName('url')[0].href = url.url;
n.getElementsByClassName('url')[0].innerText = url.url;
}).catch(function(error) {
console.log(error);
n.getElementsByClassName('url')[0].innerText = 'unable to decrypt url';
}));
});
return Promise.all(decrs);
}).catch(function(error) {
console.log(error);
//deleteKey();
//window.location.href = '{{ url_for('journalmarks.login') }}';
});
}
if (document.readyState!='loading') run();
else if (document.addEventListener) document.addEventListener('DOMContentLoaded', run);
else document.attachEvent('onreadystatechange', function(){
if (document.readyState=='complete') run();
});
</script>
<style>
#prototype {
display: none;
}
#journalmarks p {
margin: 1em;
padding: 1em;
border: 1px solid grey;
}
</style>
{% endblock %}
{% block body %}
<div id="journalmarks">
<p id="prototype">
Tag: <a class="tag" href=""></a><br>
URL: <a class="url" rel="noreferrer" href=""></a><br>
Created: <span class="date"></span>
</p>
</div>
{% endblock %}