From 6e12775bb8640e34b6965692bfcbe97c3381b376 Mon Sep 17 00:00:00 2001 From: Mickael Kerjean Date: Sun, 23 Jul 2023 21:10:41 +1000 Subject: [PATCH] feature (admin): revamp side menu --- public/pages/adminpage/decorator_sidemenu.js | 33 +++++++++++++++++--- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/public/pages/adminpage/decorator_sidemenu.js b/public/pages/adminpage/decorator_sidemenu.js index 0f3de5f6..66616866 100644 --- a/public/pages/adminpage/decorator_sidemenu.js +++ b/public/pages/adminpage/decorator_sidemenu.js @@ -11,7 +11,6 @@ import "../../components/icon.js"; export default function(ctrl) { return (render) => { - const isActive = (route) => location.pathname.endsWith(route) ? "active" : ""; const $page = createElement(`
@@ -23,10 +22,26 @@ export default function(ctrl) {

Admin console

@@ -55,6 +70,14 @@ export default function(ctrl) { stateMutation(qs($page, `[data-bind="logo"]`), "innerHTML"), )); + // feature: currently active menu link + effect(rxjs.of($page.querySelectorAll(".component_menu_sidebar li a")).pipe( + rxjs.mergeMap(($els) => $els), + rxjs.filter(($el) => location.pathname.endsWith($el.getAttribute("href"))), + rxjs.tap(($el) => $el.classList.add("active")), + rxjs.tap(($el) => $el.removeAttribute("href")), + )); + return (route) => $content.innerHTML = `
loading "${route}"
`; }; }