Decrypt page improvements

This commit is contained in:
M66B 2022-10-18 17:20:19 +02:00
parent 6cc1b34dc2
commit be80970bac
1 changed files with 18 additions and 16 deletions

View File

@ -38,8 +38,6 @@
function load() {
let form = document.getElementById('form')
let password = document.getElementById('password');
let message = document.getElementById('message');
let error = document.getElementById('error');
let details = document.getElementById('details');
@ -50,7 +48,7 @@
typeof Uint8Array === 'function' &&
typeof TextEncoder === 'function') {
form.style.display = 'block';
password.focus();
form.password.focus();
}
else {
error.textContent = 'Your browser is unsuitable for decrypting content';
@ -62,8 +60,8 @@
details.style.display = 'block';
}
else {
message.innerHTML = 'Nothing to see here';
message.style.display = 'block';
error.textContent = 'Nothing to see here';
error.style.display = 'block';
}
document.getElementById('year').textContent = new Date().getFullYear();
@ -75,35 +73,34 @@
}
async function decrypt() {
let fields = document.getElementById('fields');
let form = document.getElementById('form')
let password = document.getElementById('password');
let content = document.getElementById('content');
let message = document.getElementById('message');
let error = document.getElementById('error');
let details = document.getElementById('details');
let copyright = document.getElementById('copyright');
try {
fields.disabled = true;
message.style.display = 'none';
form.fields.disabled = true;
content.style.display = 'none';
error.style.display = 'none';
details.style.display = 'none';
if (!password.value)
if (!form.password.value)
throw new Error('Password required');
let dirty = await _decrypt(password.value);
let dirty = await _decrypt(form.password.value);
let clean = DOMPurify.sanitize(dirty, { USE_PROFILES: { html: true } });
form.style.display = 'none';
message.innerHTML = clean;
message.style.display = 'block';
content.style.display = 'block';
copyright.style.display = 'none';
} catch (e) {
console.log("%O", e);
fields.disabled = false;
password.value = '';
password.focus();
form.fields.disabled = false;
form.password.value = '';
form.password.focus();
error.textContent = 'Could not decrypt the message. Is the password correct?';
error.style.display = 'block';
details.textContent = e.toString();
@ -160,7 +157,12 @@
</p>
</form>
<p id="message" style="display: none;"></p>
<div id="content" style="display: none; width: 100%;">
<h2>Decrypted content</h2>
<hr>
<p id="message" style="width: 100%;"></p>
<hr>
</div>
<p id="error" style="color: red; font-weight: bold; display: none;"></p>