IconRail (desktop) and MobileTabBar (mobile) each carried hand- synced copies of the 4-destination nav config — labels, href builders, isActive regex predicates, and Lucide icons. Phase 15 explicitly deferred the DRY to Phase 16 cleanup. Phase 16a extracts the shared config into `frame/destinations.ts` and replaces both consumers' inline definitions with a single import. The Projects umbrella regex list (issues, agents, routines, goals, approvals, costs, activity, inbox, execution-workspaces) lives in the shared module so both surfaces stay in lockstep. Net line change for the two consumers: - IconRail.tsx: -67 lines (inline config) - MobileTabBar.tsx: -63 lines (inline config) - +82 lines (new destinations.ts with shared types + regex list) Test sweep: src/components/frame/ — 53 tests still green. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| components.json | ||
| index.html | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| vite.config.ts | ||
| vitest.config.ts | ||
@paperclipai/ui
Published static assets for the Paperclip board UI.
What gets published
The npm package contains the production build under dist/. It does not ship the UI source tree or workspace-only dependencies.
Typical use
Install the package, then serve or copy the built files from node_modules/@paperclipai/ui/dist.