+
+
+
+
{{ desc.contentSectionCell }}
@@ -87,7 +99,7 @@ import { ref, defineProps, onMounted } from "vue";
import { getSectionCellsByDate } from "@/services/Apis/Shared.ts";
import { addSectionCell } from "@/services/Apis/Entrepreneurs.ts";
import SectionCell from "@/ApiClasses/SectionCell";
-
+import { removeSectionCell } from "@/services/Apis/Entrepreneurs.ts";
import type { AxiosResponse, AxiosError } from "axios";
const props = defineProps<{
@@ -137,6 +149,37 @@ const saveEdit = (index: number) => {
}
};
+const deleteSectionCell = (id: number | undefined, index: number): void => {
+ if (id === -1) {
+ window.confirm("Êtes-vous sûr de vouloir supprimer cet élément ?");
+ console.error("Delete ignored");
+ return;
+ }
+
+ const confirmed = window.confirm(
+ "Êtes-vous sûr de vouloir supprimer cet élément ?"
+ );
+
+ if (!confirmed) return;
+
+ if (id === undefined) {
+ console.error("ID de la cellule non défini");
+ return;
+ }
+
+ removeSectionCell(
+ id,
+ () => {
+ currentDescriptions.value.splice(index, 1);
+ editedDescriptions.value.splice(index, 1);
+ isEditing.value.splice(index, 1);
+ },
+ (error: AxiosError) => {
+ console.error("Erreur lors de la suppression :", error);
+ }
+ );
+};
+
const handleClick = () => {
if (expanded.value) {
const editingInProgress = isEditing.value.some((edit) => edit);
@@ -625,4 +668,20 @@ onMounted(() => {
line-height: 1.6;
font-family: "Segoe UI", sans-serif;
}
+
+.delete-button {
+ position: absolute;
+ top: 5px;
+ right: 10px;
+ background: transparent;
+ border: none;
+ color: #a00;
+ font-size: 1.2rem;
+ cursor: pointer;
+ z-index: 10;
+}
+
+.section-bloc {
+ position: relative;
+}
diff --git a/front/MyINPulse-front/src/components/canvas/HeaderCanvas.vue b/front/MyINPulse-front/src/components/canvas/HeaderCanvas.vue
index fea3d4c..731a96b 100644
--- a/front/MyINPulse-front/src/components/canvas/HeaderCanvas.vue
+++ b/front/MyINPulse-front/src/components/canvas/HeaderCanvas.vue
@@ -169,7 +169,7 @@ onBeforeUnmount(() => {
display: flex;
justify-content: space-between;
align-items: center;
- padding: 15px 30px;
+ padding: 10px 20px;
background-color: #f9f9f9;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
diff --git a/front/MyINPulse-front/src/services/Apis/Unauth.ts b/front/MyINPulse-front/src/services/Apis/Unauth.ts
index 032502d..2e5f7f1 100644
--- a/front/MyINPulse-front/src/services/Apis/Unauth.ts
+++ b/front/MyINPulse-front/src/services/Apis/Unauth.ts
@@ -52,7 +52,30 @@ function finalizeAccount(
// });
// }
+function getAllEntrepreneurs(
+ onSuccessHandler?: (response: AxiosResponse) => void,
+ onErrorHandler?: (error: AxiosError) => void
+): void {
+ axiosInstance
+ .get("/unauth/getAllEntrepreneurs")
+ .then((response) => {
+ if (onSuccessHandler) {
+ onSuccessHandler(response);
+ } else {
+ defaultApiSuccessHandler(response);
+ }
+ })
+ .catch((error: AxiosError) => {
+ if (onErrorHandler) {
+ onErrorHandler(error);
+ } else {
+ defaultApiErrorHandler(error);
+ }
+ });
+}
+
export {
finalizeAccount,
+ getAllEntrepreneurs,
// requestJoinProject, // Not yet implemented [cite: 4]
};
diff --git a/front/MyINPulse-front/src/views/AdminMain.vue b/front/MyINPulse-front/src/views/AdminMain.vue
index 1ce1af5..5a261f9 100644
--- a/front/MyINPulse-front/src/views/AdminMain.vue
+++ b/front/MyINPulse-front/src/views/AdminMain.vue
@@ -13,6 +13,8 @@
:project-id="0"
/>
+
+
Projet en attente
@@ -45,7 +47,7 @@ import { getProjectEntrepreneurs } from "@/services/Apis/Shared";
import { type AxiosError, type AxiosResponse } from "axios";
import Project from "@/ApiClasses/Project";
import UserEntrepreneur from "@/ApiClasses/UserEntrepreneur";
-
+//import AllEntrep from "../components/AllEntrep.vue";
const projects = ref<
{
name: string;
diff --git a/front/MyINPulse-front/src/views/CanvasView.vue b/front/MyINPulse-front/src/views/CanvasView.vue
index 681b3e2..d8174d4 100644
--- a/front/MyINPulse-front/src/views/CanvasView.vue
+++ b/front/MyINPulse-front/src/views/CanvasView.vue
@@ -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",