Files
2026-09-17 08:52:02 +02:00

17 lines
1.0 KiB
Markdown

# Frontend JavaScript sources
`build.rs` concatenates the files listed in `APP_JS_MODULES` into one generated `app.bundle.js` in Cargo's `OUT_DIR`.
The server exposes that bundle as `/app-<content-hash>.js`, so the browser downloads one application script and can cache it immutably.
Source responsibilities:
- `router.js` owns application URLs, browser history, route parsing and URL-to-view mapping.
- `navigation.js` owns view/tab UI transitions and navigation-related controls.
- the remaining files are split by feature or shared responsibility.
The Rust HTTP router serves `index.html` only for the explicitly supported SPA routes. Unknown paths return the standalone `web/404.html` page with HTTP `404` instead of silently opening the dashboard.
`web/app.js` is intentionally not used and should not exist. Do not recreate it manually; the bundle is generated at build time.
Keep the module order in `build.rs` explicit. These files intentionally share one application scope and are bundled before being served to the browser.