From d9f08aa7f419b4076678f6ba234606f429503449 Mon Sep 17 00:00:00 2001 From: Makaci Michael Gabriel Date: Fri, 26 Apr 2024 12:12:01 +0200 Subject: [PATCH] =?UTF-8?q?commit=20de=20fin=20de=20journ=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- html/auth/login.html | 0 html/template.html | 16 ++++++++++++++++ js/controllers/home.js | 0 js/controllers/login.js | 38 ++++++++++++++++++++++++++++++++++++++ js/controllers/menu_mod.js | 27 +++++++++++++++++++++++++++ js/index.js | 7 +++++++ 6 files changed, 88 insertions(+) create mode 100644 html/auth/login.html create mode 100644 html/template.html create mode 100644 js/controllers/home.js create mode 100644 js/controllers/login.js create mode 100644 js/controllers/menu_mod.js diff --git a/html/auth/login.html b/html/auth/login.html new file mode 100644 index 0000000..e69de29 diff --git a/html/template.html b/html/template.html new file mode 100644 index 0000000..df1afea --- /dev/null +++ b/html/template.html @@ -0,0 +1,16 @@ + + +
+ + + + + +
+
+ +
diff --git a/js/controllers/home.js b/js/controllers/home.js new file mode 100644 index 0000000..e69de29 diff --git a/js/controllers/login.js b/js/controllers/login.js new file mode 100644 index 0000000..60e434e --- /dev/null +++ b/js/controllers/login.js @@ -0,0 +1,38 @@ +import { Auth } from "../skama_code/auth/auth.js"; +import { My } from "../skama_code/api/agent.js"; +import home from "./home.js"; +import menu_mod from "./menu_mod.js"; + +export default function login(temp_engine) { + const auth = new Auth(); + + temp_engine.after_render((temp_engine) => { + menu_mod(temp_engine); + + temp_engine.add_event("#btn-login", "click", () => { + const is_checked = $("#in-remember").is(":checked"); + const token = $("#in-token").val(); + auth.store = is_checked; + auth.login(token); + }); + + temp_engine.add_event("#btn-cancel", "click", () => { + $("#in-token").val(""); + $("#in-remember").prop("checked", false); + }); + }); + + auth.done((agent) => { + My.agent = agent; + home(temp_engine); + }); + + auth.fail((errors) => { + $(".errors").html(""); + errors.forEach((error) => { + $(".errors").append(`

${error}

`); + }); + }); + + temp_engine.render(`templates/auth/login.html`); +} diff --git a/js/controllers/menu_mod.js b/js/controllers/menu_mod.js new file mode 100644 index 0000000..2b03e1e --- /dev/null +++ b/js/controllers/menu_mod.js @@ -0,0 +1,27 @@ +import { My } from "../skama_code/api/agent.js"; +import login from "./login.js"; + +function init_menu(temp_engine) { + temp_engine.add_event("#login-link", "click", () => { + login(temp_engine); + }); +} + +function loged_links() { + $("#links").html(` + + + + + + `); +} + +export default function menu_mod(temp_engine) { + init_menu(temp_engine); + if (My.agent) { + loged_links(); + } else { + unloged_links(); + } +} diff --git a/js/index.js b/js/index.js index e69de29..85f6808 100644 --- a/js/index.js +++ b/js/index.js @@ -0,0 +1,7 @@ +// Copyright © 2023 Entreprise SkamKraft +"use strict"; +import { TemplateEngine } from "./skama_code/ui/templeting_engine.js"; +import login from "./controllers/login.js"; + +let temp_engine = new TemplateEngine("html"); +login(temp_engine);