From 07cb830c35f2bed8cfa8abcd1e31fc5bf965db9d Mon Sep 17 00:00:00 2001 From: rstular Date: Thu, 14 May 2020 01:51:10 +0200 Subject: Styling changes, first round of bug fixes There are (probably) more changes incoming, but we need to discuss them first --- js/messaging.js | 244 ++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 159 insertions(+), 85 deletions(-) (limited to 'js/messaging.js') diff --git a/js/messaging.js b/js/messaging.js index 2b5c065..187df17 100644 --- a/js/messaging.js +++ b/js/messaging.js @@ -51,7 +51,7 @@ function loadDirectory() { localforage.getItem("directory").then((stored_directory) => { if (stored_directory === null) { // If unable, set directory to null (so other functions know that we don't have it) - UIAlert( D("nameDirectoryNotSet"), "loadDirectory(): stored_directory === null" ); + UIAlert( D("nameDirectoryNotSet"), "loadDirectory(): stored_directory === null" ); directory = null; // Disable send button document.getElementById("msg-send").disabled = true; @@ -66,7 +66,7 @@ function loadDirectory() { } function populateAutocomplete() { - let elems = document.querySelectorAll('.autocomplete-fullname'); + let elems = document.querySelectorAll(".autocomplete-fullname"); // če se uporablja globalna var directory, ki je shranjena kot objekt (vedno shranjen kot reference), bo pri let x=y x le pointer na object y // in se bo spremenil z spremembo "originala". spodnja stvar itak ni preveč efficent, loop čez vseh 7000 ljudi bi lahko delal težave... // kakšen Object.keys bi bila boljša varianta ampak raje napišem tale komentar... idk, to se mi je zdelo uporabno ampak sedaj obžalujem @@ -75,16 +75,19 @@ function populateAutocomplete() { for (let variableKey in autocomplete_entries) { autocomplete_entries[variableKey] = null; } + M.Autocomplete.init(elems, { data: autocomplete_entries, onAutocomplete: validateName, minLength: 0 }); + if(window.location.hash.length > 1) { - document.getElementById("full-name").value = decodeURIComponent(window.location.hash.substring(1)); + $("#full-name").val(decodeURIComponent(window.location.hash.substring(1))); } else { - document.getElementById("full-name").value = getUrlParameter("m"); + $("#full-name").val(getUrlParameter("m")); } + M.updateTextFields(); validateName(); } @@ -133,7 +136,7 @@ async function loadMessages(force_refresh = true, katera = 0) { success: (data) => { // If data is null, the request failed if (data === null) { - UIAlert( D("requestFailed") ); + UIAlert( D("requestFailed") ); setLoading(false); } else { // Save messages & populate view @@ -147,10 +150,9 @@ async function loadMessages(force_refresh = true, katera = 0) { }, error: () => { - UIAlert( D("errorFetchingMessages") ); + UIAlert( D("errorFetchingMessages") ); setLoading(false); } - }) } else { displayData(); @@ -187,16 +189,15 @@ async function loadMsg(id) { success: (data) => { // If data is null, the request failed if (data === null) { - UIAlert( D("unableToReceiveTheMessage") + " " + D("requestFailed") ); - setLoading(false); + UIAlert( `${D("unableToReceiveTheMessage")} ${D("requestFailed")}` ); } else { displayMessage(id, data); - setLoading(false); } + setLoading(false); }, error: () => { - UIAlert( D("unableToReceiveTheMessage") + " " + D("noInternetConnection") ); + UIAlert( `${D("unableToReceiveTheMessage")} ${D("noInternetConnection")}` ); setLoading(false); } @@ -231,16 +232,15 @@ async function deleteMsg(id) { success: (data) => { // If data is null, the request failed if (data === null) { - UIAlert( D("unableToDeleteTheMessage") + " " + D("requestFailed") ); - setLoading(false); + UIAlert( `${D("unableToDeleteTheMessage")} ${D("requestFailed")}` ); } else { document.getElementById("msg_box-" + id).remove(); - setLoading(false); } + setLoading(false); }, error: () => { - UIAlert( D("unableToDeleteTheMessage") + " " + D("noInternetConnection") ); + UIAlert( `${D("unableToDeleteTheMessage")} ${D("noInternetConnection")}` ); setLoading(false); } @@ -250,50 +250,90 @@ async function deleteMsg(id) { function displayMessage(id, data) { if(data["telo"].substring(0, 21) == ""+msgcontent - +sjcl.encrypt(document.getElementById("msg-e2ee-pass-input").value, document.getElementById("msg-body").value)+""; - } - sendMessage(value[document.getElementById("full-name").value], msgsubject, - htmlEncode(msgcontent)); - document.getElementById("msg-body").value = ""; - document.getElementById("full-name").value = ""; - document.getElementById("msg-subject").value = ""; - document.getElementById("msg-send").disabled = true; + var msgcontent = $("#msg-body").val() + additionalstufftoaddtomessage; + var msgsubject = $("#msg-subject").val(); + if ($("#msg-e2ee-pass").prop("hidden") !== true) { + var randomencdivid = Math.floor(Math.random() * 9999).toString().padStart(4, "0"); + var addrparts = window.location.href.split("/"); // engleski + + msgcontent = ` + +
+ This message was encrypted by BežiApp. + + +
+ + ` + } + sendMessage(value[$("#full-name").val()], msgsubject, htmlEncode(msgcontent)); + $("#msg-body").val(""); + $("#full-name").val(""); + $("#msg-subject").val(""); + $("#msg-send").prop("disabled", true); additionalstufftoaddtomessage = ""; - document.getElementById("msg-added-image").innerHTML = ""; - document.getElementById("msg-e2ee-pass").hidden = true; + + $("#msg-added-image").html(""); + $("#msg-e2ee-pass").hide(); + }).catch(function (err) { - UIAlert( D("unableToReadDirectory") + " " + D("messageCouldNotBeSend"), "45245" ); + UIAlert( `${D("unableToReadDirectory")} ${D("messageCouldNotBeSend")}`, "45245" ); console.log(err); }); }); -- cgit v1.2.3