From ccd59a73931b181412f7ccc8b9cd000088b6a468 Mon Sep 17 00:00:00 2001 From: Adrien Delmastro Date: Wed, 11 Feb 2026 16:13:00 +0100 Subject: [PATCH] [FEAT] - minimal homepage --- pwa/.prettierrc | 2 +- pwa/app/components/tabs/diagram.jsx | 3 + pwa/app/components/tabs/points.jsx | 3 + pwa/app/components/tabs/temporal.jsx | 3 + pwa/app/globals.css | 22 ++++++ pwa/app/page.tsx | 100 ++++++++++++++++++++----- pwa/app/services/diagram.services.tsx | 0 pwa/app/services/points.services.tsx | 0 pwa/app/services/temporal.services.tsx | 0 pwa/package-lock.json | 10 +++ pwa/package.json | 1 + pwa/pnpm-lock.yaml | 12 +++ 12 files changed, 136 insertions(+), 20 deletions(-) create mode 100644 pwa/app/components/tabs/diagram.jsx create mode 100644 pwa/app/components/tabs/points.jsx create mode 100644 pwa/app/components/tabs/temporal.jsx create mode 100644 pwa/app/services/diagram.services.tsx create mode 100644 pwa/app/services/points.services.tsx create mode 100644 pwa/app/services/temporal.services.tsx diff --git a/pwa/.prettierrc b/pwa/.prettierrc index ea62a45..fb95675 100644 --- a/pwa/.prettierrc +++ b/pwa/.prettierrc @@ -2,7 +2,7 @@ "semi": false, "trailingComma": "es5", "singleQuote": true, - "printWidth": 80, + "printWidth": 160, "tabWidth": 4, "useTabs": false, "arrowParens": "avoid", diff --git a/pwa/app/components/tabs/diagram.jsx b/pwa/app/components/tabs/diagram.jsx new file mode 100644 index 0000000..9159d24 --- /dev/null +++ b/pwa/app/components/tabs/diagram.jsx @@ -0,0 +1,3 @@ +export default function Diagram() { + return
Diagram
+} diff --git a/pwa/app/components/tabs/points.jsx b/pwa/app/components/tabs/points.jsx new file mode 100644 index 0000000..90766cf --- /dev/null +++ b/pwa/app/components/tabs/points.jsx @@ -0,0 +1,3 @@ +export default function Points() { + return
Points
+} diff --git a/pwa/app/components/tabs/temporal.jsx b/pwa/app/components/tabs/temporal.jsx new file mode 100644 index 0000000..724d3b2 --- /dev/null +++ b/pwa/app/components/tabs/temporal.jsx @@ -0,0 +1,3 @@ +export default function Temporal() { + return
Temporal
+} diff --git a/pwa/app/globals.css b/pwa/app/globals.css index d4b5078..ba7afea 100644 --- a/pwa/app/globals.css +++ b/pwa/app/globals.css @@ -1 +1,23 @@ @import 'tailwindcss'; + +@keyframes grow { + 0% { + transform: scaleY(0); + opacity: 0; + } + 100% { + transform: scaleY(1); + opacity: 1; + } +} + +h1 { + @apply text-2xl font-bold; +} + +.bar { + transform-origin: bottom; + animation: grow 0.4s ease-out forwards; + opacity: 0; + transform: scaleY(0); +} diff --git a/pwa/app/page.tsx b/pwa/app/page.tsx index c6de6ee..993bcba 100644 --- a/pwa/app/page.tsx +++ b/pwa/app/page.tsx @@ -1,21 +1,83 @@ +'use client' + +import { useState } from 'react' +import { Search } from 'lucide-react' +import Temporal from './components/tabs/temporal' +import Points from './components/tabs/points' +import Diagram from './components/tabs/diagram' + +const tabs = [ + { key: 'temporal', label: 'Temporal' }, + { key: 'points', label: 'Points' }, + { key: 'diagram', label: 'Diagram' }, +] as const + +type TabKey = (typeof tabs)[number]['key'] + +const tabComponents: Record = { + temporal: Temporal, + points: Points, + diagram: Diagram, +} + export default function Home() { - const apiEntrypoint = process.env.NEXT_PUBLIC_ENTRYPOINT || "http://localhost:8000"; - - return ( -
-

FullStack Lab - REI 2022

-

Analyse des taxes locales françaises

- -
- ); + const [activeTab, setActiveTab] = useState('temporal') + const ActiveComponent = tabComponents[activeTab] + + return ( +
+
+
+
+
+
+
+
+
+

FullStack Lab

+
+ +
+

Visualisation

+
+ + +
+
+ +
+
+
+
+
+
+
+
+ + +
+
+
+ +
+
+
+ ) } diff --git a/pwa/app/services/diagram.services.tsx b/pwa/app/services/diagram.services.tsx new file mode 100644 index 0000000..e69de29 diff --git a/pwa/app/services/points.services.tsx b/pwa/app/services/points.services.tsx new file mode 100644 index 0000000..e69de29 diff --git a/pwa/app/services/temporal.services.tsx b/pwa/app/services/temporal.services.tsx new file mode 100644 index 0000000..e69de29 diff --git a/pwa/package-lock.json b/pwa/package-lock.json index 4c2bd33..916116c 100644 --- a/pwa/package-lock.json +++ b/pwa/package-lock.json @@ -9,6 +9,7 @@ "version": "0.1.0", "dependencies": { "@tailwindcss/postcss": "^4.1.18", + "lucide-react": "^0.563.0", "next": "^15", "postcss": "^8.5.6", "react": "^19", @@ -3797,6 +3798,15 @@ "loose-envify": "cli.js" } }, + "node_modules/lucide-react": { + "version": "0.563.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.563.0.tgz", + "integrity": "sha512-8dXPB2GI4dI8jV4MgUDGBeLdGk8ekfqVZ0BdLcrRzocGgG75ltNEmWS+gE7uokKF/0oSUuczNDT+g9hFJ23FkA==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/magic-string": { "version": "0.30.21", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", diff --git a/pwa/package.json b/pwa/package.json index e99606b..8a88c39 100644 --- a/pwa/package.json +++ b/pwa/package.json @@ -13,6 +13,7 @@ }, "dependencies": { "@tailwindcss/postcss": "^4.1.18", + "lucide-react": "^0.563.0", "next": "^15", "postcss": "^8.5.6", "react": "^19", diff --git a/pwa/pnpm-lock.yaml b/pwa/pnpm-lock.yaml index 1a75135..b4bdbb4 100644 --- a/pwa/pnpm-lock.yaml +++ b/pwa/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@tailwindcss/postcss': specifier: ^4.1.18 version: 4.1.18 + lucide-react: + specifier: ^0.563.0 + version: 0.563.0(react@19.2.4) next: specifier: ^15 version: 15.5.12(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -1141,6 +1144,11 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true + lucide-react@0.563.0: + resolution: {integrity: sha512-8dXPB2GI4dI8jV4MgUDGBeLdGk8ekfqVZ0BdLcrRzocGgG75ltNEmWS+gE7uokKF/0oSUuczNDT+g9hFJ23FkA==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} @@ -2636,6 +2644,10 @@ snapshots: dependencies: js-tokens: 4.0.0 + lucide-react@0.563.0(react@19.2.4): + dependencies: + react: 19.2.4 + magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 -- GitLab