7446b7dca9
Tranche 4 of LST-65. Companion to the backend module migration.
- Move pages (my-tasks, projects, projects/[id]/{index,groups,archives}),
18 components (project + task), 10 services and 10 DTOs into
frontend/modules/project-management/ (auto-detected layer).
- Rewrite explicit ~/services/* and ~/services/dto/* imports across 38
consumers (admin tabs, mail modals, dashboard, mail page, layout) including
the time-tracking module whose DTOs referenced project/task/task-tag.
- clients.ts and shared DTOs (client, user-data) stay at the root.
- Routes /my-tasks, /projects, /projects/:id(/groups|/archives) preserved;
i18n stays global.
nuxt build passes; routes confirmed.
35 lines
957 B
Vue
35 lines
957 B
Vue
<template>
|
|
<div>
|
|
<div class="sticky top-8 z-20 bg-white pb-4 sm:top-12">
|
|
<div class="flex items-center justify-between">
|
|
<h1 class="text-xl font-bold text-primary-500 sm:text-2xl">{{ project?.name ?? '' }} — Groupes</h1>
|
|
</div>
|
|
</div>
|
|
|
|
<div>
|
|
<ProjectGroupTab :project-id="projectId" />
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import type { Project } from '~/modules/project-management/services/dto/project'
|
|
import { useProjectService } from '~/modules/project-management/services/projects'
|
|
|
|
const route = useRoute()
|
|
const projectId = computed(() => Number(route.params.id))
|
|
|
|
useHead({ title: 'Groupes du projet' })
|
|
|
|
const projectService = useProjectService()
|
|
const project = ref<Project | null>(null)
|
|
|
|
async function loadProject() {
|
|
project.value = await projectService.getById(projectId.value)
|
|
}
|
|
|
|
onMounted(() => {
|
|
loadProject()
|
|
})
|
|
</script>
|