fix: api integration
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<Header />
|
||||
<error-wrapper></error-wrapper>
|
||||
<error-wrapper />
|
||||
|
||||
<div id="container">
|
||||
<div id="main">
|
||||
<h3>Projet en cours</h3>
|
||||
@ -13,18 +14,16 @@
|
||||
:project-id="0"
|
||||
/>
|
||||
|
||||
<div id="main">
|
||||
<h3>Projet en attente</h3>
|
||||
|
||||
<PendingProjectComponent
|
||||
v-for="(project, index) in pendingProjects"
|
||||
:key="index"
|
||||
:project-name="project.name"
|
||||
:creation-date="project.creationDate"
|
||||
/>
|
||||
</div>
|
||||
<h3>Projet en attente</h3>
|
||||
<PendingProjectComponent
|
||||
v-for="(project, index) in pendingProjects"
|
||||
:key="index"
|
||||
:project-name="project.projectName"
|
||||
:creation-date="project.creationDate"
|
||||
/>
|
||||
|
||||
<AddProjectForm />
|
||||
<PendingRequestsManager />
|
||||
</div>
|
||||
|
||||
<Agenda :project-r-d-v="rendezVous" />
|
||||
@ -33,16 +32,17 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted } from "vue";
|
||||
import { getAdminProjects, getPendingProjects } from "@/services/Apis/Admin";
|
||||
import { getProjectEntrepreneurs } from "@/services/Apis/Shared";
|
||||
import { type AxiosError, type AxiosResponse } from "axios";
|
||||
|
||||
import Header from "../components/HeaderComponent.vue";
|
||||
//import Agenda from "../components/AdminAppointments.vue";
|
||||
import Agenda from "../components/AgendaComponent.vue";
|
||||
import ProjectComp from "../components/ProjectComponent.vue";
|
||||
import PendingProjectComponent from "@/components/PendingProjectComponent.vue";
|
||||
import AddProjectForm from "@/components/AddProjectForm.vue";
|
||||
import { getAdminProjects } from "@/services/Apis/Admin";
|
||||
import { getProjectEntrepreneurs } from "@/services/Apis/Shared";
|
||||
import { type AxiosError, type AxiosResponse } from "axios";
|
||||
import PendingRequestsManager from "@/components/PendingRequestsManager.vue";
|
||||
|
||||
import Project from "@/ApiClasses/Project";
|
||||
import UserEntrepreneur from "@/ApiClasses/UserEntrepreneur";
|
||||
|
||||
@ -75,7 +75,7 @@ const fetchProjects = () => {
|
||||
);
|
||||
|
||||
const projectPromises = projectList.map(
|
||||
(project: { idProject: number; projectName: string }) =>
|
||||
(project: Project) =>
|
||||
new Promise<void>((resolve) => {
|
||||
getProjectEntrepreneurs(
|
||||
project.idProject!,
|
||||
@ -85,7 +85,6 @@ const fetchProjects = () => {
|
||||
new UserEntrepreneur(m).userName ||
|
||||
"Unknown"
|
||||
);
|
||||
|
||||
projects.value.push({
|
||||
name:
|
||||
project.projectName ||
|
||||
@ -93,7 +92,6 @@ const fetchProjects = () => {
|
||||
link: `/project/${project.idProject}`,
|
||||
members,
|
||||
});
|
||||
|
||||
resolve();
|
||||
},
|
||||
() => {
|
||||
@ -111,7 +109,6 @@ const fetchProjects = () => {
|
||||
);
|
||||
|
||||
Promise.all(projectPromises).catch(() => {
|
||||
// fallback in case member fetches fail
|
||||
projects.value = fallbackProjects;
|
||||
});
|
||||
},
|
||||
@ -124,10 +121,39 @@ const fetchProjects = () => {
|
||||
|
||||
onMounted(fetchProjects);
|
||||
|
||||
const pendingProjects = ref([
|
||||
{ name: "l'eau", creationDate: "26-02-2024" },
|
||||
{ name: "l'air", creationDate: "09-03-2023" },
|
||||
]);
|
||||
const pendingProjects = ref<Project[]>([]);
|
||||
|
||||
const mockPendingProjects = [
|
||||
new Project({ projectName: "l'eau", creationDate: "26-02-2024" }),
|
||||
new Project({ projectName: "l'air", creationDate: "09-03-2023" }),
|
||||
];
|
||||
|
||||
onMounted(() => {
|
||||
getPendingProjects(
|
||||
(response) => {
|
||||
pendingProjects.value = response.data.map(
|
||||
(p: Project) =>
|
||||
new Project({
|
||||
projectName: p.projectName,
|
||||
creationDate: p.creationDate,
|
||||
})
|
||||
);
|
||||
},
|
||||
(error) => {
|
||||
console.error(
|
||||
"Failed to fetch pending projects, using mock:",
|
||||
error
|
||||
);
|
||||
pendingProjects.value = mockPendingProjects.map(
|
||||
(p) =>
|
||||
new Project({
|
||||
projectName: p.projectName,
|
||||
creationDate: p.creationDate,
|
||||
})
|
||||
);
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
const rendezVous = ref([
|
||||
{ projectName: "Projet Alpha", date: "2025-03-10", lieu: "P106" },
|
||||
@ -176,7 +202,6 @@ button:hover {
|
||||
background-color: #0056b3;
|
||||
}
|
||||
|
||||
/* Add spacing between project sections */
|
||||
#main > * + * {
|
||||
margin-top: 2rem;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ const fetchAdminData = (projectId: number, useMock = IS_MOCK_MODE) => {
|
||||
"Erreur lors de la récupération des données de l'administrateur :",
|
||||
error
|
||||
);
|
||||
|
||||
|
||||
admin.value = new UserAdmin({
|
||||
idUser: 0,
|
||||
userSurname: "Erreur",
|
||||
|
Reference in New Issue
Block a user