← Main Menu All manuals Operator Guide for this screen IM2

Screen Navigation Chips

All desktop screens
Technical Spec Ver 1 Updated 2026-09-20 Matches the live screen

Screen Navigation Chips — Technical Spec

Purpose

templates/base.html renders one .tilebar immediately below the authenticated banner for every non-handheld screen. Shared macros are in templates/_tiles.html. nav-tile is deliberately distinct from the existing .tile class used by admin.html; do not rename the shared navigation class to .tile.

Families

The central membership lists in base.html select one macro:

FamilyScreen keysMacro
Item Mastergrid, newitem_tiles()
Purchasingpo_workbench, po_sku, po_buylists, po_buylist, po_countlist, po_report, po_alertspo_tiles()
RO administrationro_inquiry, ro_new, ro_order, ro_inbox, ro_inbox_detail, ro_issues, ro_issues_summary, ro_imports, ro_poll_logro_tiles()
Picking / count reviewro_pick, ro_pick_full, ro_pick_item, ro_pick_item_full, ro_pick_truck, ro_pick_truck_full, ro_picks, countspick_count_tiles()

All other desktop screens use default_tiles(): Main Menu plus Help if a guide exists. hh_screens (scan, count, ro_rush) render no chip bar.

Help resolution

im2.py:help_url(screen) maps exceptional screen keys through _HELP_SLUGS, then verifies a matching Markdown file in docs/tips/ first and docs/help/ second. It returns None when neither exists, so no Help chip can 404.

Styling

.nav-tile has a fixed 44px desktop height and 16px type. The fixed height prevents the PO family from appearing larger than other navigation families. At ≤640px it becomes 36px / 13px.

Change procedure

When adding a screen, add it to the appropriate family list in base.html (or leave it in the default family), set active logic in _tiles.html, and add any nonstandard help slug to _HELP_SLUGS. Test the family, its sibling screens, and a handheld screen; run /opt/im2/verify_routes.sh after deploy.