+
+
Mentions légales
+
+ )
+}
diff --git a/src/pages/Legals/route.ts b/src/pages/Legals/route.ts
new file mode 100644
index 00000000..59aa8ccd
--- /dev/null
+++ b/src/pages/Legals/route.ts
@@ -0,0 +1,12 @@
+import { createRoute } from '@tanstack/react-router'
+import { rootRoute } from 'router/router'
+import { LegalPage } from './LegalsPage'
+
+export const legalsRoute = createRoute({
+ getParentRoute: () => rootRoute,
+ path: 'mentions-legales',
+ component: LegalPage,
+ loader: () => {
+ document.title = 'Mentions Légales'
+ },
+})
diff --git a/src/pages/NavigationAssistance/NavigationAssistancePage.tsx b/src/pages/NavigationAssistance/NavigationAssistancePage.tsx
new file mode 100644
index 00000000..27b5c175
--- /dev/null
+++ b/src/pages/NavigationAssistance/NavigationAssistancePage.tsx
@@ -0,0 +1,17 @@
+import Breadcrumb from '@codegouvfr/react-dsfr/Breadcrumb'
+import { Grid } from 'components/Grid'
+
+export function NavigationAssistancePage() {
+ return (
+
+
+ Aide à la navigation
+
+ )
+}
diff --git a/src/pages/NavigationAssistance/route.ts b/src/pages/NavigationAssistance/route.ts
new file mode 100644
index 00000000..63b08843
--- /dev/null
+++ b/src/pages/NavigationAssistance/route.ts
@@ -0,0 +1,12 @@
+import { createRoute } from '@tanstack/react-router'
+import { rootRoute } from 'router/router'
+import { NavigationAssistancePage } from './NavigationAssistancePage'
+
+export const navigationAssistanceRoute = createRoute({
+ getParentRoute: () => rootRoute,
+ path: 'aide-a-la-navigation',
+ component: NavigationAssistancePage,
+ loader: () => {
+ document.title = 'Aide à la navigation'
+ },
+})
diff --git a/src/pages/Security/SecurityPage.tsx b/src/pages/Security/SecurityPage.tsx
new file mode 100644
index 00000000..e43e714f
--- /dev/null
+++ b/src/pages/Security/SecurityPage.tsx
@@ -0,0 +1,17 @@
+import Breadcrumb from '@codegouvfr/react-dsfr/Breadcrumb'
+import { Grid } from 'components/Grid'
+
+export function SecurityPage() {
+ return (
+
+
+ Sécurité
+
+ )
+}
diff --git a/src/pages/Security/route.ts b/src/pages/Security/route.ts
new file mode 100644
index 00000000..0fb85701
--- /dev/null
+++ b/src/pages/Security/route.ts
@@ -0,0 +1,12 @@
+import { createRoute } from '@tanstack/react-router'
+import { rootRoute } from 'router/router'
+import { SecurityPage } from './SecurityPage'
+
+export const securityRoute = createRoute({
+ getParentRoute: () => rootRoute,
+ path: 'securite',
+ component: SecurityPage,
+ loader: () => {
+ document.title = 'Sécurité'
+ },
+})
diff --git a/src/pages/SiteMap/SiteMapPage.tsx b/src/pages/SiteMap/SiteMapPage.tsx
new file mode 100644
index 00000000..2f600e07
--- /dev/null
+++ b/src/pages/SiteMap/SiteMapPage.tsx
@@ -0,0 +1,33 @@
+import { Breadcrumb } from '@codegouvfr/react-dsfr/Breadcrumb'
+import { Grid } from 'components/Grid'
+
+import { Link } from '@tanstack/react-router'
+
+export function SiteMapPage() {
+ return (
+
+
+ Plan du site
+
+ -
+ Accueil
+
+ -
+ Mentions légales
+
+ -
+ Accessibilité
+
+ -
+ Sécurité
+
+
+
+ )
+}
diff --git a/src/pages/SiteMap/route.ts b/src/pages/SiteMap/route.ts
new file mode 100644
index 00000000..210c57e4
--- /dev/null
+++ b/src/pages/SiteMap/route.ts
@@ -0,0 +1,12 @@
+import { createRoute } from '@tanstack/react-router'
+import { rootRoute } from 'router/router'
+import { SiteMapPage } from './SiteMapPage'
+
+export const siteMapRoute = createRoute({
+ getParentRoute: () => rootRoute,
+ path: 'plan-du-site',
+ component: SiteMapPage,
+ loader: () => {
+ document.title = 'Plan du site'
+ },
+})
diff --git a/src/pages/Visualize/Visualize.tsx b/src/pages/Visualize/Visualize.tsx
index fb4638b7..9d4ca4de 100644
--- a/src/pages/Visualize/Visualize.tsx
+++ b/src/pages/Visualize/Visualize.tsx
@@ -1,6 +1,6 @@
import { Orchestrator } from 'components/Orchestrator/Orchestrator'
import { VisualizeForm } from './Form/VisualizeForm'
-import { visualizeRoute } from './visualizeRoute'
+import { visualizeRoute } from './route'
import { axiosGet } from 'utils/axios'
export function VisualizePage() {
diff --git a/src/pages/Visualize/visualizeRoute.ts b/src/pages/Visualize/route.ts
similarity index 97%
rename from src/pages/Visualize/visualizeRoute.ts
rename to src/pages/Visualize/route.ts
index ecedaac0..bcbf108d 100644
--- a/src/pages/Visualize/visualizeRoute.ts
+++ b/src/pages/Visualize/route.ts
@@ -22,6 +22,7 @@ export const visualizeRoute = createRoute({
context: { queryClient },
deps: { sourceUrl, dataUrl, metadataUrl, nomenclature },
}) => {
+ document.title = 'Visualisation'
if (!sourceUrl) {
return
}
diff --git a/src/router/Layout/Footer.tsx b/src/router/Layout/Footer.tsx
index 3dd5f6cb..aaf3bdc2 100644
--- a/src/router/Layout/Footer.tsx
+++ b/src/router/Layout/Footer.tsx
@@ -36,16 +36,13 @@ export function Footer() {
>
}
websiteMapLinkProps={{
- to: '',
- //to: '/plan-du-site',
+ to: '/plan-du-site',
}}
accessibilityLinkProps={{
- to: '',
- //to: '/accessibilite',
+ to: '/accessibilite',
}}
termsLinkProps={{
- to: '',
- //to: '/mentions-legales',
+ to: '/mentions-legales',
}}
operatorLogo={{
alt: 'Insee, mesurer pour comprendre',
@@ -56,15 +53,13 @@ export function Footer() {
{
text: 'Sécurité',
linkProps: {
- to: '',
- //to: '/securite'
+ to: '/securite',
},
},
{
- text: 'Aide à la navigation ',
+ text: 'Aide à la navigation',
linkProps: {
- to: '',
- //to: '/aide-a-la-navigation'
+ to: '/aide-a-la-navigation',
},
},
diff --git a/src/router/Layout/Header.tsx b/src/router/Layout/Header.tsx
index 66a9085b..7793f1c9 100644
--- a/src/router/Layout/Header.tsx
+++ b/src/router/Layout/Header.tsx
@@ -8,7 +8,13 @@ export function Header() {
return (
+ République
+
+ Française
+ >
+ }
homeLinkProps={{
to: '/',
title:
diff --git a/src/router/router.tsx b/src/router/router.tsx
index d7e0ce41..11207d09 100644
--- a/src/router/router.tsx
+++ b/src/router/router.tsx
@@ -1,12 +1,13 @@
import type { QueryClient } from '@tanstack/react-query'
import { Layout } from './Layout'
-import {
- createRootRouteWithContext,
- createRoute,
- Outlet,
-} from '@tanstack/react-router'
+import { createRootRouteWithContext, Outlet } from '@tanstack/react-router'
import { ErrorPage } from 'pages/Error/ErrorPage'
-import { visualizeRoute } from 'pages/Visualize/visualizeRoute'
+import { visualizeRoute } from 'pages/Visualize/route'
+import { accessibilityRoute } from 'pages/Accessibility/route'
+import { securityRoute } from 'pages/Security/route'
+import { siteMapRoute } from 'pages/SiteMap/route'
+import { legalsRoute } from 'pages/Legals/route'
+import { navigationAssistanceRoute } from 'pages/NavigationAssistance/route'
export const rootRoute = createRootRouteWithContext<{
queryClient: QueryClient
@@ -23,11 +24,11 @@ export const rootRoute = createRootRouteWithContext<{
),
})
-// test route, need to be removed
-const indexRoute = createRoute({
- getParentRoute: () => rootRoute,
- path: '/',
- component: () => <>Index Route>,
-})
-
-export const routeTree = rootRoute.addChildren([indexRoute, visualizeRoute])
+export const routeTree = rootRoute.addChildren([
+ visualizeRoute,
+ accessibilityRoute,
+ securityRoute,
+ siteMapRoute,
+ legalsRoute,
+ navigationAssistanceRoute
+])
diff --git a/tsconfig.json b/tsconfig.json
index be122e7b..862e9fed 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -22,8 +22,8 @@
"verbatimModuleSyntax": true,
- "baseUrl": "./src",
+ "baseUrl": "./src"
},
"include": ["src"],
- "references": [{ "path": "./tsconfig.node.json" }],
+ "references": [{ "path": "./tsconfig.node.json" }]
}
diff --git a/yarn.lock b/yarn.lock
index b862cfd5..9407878b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -227,10 +227,10 @@
"@babel/helper-validator-identifier" "^7.22.20"
to-fast-properties "^2.0.0"
-"@codegouvfr/react-dsfr@^1.2.1":
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/@codegouvfr/react-dsfr/-/react-dsfr-1.2.1.tgz#19b705163719de9b3d8ef94882a6e0aae8eb442c"
- integrity sha512-8TIQc9IObRGe/qfD0cPqHZM2vmLmIw0AVvIbEY9P+16vZijLxshXWNZlNlyupMxNlIs5MRrfsJVaRiGru+r20A==
+"@codegouvfr/react-dsfr@^1.2.2":
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/@codegouvfr/react-dsfr/-/react-dsfr-1.2.2.tgz#d172fed779b439e9bbe96b7bc018e876435fdb2f"
+ integrity sha512-ZzjMbOONksJSwgiWJdgMNSDW030P6y5FjGUBJyB1LL+y1OnNuKSTDTc+fjz8uMdfkFZI6j0Ub10OzZXQoMpGjQ==
dependencies:
tsafe "^1.6.3"
@@ -586,10 +586,10 @@
snowball "^0.3.1"
string-tokenizer "^0.0.8"
-"@inseefr/lunatic@^2.7.14":
- version "2.7.14"
- resolved "https://registry.yarnpkg.com/@inseefr/lunatic/-/lunatic-2.7.14.tgz#a6128d79a86271e79a3096c0702718ef1788b086"
- integrity sha512-UEA8FUUP/diZVV9GPiz3CUveEaZQLqleNIMl+rhQIjjChJoAdgvumAgHDM374rS+FDZ4KFzA3NLT8M0l0s3/Cw==
+"@inseefr/lunatic@^2.7.15":
+ version "2.7.15"
+ resolved "https://registry.yarnpkg.com/@inseefr/lunatic/-/lunatic-2.7.15.tgz#443e67e2b09091e7a82a6d5aafd12b366bb5c3ee"
+ integrity sha512-wK8QIq3JNP5B+rZfP0YsOdWr9cg72rpQoIP+ovY73/GZshAqVNGqxcDwTEwIYEIgP86Jz/AGXQt0/bweTxvhTw==
dependencies:
"@inseefr/trevas" "^0.1.20"
"@inseefr/vtl-2.0-antlr-tools" "^0.1.0"
@@ -834,29 +834,29 @@
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.0.tgz#4ea610e0c40a07a8afa2977cbf80507f41c2271c"
integrity sha512-aPP5Q5AqNGuT0tnuEkK/g4mnt3ZhheiXrDIiSVIHN9mcN21OyXDVbEMqmXPE7e2OplNLDkcvV+ZoGJa2ZImFgw==
-"@tanstack/history@1.12.16":
- version "1.12.16"
- resolved "https://registry.yarnpkg.com/@tanstack/history/-/history-1.12.16.tgz#b1c4d08373430d90067331294c3500cfa2c788e4"
- integrity sha512-lhm4aRy+B3yK3TgfFnjVYaSqrWobr0sOxF3z+6ZNJQoKaJ+ga+se5J+woozN/RHIZorfa+H71fevF82MXUsoIA==
+"@tanstack/history@1.15.13":
+ version "1.15.13"
+ resolved "https://registry.yarnpkg.com/@tanstack/history/-/history-1.15.13.tgz#544878665989e6ce07872378961fc6717d342682"
+ integrity sha512-ToaeMtK5S4YaxCywAlYexc7KPFN0esjyTZ4vXzJhXEWAkro9iHgh7m/4ozPJb7oTo65WkHWX0W9GjcZbInSD8w==
-"@tanstack/query-core@5.18.0":
- version "5.18.0"
- resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.18.0.tgz#445a0cbf94b49d57132255c74570cfb63cf444c2"
- integrity sha512-8c6nxeAnGHxIDZIyDmHdmgFt4D+LprAQaJmjsnM4szcIjsWOyFlzxdqQUuQ/XuQRvUgqYaqlJTtDADlSS7pTPQ==
+"@tanstack/query-core@5.18.1":
+ version "5.18.1"
+ resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.18.1.tgz#b653ee354b7f4712d53565ccc5c6d8fb83ec866c"
+ integrity sha512-fYhrG7bHgSNbnkIJF2R4VUXb4lF7EBiQjKkDc5wOlB7usdQOIN4LxxHpDxyE3qjqIst1WBGvDtL48T0sHJGKCw==
-"@tanstack/react-query@^5.18.0":
- version "5.18.0"
- resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.18.0.tgz#da948737c904e7796df2aab2e52a92bdd755ffb1"
- integrity sha512-7FKxNfxxKEL7n3ADpwp81Fy4FX85hNkYVzQQVQsF0JAPl93c3d1gmNZMIbEtOqgYfom1/ontGh3FiZGYj3xyWA==
+"@tanstack/react-query@^5.18.1":
+ version "5.18.1"
+ resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.18.1.tgz#fd4e7b87260e82c5277355ad64f0e431a9302e02"
+ integrity sha512-PdI07BbsahZ+04PxSuDQsQvBWe008eWFk/YYWzt8fvzt2sALUM0TpAJa/DFpqa7+SSo7j1EQR6Jx6znXNHyaXw==
dependencies:
- "@tanstack/query-core" "5.18.0"
+ "@tanstack/query-core" "5.18.1"
-"@tanstack/react-router@^1.15.7":
- version "1.15.7"
- resolved "https://registry.yarnpkg.com/@tanstack/react-router/-/react-router-1.15.7.tgz#bcef0e311012135d1429d3b5271fd397c7189aa4"
- integrity sha512-4b5ia1HG1iQhdRQ67NDjzDkA0tLm2aeoE07DqIXSWTY8xrrNBgYUjfCKKNy2l/qIE5/gFmsoaqab3ZJxohOFmQ==
+"@tanstack/react-router@^1.15.17":
+ version "1.15.17"
+ resolved "https://registry.yarnpkg.com/@tanstack/react-router/-/react-router-1.15.17.tgz#9250e25e86ed908983d732428762417e081b2813"
+ integrity sha512-s9zmdsdOOrJvbD9KuLj4Kul5EuykqtzsDO3hBXT4GXA3JElEJZifSWh6vL5EPWNUedPqtJ7LXJyzTzmpgTwL6w==
dependencies:
- "@tanstack/history" "1.12.16"
+ "@tanstack/history" "1.15.13"
"@tanstack/react-store" "^0.2.1"
tiny-invariant "^1.3.1"
tiny-warning "^1.0.3"
@@ -938,10 +938,10 @@
resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433"
integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==
-"@types/node@^20.11.13":
- version "20.11.13"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.13.tgz#188263ee2c8d590e181d3f5bfa7e485a932957cb"
- integrity sha512-5G4zQwdiQBSWYTDAH1ctw2eidqdhMJaNsiIDKHFr55ihz5Trl2qqR8fdrT732yPBho5gkNxXm67OxWFBqX9aPg==
+"@types/node@^20.11.16":
+ version "20.11.16"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.16.tgz#4411f79411514eb8e2926f036c86c9f0e4ec6708"
+ integrity sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==
dependencies:
undici-types "~5.26.4"
@@ -978,10 +978,10 @@
"@types/scheduler" "*"
csstype "^3.0.2"
-"@types/react@^18.2.48":
- version "18.2.48"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.48.tgz#11df5664642d0bd879c1f58bc1d37205b064e8f1"
- integrity sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==
+"@types/react@^18.2.53":
+ version "18.2.53"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.53.tgz#09c21b4621aaad5fed6a5045b33a7430749d8dc5"
+ integrity sha512-52IHsMDT8qATp9B9zoOyobW8W3/0QhaJQTw1HwRj0UY2yBpCAQ7+S/CqHYQ8niAm3p4ji+rWUQ9UCib0GxQ60w==
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
@@ -2569,10 +2569,10 @@ prelude-ls@^1.2.1:
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
-prettier@^3.2.4:
- version "3.2.4"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.4.tgz#4723cadeac2ce7c9227de758e5ff9b14e075f283"
- integrity sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==
+prettier@^3.2.5:
+ version "3.2.5"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368"
+ integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==
prop-types@^15.0.0, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1:
version "15.8.1"
@@ -2630,10 +2630,10 @@ react-dom@^18.2.0:
loose-envify "^1.1.0"
scheduler "^0.23.0"
-react-hook-form@^7.49.3:
- version "7.49.3"
- resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.49.3.tgz#576a4567f8a774830812f4855e89f5da5830435c"
- integrity sha512-foD6r3juidAT1cOZzpmD/gOKt7fRsDhXXZ0y28+Al1CHgX+AY1qIN9VSIIItXRq1dN68QrRwl1ORFlwjBaAqeQ==
+react-hook-form@^7.50.0:
+ version "7.50.0"
+ resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.50.0.tgz#379802d85c7b78e0056229c53607946d34f99a36"
+ integrity sha512-AOhuzM3RdP09ZCnq+Z0yvKGHK25yiOX5phwxjV9L7U6HMla10ezkBnvQ+Pk4GTuDfsC5P2zza3k8mawFwFLVuQ==
react-is@^16.13.1, react-is@^16.7.0:
version "16.13.1"
@@ -3028,10 +3028,10 @@ tss-react@4.8.6:
"@emotion/serialize" "*"
"@emotion/utils" "*"
-tss-react@^4.9.3:
- version "4.9.3"
- resolved "https://registry.yarnpkg.com/tss-react/-/tss-react-4.9.3.tgz#69ce18bcf83fe96d99d35f44a036c7b507f66eff"
- integrity sha512-TqI0kBFmgW0f5YIOD2PMdHu6FnqSxVDUf5uJ7+gVkhemtMfwdlFpvXpddgSesktizr9PU9hY2nZ+kNnf0KQb9A==
+tss-react@^4.9.4:
+ version "4.9.4"
+ resolved "https://registry.yarnpkg.com/tss-react/-/tss-react-4.9.4.tgz#037603ed2f8765c2f208ac1c75e9293753aa18cd"
+ integrity sha512-4o+XFdaTcraNEIsCRxKiEX7g6xhcsdSxfHRjos3Kg9GbYIpzfK4M2MHMETTuXT54nUrldtnkipNC003v/q5KVg==
dependencies:
"@emotion/cache" "*"
"@emotion/serialize" "*"