Manual smoke showed the expanded trigger flush against the rail edges: the wrapper used px-4 when collapsed but only p-2 when expanded. Unified the expanded wrapper to `px-4 py-2`, matching the collapsed state and the header brand row, so the rounded trigger card is inset 16px from both rail edges with symmetric breathing room consistent with the header's px-4 rhythm. Trade-off documented in the wrapper comment: with px-4 wrapper + p-2 internal trigger padding, the expanded avatar sits ~24px from the rail edge — ~8px deeper than the bare header logo at 16px. Accepted as deliberate (the expanded trigger reads as a distinct rounded button card). The bare-square / logo mirror lives in the collapsed state, which is unchanged. No spec changes — the prior assertions cover the collapsed wrapper (px-4 + h-[56px]) and the expanded trigger's rounded-lg shape, both still hold. Suite delta: 564 -> 564. Desktop only. vue-tsc clean. Scoped ESLint clean (0 errors). 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).