ZDDC/shared
ZDDC 7ced0395b6 feat(shared): lateral project-stage strip in every tool's header
Adds a thin nav strip directly under the app-header showing the four
canonical lifecycle stages from the transmittal-workflow spec:
archive · working · staging · reviewing. Each is a link to that
stage's directory under the current project. Current stage is
highlighted (bold + primary color, aria-current="page"). Strip
mounts as a sibling of .app-header on DOMContentLoaded — no
template changes needed in any tool.

Render rules (shared/nav.js shouldRender):
- location.protocol must be http: or https: (file:// has no project
  structure to navigate within)
- a project segment must be detectable as the first path segment
  (when it isn't a tool HTML file like /index.html or
  /archive.html?projects=A,B). Multi-project view at the deployment
  root therefore shows no strip.

Stage URL targets:
- Archive   → <project>/archive.html       (project-root archive view)
- Working   → <project>/working/           (directory listing — mdedit auto-served)
- Staging   → <project>/staging/           (directory listing — transmittal auto-served)
- Reviewing → <project>/reviewing/         (directory listing)

Convention-driven, not probed: if a deployment doesn't have one of
these folders the link returns 404. Operators on non-standard layouts
can opt out by setting window.zddc.nav.disabled = true before
DOMContentLoaded.

This pairs with the previous landing-tool change (single-project
click → <project>/archive.html). Together they give the user
both URL-bar manipulation AND visible navigation across the four
canonical project stages.

Five Playwright tests in tests/nav.spec.js exercise:
- non-render at deployment root
- render + active stage on <project>/archive.html
- render + active stage deep inside <project>/working/foo/mdedit.html
- canonical link targets
- mount position is sibling of .app-header

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 19:50:30 -05:00
..
vendor feat(tables): new sortable/filterable grid tool for directories of YAML files 2026-05-05 20:32:01 -05:00
base.css style(shared,archive,browse,mdedit): replace inline styles with CSS 2026-05-09 18:48:44 -05:00
build-lib.sh build(channels): correct wordlist path for tool-side build invocations 2026-05-07 12:12:46 -05:00
build-words.txt build(channels): swap source-SHA in beta label for a three-word slug 2026-05-07 12:11:23 -05:00
favicon.svg feat(tools,build): in-flight HTML-tool reworks and build-infra updates 2026-04-29 12:52:27 -05:00
hash.js Initial commit 2026-04-27 11:05:47 -05:00
help.js Initial commit 2026-04-27 11:05:47 -05:00
nav.css feat(shared): lateral project-stage strip in every tool's header 2026-05-09 19:50:30 -05:00
nav.js feat(shared): lateral project-stage strip in every tool's header 2026-05-09 19:50:30 -05:00
preview-lib.js feat(html): TIFF and ZIP listing previews + favicon in app headers 2026-05-01 15:23:26 -05:00
theme.js Initial commit 2026-04-27 11:05:47 -05:00
toast.css feat(shared): non-blocking toast helper available to every tool 2026-05-09 19:04:41 -05:00
toast.js feat(shared): non-blocking toast helper available to every tool 2026-05-09 19:04:41 -05:00
zddc-filter-test.html Initial commit 2026-04-27 11:05:47 -05:00
zddc-filter.js Initial commit 2026-04-27 11:05:47 -05:00
zddc-source.js feat(server): authenticated CRUD + verb-based RBAC with WORM archive folders 2026-05-05 15:58:04 -05:00
zddc-test.html Initial commit 2026-04-27 11:05:47 -05:00
zddc.js Initial commit 2026-04-27 11:05:47 -05:00