bfdab40d88
Task 8 of project-details-drawer plan (2026-05-14): - ProjectsView.vue: import ProjectDetailsDrawer + computed - singleSelectedProject computed (Project|null when selectedIds.size === 1) - onDrawerClose/onDrawerSaved handlers (clearSelection / fetch) - Template: BulkActionsBar condition > 0 → >= 2 (mutual exclusion with drawer) - Template: mount <ProjectDetailsDrawer> with :project / @close / @saved bindings - Template: .has-drawer class on .projects-view root when single selected - Style: .projects-view padding-right 480px transition for push effect - Test: ProjectsView.spec.ts pre-existing 'shows BulkActionsBar' case updated to assert >=2 contract (selects 2 projects); 14 PDD tests + 3 view tests + 1 skip + toolbar tests all green Vitest: 3 files / 20 passed / 1 skipped / 0 failed