Дмитрий
3a8229a4c7
fix(histoire): register Pinia in setup file + add missing routes
...
BulkActionsBar.story.vue calls useProjectsStore() in top-level setup,
which executes before story collection. Without Pinia plugin, Histoire
build aborts with `getActivePinia() was called but there was no active
Pinia` — uncaught exception kills the whole build (24 → 0 stories).
Add createPinia() to histoire.setup.ts alongside Vuetify + vue-router.
Also add `/recovery-use` and `/projects` routes to the stub router
(parity with router/index.ts after Plan 5 frontend), so future story
files needing those paths don't emit Vue Router warns.
Histoire build now: exit 0, 35 stories / 63 variants in 80.6s.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-12 20:15:09 +03:00
Дмитрий
1e233a70c8
phase2(dashboard): AppLayout + DashboardView - default-layout приложения
...
- AppLayout: v-navigation-drawer (теало-нуар sidebar 240px) + brand-block
+ nav-tree из 8 пунктов в 3 группах (Работа/Финансы/Команда), v-app-bar
с crumb «Рабочая область → currentPage» + search ⌘K + bell + user-chip.
Mobile (md<): drawer toggleable.
- DashboardView: page-head «Доброе утро, Иван» + page-meta + range-toggle
4 опции (Сегодня/7д/30д/Период). KPI-row из 4 cards: 3 outlined (получено
лидов/конверсия/активные проекты) + 1 hero balance с runway-bar 4/7
заполненных сегментов teal #32C8A9.
- AppShell упрощён до layout-mapper (route.meta.layout 'app'/'auth').
- Маршрут /dashboard (meta.layout='app') в router + web.php.
- histoire.setup расширен 8 app-stub-маршрутами для AppLayout.
- Vitest +11 тестов: AppLayout 6 (brand+3 группы+8 пунктов+счётчики+crumb),
DashboardView 5, AppShell.spec.ts переписан под layout-mapper.
- cspell-words.txt: JBM.
Регресс: lint+type-check+format OK; vitest 35/35 за 4.92s; vite build
DashboardView lazy-chunk 14.9KB; story:build 8/8 за 28.97s; Pest 48/48 за 4.88s.
CLAUDE.md v1.20->v1.21, реестр Открытых_вопросов v1.29->v1.30.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-08 17:21:19 +03:00
Дмитрий
e909a95a8d
phase2(login): vue-router 4 + AuthLayout + LoginView - первый реальный экран
...
- vue-router@^4.6.4 (--legacy-peer-deps из-за Histoire vs Vite 8 peerDep).
- resources/js/router/index.ts: createWebHistory + lazy-imports + meta.layout.
Маршрут / -> /login, /login -> LoginView (meta.layout=auth).
- resources/js/layouts/AuthLayout.vue: двухпанельный (brand-pane тёмный с
radial-gradient акцентами + form-pane warm ivory). На mobile brand-pane скрыт.
- resources/js/views/auth/LoginView.vue: форма Vuetify по v8_login.html
секция #form-login - email/password (autocomplete + eye-icon), primary submit,
Yandex 360 SSO, RouterLink на /register и /forgot.
- AppShell.vue: layout-mapper по route.meta.layout (default/auth).
- routes/web.php: явные Route::view для 6 SPA-путей (НЕ catch-all - он перехватывал
/_test/* в Pest beforeEach и валил 5 SetTenantContextTest).
- Vitest: +LoginView.spec.ts (5), +router.spec.ts (2), AppShell.spec.ts переписан (3).
Vitest 10/10 за 3.01s.
- LoginView.story.vue для Histoire. Setup расширен memory-router'ом.
- cspell-words.txt: рендерят, коммиты, Лидерру.
- Регресс: lint:vue OK, type-check OK, format:check OK, vitest 10/10,
vite build 212 модулей за 383ms (LoginView lazy-chunk 43.5KB JS / 51.7KB CSS),
story:build 2/2 за 29.94s, Pest 48/48 за 4.86s.
CLAUDE.md v1.18->v1.19, реестр Открытых_вопросов v1.27->v1.28.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-08 16:59:00 +03:00
Дмитрий
c3e45343ac
phase2(histoire): #24 Histoire 1.0-beta.1 — каталог компонентов, фаза 2 закрыта 6/6
...
- histoire@1.0.0-beta.1 + @histoire/plugin-vue@1.0.0-beta.1 (--legacy-peer-deps:
Histoire требует vite ^7, у нас vite 8 ради @vitejs/plugin-vue 6 — runtime smoke OK).
- app/histoire.config.ts: HstVue plugin + setupFile + Forest primary palette (Teal #0F6E56).
- app/resources/js/histoire.setup.ts: defineSetupVue3 регистрирует vuetify для каждой story.
- app/resources/js/components/AppShell.story.vue — первая story (smoke).
- npm-scripts: story / story:build / story:preview.
- .gitignore: /app/.histoire/ (статическая сборка).
- cspell-words.txt: рендерятся, репо, тулчейна.
- Регресс: lint:vue, type-check, format:check OK; vitest 3/3 за 2.98s; vite build 158 модулей
за 334ms; story:build 1/1 за 30.25s; Pest 48/48 за 5.12s.
Активно 18/28 инструментов: 9 фазы 0 + 8 фазы 1 + 6 фазы 2 (фаза 2 по тулчейну закрыта).
CLAUDE.md v1.17->v1.18, Tooling v1.6->v1.7, реестр Открытых_вопросов v1.26->v1.27.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-08 16:29:42 +03:00