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(`
@@ -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}"
`;
};
}