diff --git a/front/MyINPulse-front/src/App.vue b/front/MyINPulse-front/src/App.vue index 71701b5..6c3e95f 100644 --- a/front/MyINPulse-front/src/App.vue +++ b/front/MyINPulse-front/src/App.vue @@ -3,6 +3,7 @@ import { RouterLink, RouterView } from 'vue-router' import HelloWorld from './components/HelloWorld.vue' import Header from './components/Header.vue'; import ProjectComp from './components/Project-comp.vue'; +import CanvasView from './components/canvas/Lean-canvas.vue'; + + + \ No newline at end of file diff --git a/front/MyINPulse-front/src/components/canvas/Canaux.vue b/front/MyINPulse-front/src/components/canvas/Canaux.vue new file mode 100644 index 0000000..6aee546 --- /dev/null +++ b/front/MyINPulse-front/src/components/canvas/Canaux.vue @@ -0,0 +1,21 @@ + + + + + + \ No newline at end of file diff --git a/front/MyINPulse-front/src/components/canvas/Couts.vue b/front/MyINPulse-front/src/components/canvas/Couts.vue new file mode 100644 index 0000000..c232d3f --- /dev/null +++ b/front/MyINPulse-front/src/components/canvas/Couts.vue @@ -0,0 +1,21 @@ + + + + + + \ No newline at end of file diff --git a/front/MyINPulse-front/src/components/canvas/Header.vue b/front/MyINPulse-front/src/components/canvas/Header.vue new file mode 100644 index 0000000..e860400 --- /dev/null +++ b/front/MyINPulse-front/src/components/canvas/Header.vue @@ -0,0 +1,37 @@ + + + + + + \ No newline at end of file diff --git a/front/MyINPulse-front/src/components/canvas/Indicateurs.vue b/front/MyINPulse-front/src/components/canvas/Indicateurs.vue new file mode 100644 index 0000000..0fd6d1a --- /dev/null +++ b/front/MyINPulse-front/src/components/canvas/Indicateurs.vue @@ -0,0 +1,21 @@ + + + + + + \ No newline at end of file diff --git a/front/MyINPulse-front/src/components/canvas/Lean-canvas.vue b/front/MyINPulse-front/src/components/canvas/Lean-canvas.vue new file mode 100644 index 0000000..0141a17 --- /dev/null +++ b/front/MyINPulse-front/src/components/canvas/Lean-canvas.vue @@ -0,0 +1,42 @@ + + + + + + \ No newline at end of file diff --git a/front/MyINPulse-front/src/components/canvas/Probleme.vue b/front/MyINPulse-front/src/components/canvas/Probleme.vue new file mode 100644 index 0000000..d36b983 --- /dev/null +++ b/front/MyINPulse-front/src/components/canvas/Probleme.vue @@ -0,0 +1,21 @@ + + + + + + \ No newline at end of file diff --git a/front/MyINPulse-front/src/components/canvas/Revenus.vue b/front/MyINPulse-front/src/components/canvas/Revenus.vue new file mode 100644 index 0000000..0b8b57e --- /dev/null +++ b/front/MyINPulse-front/src/components/canvas/Revenus.vue @@ -0,0 +1,21 @@ + + + + + + \ No newline at end of file diff --git a/front/MyINPulse-front/src/components/canvas/Segments.vue b/front/MyINPulse-front/src/components/canvas/Segments.vue new file mode 100644 index 0000000..76eaba5 --- /dev/null +++ b/front/MyINPulse-front/src/components/canvas/Segments.vue @@ -0,0 +1,21 @@ + + + + + + \ No newline at end of file diff --git a/front/MyINPulse-front/src/components/canvas/Solution.vue b/front/MyINPulse-front/src/components/canvas/Solution.vue new file mode 100644 index 0000000..b3d5a05 --- /dev/null +++ b/front/MyINPulse-front/src/components/canvas/Solution.vue @@ -0,0 +1,21 @@ + + + + + + \ No newline at end of file diff --git a/front/MyINPulse-front/src/components/canvas/Valeur.vue b/front/MyINPulse-front/src/components/canvas/Valeur.vue new file mode 100644 index 0000000..d577863 --- /dev/null +++ b/front/MyINPulse-front/src/components/canvas/Valeur.vue @@ -0,0 +1,21 @@ + + + + + + \ No newline at end of file diff --git a/front/MyINPulse-front/src/components/canvas/style-project.css b/front/MyINPulse-front/src/components/canvas/style-project.css new file mode 100644 index 0000000..7761d40 --- /dev/null +++ b/front/MyINPulse-front/src/components/canvas/style-project.css @@ -0,0 +1,184 @@ +body { + font-family: Arial, sans-serif; + margin: 0; + padding: 10px; + } + + .canvas { + display: flex; + flex-direction: column; + max-width: 1200px; + margin: 20px auto; + border: 2px dashed #d33; + background: #fff; + } + + .row { + display: flex; + } + + .cell { + flex: 1; + border: 1px solid #ddd; + padding: 10px; + text-align: center; + background-color: #f1f1f1; + } + + .produit { + background-color: #f9e4e4; + } + + .marche { + background-color: #e4f1f9; + } + + .valeur { + background-color: #f9f4e4; + } + + h3 { + margin: 0; + font-size: 18px; + color: #333; + } + + p { + margin: 5px 0 0; + font-size: 14px; + } + + + body { + font-family: Arial, sans-serif; + margin: 0; + padding: 0; + background-color: #f9f9f9; + } + + h1 img { + height: 80px; + } + + .canvas { + max-width: 1200px; + margin: 20px auto; + padding: 20px; + border: 2px dashed #d33; + background-color: #fff; + } + + .row { + display: flex; + margin-bottom: 10px; + } + + .cell { + flex: 1; + border: 1px solid #ddd; + padding: 20px; + text-align: center; + background-color: #f1f1f1; + } + + #ade { + max-width: 1200px; + margin: 20px auto; + padding: 20px; + text-align: center; + background-color: #e8f5e9; + border: 2px solid #4caf50; + border-radius: 10px; + } + + #ade h3 { + color: #2e7d32; + } + + #ade p { + margin: 10px 0; + font-size: 16px; + color: #333; + } + header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 10px 20px; + background-color: #fff; + border-bottom: 2px solid #ddd; + } + + header img { + height: 60px; + } + + header .contact-menu { + position: relative; + } + + .expanded { + transform: scale(1.2); /* L'élément reste agrandi */ + transition: transform 0.3s ease; /* Animation fluide */ + } + + .contact-button, .return { + padding: 10px 15px; + border: none; + border-radius: 4px; + background-color: #2196f3; + color: #fff; + cursor: pointer; + } + + .contact-button:hover, .return:hover { + background-color: #1976d2; + } + + /* Dropdown styling */ + .contact-dropdown { + position: absolute; + right: 0; + top: 50px; + display: none; + flex-direction: column; + gap: 10px; + padding: 15px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 8px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + z-index: 10; + } + + .contact-dropdown button { + padding: 8px 12px; + border: none; + border-radius: 4px; + background-color: #4caf50; + color: #fff; + cursor: pointer; + } + + .contact-dropdown button:hover { + background-color: #388e3c; + } + + .return { + background-color: #f44336; + } + + .return:hover { + background-color: #d32f2f; + } + + .header-buttons { + display: flex; + align-items: center; + gap: 15px; + } + + + a{ + color: white; + } \ No newline at end of file diff --git a/front/MyINPulse-front/src/main.ts b/front/MyINPulse-front/src/main.ts index e33d5c1..5bf00b7 100644 --- a/front/MyINPulse-front/src/main.ts +++ b/front/MyINPulse-front/src/main.ts @@ -25,7 +25,8 @@ keycloakService.CallInit(() => { }) -createApp(App).mount('#app'); +// this shit made by me so i can run the canva vue app +createApp(App).use(router).mount('#app'); // TODO: fix the comment /* diff --git a/front/MyINPulse-front/src/router/index.ts b/front/MyINPulse-front/src/router/index.ts index e9697d9..54cde30 100644 --- a/front/MyINPulse-front/src/router/index.ts +++ b/front/MyINPulse-front/src/router/index.ts @@ -19,6 +19,13 @@ const router = createRouter({ // which is lazy-loaded when the route is visited. component: () => import('../views/Home.vue'), }, + + // route pour les canvas (made by adnane), in fact the two vue apps are separated for now + { + path: '/canvas', + name: 'canvas', + component: () => import('../views/CanvasView.vue'), + }, ], }) diff --git a/front/MyINPulse-front/src/views/CanvasView.vue b/front/MyINPulse-front/src/views/CanvasView.vue new file mode 100644 index 0000000..d87bd29 --- /dev/null +++ b/front/MyINPulse-front/src/views/CanvasView.vue @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file