mirror of
https://github.com/M66B/FairEmail.git
synced 2025-02-07 15:06:44 +00:00
Decrypt page improvements
This commit is contained in:
parent
6cc1b34dc2
commit
be80970bac
1 changed files with 18 additions and 16 deletions
|
@ -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>
|
||||
|
||||
|
|
Loading…
Reference in a new issue