From 3d4d5b90d18e6c51703780c2a122fa2a6f1229a7 Mon Sep 17 00:00:00 2001
From: Pierre Tellier <piair338@gmail.com>
Date: Sun, 9 Feb 2025 13:03:26 +0100
Subject: [PATCH 1/4] Revert "fix: fixed TS errors"

This reverts commit b5c9b4067228e267accfd6e1cffcd9c070146c9d.
---
 front/MyINPulse-front/src/services/api.ts            | 4 ++--
 front/MyINPulse-front/src/services/popupDisplayer.ts | 3 ++-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/front/MyINPulse-front/src/services/api.ts b/front/MyINPulse-front/src/services/api.ts
index cea6a9e..71e3194 100644
--- a/front/MyINPulse-front/src/services/api.ts
+++ b/front/MyINPulse-front/src/services/api.ts
@@ -34,11 +34,11 @@ axiosInstance.interceptors.response.use(
 );
 
 // TODO: spawn a error modal
-function defaultApiErrorHandler(err: string){
+function defaultApiErrorHandler(err: String){
     addNewMessage(err, color.Red);
 }
 
-function defaultApiSuccessHandler(response: any){
+function defaultApiSuccessHandler(response: () => void){
     addNewMessage(response.data, color.green)
 }
 function callApi(endpoint: string, onSuccessHandler?: any, onErrorHandler?: any): void {
diff --git a/front/MyINPulse-front/src/services/popupDisplayer.ts b/front/MyINPulse-front/src/services/popupDisplayer.ts
index 3b222a2..77113f9 100644
--- a/front/MyINPulse-front/src/services/popupDisplayer.ts
+++ b/front/MyINPulse-front/src/services/popupDisplayer.ts
@@ -1,4 +1,5 @@
 import {ref} from "vue";
+
 enum color {Red, Yellow, Blue, green}
 
 function addNewMessage(errorMessage: string, type?: color, timeout?: number){
@@ -14,6 +15,6 @@ function addNewMessage(errorMessage: string, type?: color, timeout?: number){
     setTimeout(() => errorList.value.slice(0, 1), timeout)
 }
 
-const errorList: any= ref([])
+const errorList = ref([])
 
 export {addNewMessage, errorList, color}
\ No newline at end of file

From ac19d33bdb3c986f96dfe9e1c405d1722752c108 Mon Sep 17 00:00:00 2001
From: Pierre Tellier <piair338@gmail.com>
Date: Sun, 9 Feb 2025 13:05:28 +0100
Subject: [PATCH 2/4] Reapply "fix: fixed TS errors"

This reverts commit 3d4d5b90d18e6c51703780c2a122fa2a6f1229a7.
---
 front/MyINPulse-front/src/services/api.ts            | 4 ++--
 front/MyINPulse-front/src/services/popupDisplayer.ts | 3 +--
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/front/MyINPulse-front/src/services/api.ts b/front/MyINPulse-front/src/services/api.ts
index 71e3194..cea6a9e 100644
--- a/front/MyINPulse-front/src/services/api.ts
+++ b/front/MyINPulse-front/src/services/api.ts
@@ -34,11 +34,11 @@ axiosInstance.interceptors.response.use(
 );
 
 // TODO: spawn a error modal
-function defaultApiErrorHandler(err: String){
+function defaultApiErrorHandler(err: string){
     addNewMessage(err, color.Red);
 }
 
-function defaultApiSuccessHandler(response: () => void){
+function defaultApiSuccessHandler(response: any){
     addNewMessage(response.data, color.green)
 }
 function callApi(endpoint: string, onSuccessHandler?: any, onErrorHandler?: any): void {
diff --git a/front/MyINPulse-front/src/services/popupDisplayer.ts b/front/MyINPulse-front/src/services/popupDisplayer.ts
index 77113f9..3b222a2 100644
--- a/front/MyINPulse-front/src/services/popupDisplayer.ts
+++ b/front/MyINPulse-front/src/services/popupDisplayer.ts
@@ -1,5 +1,4 @@
 import {ref} from "vue";
-
 enum color {Red, Yellow, Blue, green}
 
 function addNewMessage(errorMessage: string, type?: color, timeout?: number){
@@ -15,6 +14,6 @@ function addNewMessage(errorMessage: string, type?: color, timeout?: number){
     setTimeout(() => errorList.value.slice(0, 1), timeout)
 }
 
-const errorList = ref([])
+const errorList: any= ref([])
 
 export {addNewMessage, errorList, color}
\ No newline at end of file

From 7a03146bf8a8761121edf0412cd48badf78d2277 Mon Sep 17 00:00:00 2001
From: ALAMI Adnane <Adnane.Alami@bordeaux-inp.fr>
Date: Mon, 10 Feb 2025 15:21:07 +0100
Subject: [PATCH 3/4] fix: commiting minor changes before switching to
 front_foundation branch

---
 front/MyINPulse-front/src/App.vue | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/front/MyINPulse-front/src/App.vue b/front/MyINPulse-front/src/App.vue
index 4977758..a0b43a9 100644
--- a/front/MyINPulse-front/src/App.vue
+++ b/front/MyINPulse-front/src/App.vue
@@ -17,10 +17,14 @@ import ErrorWrapper from "@/views/errorWrapper.vue";
         :projectName="project.name"
         :listName="project.members"
       />
-    </div>
-  <div id="canvas">
-      <button @click="$router.push('/canvas')">Voir Canvas</button>
   </div>
+
+  <!-- this must used to open the canvas, in fact it's the "more info" button-->
+  <router-link to="/canvas">
+      <button>Voir Canvas</button>
+  </router-link>
+
+
   <RouterView />
 </template>
 

From b1df7421dc2b6b3d3a8f643a998cf4ba391db0a1 Mon Sep 17 00:00:00 2001
From: ALAMI Adnane <Adnane.Alami@bordeaux-inp.fr>
Date: Mon, 10 Feb 2025 15:32:28 +0100
Subject: [PATCH 4/4] fix: commiting some minor changes before switching to
 front_foundation branch

---
 .../canvas/{Header.vue => HeaderCanvas.vue}   |   2 +-
 .../src/components/canvas/Lean-canvas.vue     | 111 +++++++++++-------
 front/MyINPulse-front/src/router/index.ts     |   0
 front/MyINPulse-front/src/router/router.ts    |   2 +-
 .../MyINPulse-front/src/views/CanvasView.vue  |  22 ++--
 5 files changed, 83 insertions(+), 54 deletions(-)
 rename front/MyINPulse-front/src/components/canvas/{Header.vue => HeaderCanvas.vue} (93%)
 create mode 100644 front/MyINPulse-front/src/router/index.ts

diff --git a/front/MyINPulse-front/src/components/canvas/Header.vue b/front/MyINPulse-front/src/components/canvas/HeaderCanvas.vue
similarity index 93%
rename from front/MyINPulse-front/src/components/canvas/Header.vue
rename to front/MyINPulse-front/src/components/canvas/HeaderCanvas.vue
index e860400..1063412 100644
--- a/front/MyINPulse-front/src/components/canvas/Header.vue
+++ b/front/MyINPulse-front/src/components/canvas/HeaderCanvas.vue
@@ -1,6 +1,6 @@
 <template>
     <header>
-      <img src="@/assets/logo-inpulse.png" alt="INPulse Logo">
+      <img src="../icons/logo inpulse.png" alt="INPulse Logo">
       <div class="header-buttons">
         <div class="contact-menu">
           <button class="contact-button" @click="toggleDropdown">Contact</button>
diff --git a/front/MyINPulse-front/src/components/canvas/Lean-canvas.vue b/front/MyINPulse-front/src/components/canvas/Lean-canvas.vue
index 0141a17..40b1b80 100644
--- a/front/MyINPulse-front/src/components/canvas/Lean-canvas.vue
+++ b/front/MyINPulse-front/src/components/canvas/Lean-canvas.vue
@@ -1,42 +1,71 @@
 <template>
-    <div class="canvas">
-      <div class="row">
-        <Probleme />
-        <Segments />
-      </div>
-      <div class="row">
-        <Solution />
-        <Valeur />
-        <Canaux />
-      </div>
-      <div class="row">
-        <Couts />
-        <Revenus />
-      </div>
-      <div class="row">
-        <Indicateurs />
-        <Avantage />
-      </div>
-    </div>
-  </template>
-  
-  <script>
-  import Probleme from "./Probleme.vue";
-  import Segments from "./Segments.vue";
-  import Solution from "./Solution.vue";
-  import Valeur from "./Valeur.vue";
-  import Canaux from "./Canaux.vue";
-  import Revenus from "./Revenus.vue";
-  import Couts from "./Couts.vue";
-  import Indicateurs from "./Indicateurs.vue";
-  import Avantage from "./Avantage.vue";
-  
-  export default {
-    components: { Probleme, Segments, Solution, Valeur, Canaux, Revenus, Couts, Indicateurs, Avantage }
-  };
-  </script>
-  
-  <style scoped>
-  @import "@/components/canvas/style-project.css";
-  </style>
-  
\ No newline at end of file
+  <div class="canvas">
+    <Probleme class="Probleme" />
+    <Segments class="Segments" />
+    <Valeur class="Valeur" />
+    <Solution class="Solution" />
+    <Avantage class="Avantage" />
+    <Canaux class="Canaux" />
+    <Indicateurs class="Indicateurs" />
+    <Couts class="Couts" />
+    <Revenus class="Revenus" />
+  </div>
+</template>
+
+<script>
+import Probleme from "./Probleme.vue";
+import Segments from "./Segments.vue";
+import Solution from "./Solution.vue";
+import Valeur from "./Valeur.vue";
+import Canaux from "./Canaux.vue";
+import Revenus from "./Revenus.vue";
+import Couts from "./Couts.vue";
+import Indicateurs from "./Indicateurs.vue";
+import Avantage from "./Avantage.vue";
+
+export default {
+  components: {
+    Probleme,
+    Segments,
+    Solution,
+    Valeur,
+    Canaux,
+    Revenus,
+    Couts,
+    Indicateurs,
+    Avantage
+  }
+};
+</script>
+
+<style scoped>
+.canvas {
+  display: grid;
+  grid-template-columns: repeat(10, 1fr);
+  grid-template-rows: repeat(6, 1fr);
+  gap: 10px;
+  padding: 10px;
+}
+
+.Probleme { grid-column: 1 / 3; grid-row: 1 / 5; }
+.Segments { grid-column: 9 / 11; grid-row: 1 / 5; }
+.Valeur { grid-column: 5 / 7; grid-row: 1 / 5; }
+.Solution { grid-column: 3 / 5; grid-row: 1 / 3; }
+.Avantage { grid-column: 7 / 9; grid-row: 1 / 3; }
+.Canaux { grid-column: 7 / 9; grid-row: 3 / 5; }
+.Indicateurs { grid-column: 3 / 5; grid-row: 3 / 5; }
+.Couts { grid-column: 1 / 6; grid-row: 5 / 7; }
+.Revenus { grid-column: 6 / 11; grid-row: 5 / 7; }
+
+.expanded {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%; /* Remplit toute la zone sans dépassement */
+  height: 100%;
+  transition: all 0.3s ease;
+  z-index: 10;
+  background: white; /* S'assurer que le contenu s'affiche correctement */
+  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); /* Optionnel : un petit effet visuel */
+}
+</style>
\ No newline at end of file
diff --git a/front/MyINPulse-front/src/router/index.ts b/front/MyINPulse-front/src/router/index.ts
new file mode 100644
index 0000000..e69de29
diff --git a/front/MyINPulse-front/src/router/router.ts b/front/MyINPulse-front/src/router/router.ts
index 16f4939..d5dd6fd 100644
--- a/front/MyINPulse-front/src/router/router.ts
+++ b/front/MyINPulse-front/src/router/router.ts
@@ -12,7 +12,7 @@ const router = createRouter({
       component: () => import('../views/test.vue'),
     },
 
-      // route pour les canvas (made by adnane), in fact the two vue apps are separated for now
+      // route pour les canvas
     {
       path: '/canvas',
       name: 'canvas',
diff --git a/front/MyINPulse-front/src/views/CanvasView.vue b/front/MyINPulse-front/src/views/CanvasView.vue
index d87bd29..9da9aff 100644
--- a/front/MyINPulse-front/src/views/CanvasView.vue
+++ b/front/MyINPulse-front/src/views/CanvasView.vue
@@ -1,12 +1,12 @@
-<!-- src/views/CanvasView.vue -->
 <template>
-    <div>
-      <h1>Page Canvas</h1>
-      <LeanCanvas />
-    </div>
-  </template>
-  
-  <script setup lang="ts">
-  import LeanCanvas from '@/components/canvas/Lean-canvas.vue';
-  </script>
-  
\ No newline at end of file
+  <div>
+    <HeaderCanvas />
+    <h1>Page Canvas</h1>
+    <LeanCanvas />
+  </div>
+</template>
+
+<script setup lang="ts">
+import LeanCanvas from '@/components/canvas/Lean-canvas.vue';
+import HeaderCanvas from '@/components/canvas/HeaderCanvas.vue'; 
+</script>