feat(directory) : add Clients/Prospects repertoire front layer

LST-58 (2.4) front. Completes the Directory module.

- New frontend/modules/directory/ layer (auto-detected): /directory page with
  Clients and Prospects tabs.
- Client front moved into the layer (clients service + client DTO +
  ClientDrawer). New prospects service, prospect DTO and ProspectDrawer (with
  a "Convert to client" action calling POST /prospects/{id}/convert).
- Consumers repointed to ~/modules/directory/... (admin client tab, PM project
  drawer + project pages + project DTO, time-tracking page + export drawer).
- Sidebar admin item /directory gated by the directory module; /directory
  protected by the admin middleware. i18n keys added (directory.*, prospects.*).

nuxt build passes; routes preserved.

Adds the 2.4 plan doc.
This commit is contained in:
Matthieu
2026-06-20 19:18:09 +02:00
parent d42b288434
commit 57ccd9a740
18 changed files with 1514 additions and 858 deletions
@@ -215,9 +215,9 @@ import type { TaskPriority } from '~/modules/project-management/services/dto/tas
import type { TaskTag } from '~/modules/project-management/services/dto/task-tag'
import type { TaskGroup } from '~/modules/project-management/services/dto/task-group'
import type { UserData } from '~/services/dto/user-data'
import type { Client } from '~/services/dto/client'
import type { Client } from '~/modules/directory/services/dto/client'
import { useProjectService } from '~/modules/project-management/services/projects'
import { useClientService } from '~/services/clients'
import { useClientService } from '~/modules/directory/services/clients'
import { useTaskService } from '~/modules/project-management/services/tasks'
import { useTaskEffortService } from '~/modules/project-management/services/task-efforts'
import { useTaskPriorityService } from '~/modules/project-management/services/task-priorities'
@@ -77,9 +77,9 @@
<script setup lang="ts">
import type { Project } from '~/modules/project-management/services/dto/project'
import type { Client } from '~/services/dto/client'
import type { Client } from '~/modules/directory/services/dto/client'
import { useProjectService } from '~/modules/project-management/services/projects'
import { useClientService } from '~/services/clients'
import { useClientService } from '~/modules/directory/services/clients'
useHead({ title: 'Projets' })