P4 (Plan 2.5, AD-2.5-W1 + AD-2.5-B1) refactored SidebarNav to read APP_NAVIGATION directly, retiring the OrganizerLayoutV2 → useV2Nav → AppSidebar :groups → SidebarNav :groups props chain. Five artifacts were deliberately left in place to keep the P4 diff focused — this commit removes them. Deleted: - src/composables/useV2Nav.ts (+ spec) — v1→v2 nav fold adapter, no production consumer post-P4 - src/types/v2/nav.ts — V2NavGroup / V2NavItem types, only consumed by the deleted composables above. types/v2/ directory removed (empty) - src/components-v2/layout/sidebarNavActive.ts (+ spec) — pure helper, SidebarNav now uses inlined active check against NavItem.routeName - navFixture export + V2NavGroup import from stories/v2/_helpers.ts Also: stale "useV2Nav(orgNavItems)" reference scrubbed from OrganizerLayoutV2.vue docstring (the function no longer exists; the comment now describes the retired plumbing generically). Suite delta: 575 → 557 (−18 specs). The drop is correct — the removed specs tested deleted dead code (sidebarNavActive: 8 specs, useV2Nav: 10 specs), not contract behaviour. vue-tsc clean. Scoped ESLint clean (0 errors). Final re-grep on all deleted symbols (useV2Nav, V2NavGroup, V2NavItem, sidebarNavActive, navFixture) returns zero hits across apps/app/src/. Per zero-compromise gap 5 (delete > adapt): orphans don't stay. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Crewli — Organizer SPA
Main product UI for organisation and event staff (Vue 3 + Vuexy + Vuetify). Lives in this repo; only re-copy from Vuexy when upgrading the template.
Setup
- Install dependencies:
pnpm install
- Create
.env.local:
VITE_API_URL=http://localhost:8000/api/v1
VITE_APP_NAME="Crewli Organizer"
- Dev server uses port 5174 (see
vite.config.tsor run from repo root:make app).
pnpm dev --port 5174
Port
Runs on http://localhost:5174
Production: e.g. VITE_API_URL=https://api.crewli.app/api/v1 and host the SPA at https://crewli.app (see api/.env.example for FRONTEND_APP_URL and SANCTUM_STATEFUL_DOMAINS).