@e9n/pi-webnav

Unified navigation shell for pi-webserver — wraps all mounts in a shared nav layout with iframe routing

Package details

extension

Install @e9n/pi-webnav from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@e9n/pi-webnav
Package
@e9n/pi-webnav
Version
0.1.0
Published
Feb 17, 2026
Downloads
18/mo · 4/wk
Author
e9n
License
MIT
Types
extension
Size
15.9 KB
Dependencies
0 dependencies · 1 peer
Pi manifest JSON
{
  "extensions": [
    "./src/index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

@e9n/pi-webnav

Unified navigation shell for pi — wraps all pi-webserver mounts in a persistent nav bar with iframe routing.

Features

  • Auto-discovery — reads registered mounts from /_api/mounts/dashboard
  • Iframe layout — each mount loads in a frame below the nav bar; no per-page nav duplication
  • Hash-based routing — deep-linkable URLs (#/tasks, #/calendar) that survive refresh
  • Active state — highlights the current nav button based on the iframe URL
  • Home view — shows mount cards when no section is selected (click the "pi" brand)
  • Live refresh — periodically polls for new or removed mounts at runtime
  • Graceful fallback — each mount still works standalone at its own URL
  • Requires pi-webserver >= 0.1.0 with root mount override support

Web UI

Mounts on pi-webserver at / (listens for web:ready):

Route Method Description
/ GET Navigation shell (nav.html)

Longest-prefix matching in pi-webserver ensures more specific mounts (e.g. /tasks) still win over the / catch-all.

Install

pi install npm:@e9n/pi-webnav

License

MIT