English | 简体中文

# The client-side router > The router now ships from `@eamonxg/luci-theme-devkit` (`runtime/router.js`, > page-scoped patches in `runtime/patches.js`), built into > `resources/router-aurora.js` by its Vite plugin; this theme keeps only the > markers, the `luci-navigate` listener in `menu-aurora.js` and the CSS. The > design below is unchanged; the devkit copy is the maintained one. How the theme turns a menu click into an in-document view swap instead of a full page load, where it deliberately does not, and the invariants a router inside LuCI has to keep. Source: `.dev/src/resource/router-aurora.js`, loaded from `footer.ut` next to `menu-aurora.js`. **No changes to luci-base or to any view** — the router is additive theme JS plus three small template hooks (a patch manifest, a `