Index: gc_lang/fr/webext/panel/dictionaries.css ================================================================== --- gc_lang/fr/webext/panel/dictionaries.css +++ gc_lang/fr/webext/panel/dictionaries.css @@ -41,28 +41,28 @@ top: 33%; left: calc(50% - 325px); } #message { display: inline-block; - padding: 1px 10px; + padding: 5px 20px; width: 600px; background-color: hsl(0, 50%, 50%); color: hsl(0, 50%, 98%); border-style: solid; - border-width: 2px 0 2px 2px; - border-color: hsl(0, 50%, 40%); - border-radius: 3px 0 0 3px; + border-width: 3px 0 3px 3px; + border-color: hsla(0, 50%, 40%, .5); + border-radius: 5px 0 0 5px; } #message_close_button { display: inline-block; - padding: 1px 5px; + padding: 5px 10px; background-color: hsl(0, 50%, 40%); color: hsl(0, 90%, 90%); border-style: solid; - border-width: 2px 2px 2px 0; - border-color: hsl(0, 50%, 30%); - border-radius: 0 3px 3px 0; + border-width: 3px 3px 3px 0; + border-color: hsla(0, 50%, 30%, .5); + border-radius: 0 5px 5px 0; cursor: pointer; } h1 { Index: gc_lang/fr/webext/panel/dictionaries.html ================================================================== --- gc_lang/fr/webext/panel/dictionaries.html +++ gc_lang/fr/webext/panel/dictionaries.html @@ -17,11 +17,11 @@

Non connecté. - + Se connecter | Inscription

Index: gc_lang/fr/webext/panel/dictionaries.js ================================================================== --- gc_lang/fr/webext/panel/dictionaries.js +++ gc_lang/fr/webext/panel/dictionaries.js @@ -105,49 +105,71 @@ listen: function () { document.getElementById("submit_button").addEventListener("click", (xEvent) => { this.connect(); }); }, connect: function () { + if (!this.checkValues()) { + oMessage.show("Les valeurs des champs du formulaire ne sont pas conformes."); + return; + } let xForm = new FormData(document.getElementById('connect_form')); for (let [k, v] of xForm.entries()) { console.log("* ", k, v); } - oMessage.show("TEST"); fetch("http://localhost/connect/", { method: "POST", // *GET, POST, PUT, DELETE, etc. //mode: "cors", // no-cors, cors, *same-origin //cache: "no-cache", // *default, no-cache, reload, force-cache, only-if-cached - /*headers: { - "Content-Type": "multipart/form-data", // text/plain, application/json - },*/ + headers: { + "Accept-Charset": "utf-8" + //"Content-Type": "multipart/form-data", // text/plain, application/json + }, credentials: "omit", // include, *same-origin, omit body: xForm }) .then((response) => { if (response.ok) { + if (response.status == 204) { + oMessage.show("Échec d’identification. Vérifiez l’e-mail et le mot de passe envoyés…"); + return null; + } for (let param in response) { console.log(param, response[param]); } console.log(response.body); return response.json(); } else { - for (let param in response) { - console.log(param, response[param]); - } + oMessage.show("Erreur. Le serveur ne semble pas en état de répondre. Veuillez réessayer ultérieurement."); return null; } }) .then((response) => { if (response) { - console.log(response); - } else { - console.log(response); + console.log("response: ", response); } }) .catch((e) => { showError(e); }); + }, + + checkValues () { + if (document.getElementById("email").value === "") { + return false; + } + let sEmail = document.getElementById("email").value; + if (sEmail.search(/^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$/) === -1) { + return false; + } + return true; + }, + + showId (sLogin, sEmail) { + document.getElementById("login_label").textContent = sLogin; + document.getElementById("email_label").textContent = sEmail; + hideElement("connect_form"); + showElement("connect_info"); } } class Table {