From 226319307fbb3f2746d14b8aaaa05b68a3bdfdcc Mon Sep 17 00:00:00 2001 From: GauthierWebDev Date: Sun, 13 Apr 2025 12:18:18 +0200 Subject: [PATCH] refactor: Update variable declarations to use const instead of let --- app/components/syntax/PrevNextLinks.tsx | 23 ++- app/package.json | 6 - app/pnpm-lock.yaml | 248 ------------------------ 3 files changed, 15 insertions(+), 262 deletions(-) diff --git a/app/components/syntax/PrevNextLinks.tsx b/app/components/syntax/PrevNextLinks.tsx index 529dde5..889bf7a 100644 --- a/app/components/syntax/PrevNextLinks.tsx +++ b/app/components/syntax/PrevNextLinks.tsx @@ -22,6 +22,10 @@ function PageLink({ href: string; dir?: "previous" | "next"; }) { + const pageCategory = navigation.find((section) => { + return section.links.some((link) => link.href === href); + })!; + return (
@@ -31,12 +35,15 @@ function PageLink({ - {title} - +

+ {pageCategory.title} + {title} +

+
@@ -44,12 +51,12 @@ function PageLink({ } export function PrevNextLinks() { - let { urlPathname } = usePageContext(); + const { urlPathname } = usePageContext(); - let allLinks = navigation.flatMap((section) => section.links); - let linkIndex = allLinks.findIndex((link) => link.href === urlPathname); - let previousPage = linkIndex > -1 ? allLinks[linkIndex - 1] : null; - let nextPage = linkIndex > -1 ? allLinks[linkIndex + 1] : null; + const allLinks = navigation.flatMap((section) => section.links); + const linkIndex = allLinks.findIndex((link) => link.href === urlPathname); + const previousPage = linkIndex > -1 ? allLinks[linkIndex - 1] : null; + const nextPage = linkIndex > -1 ? allLinks[linkIndex + 1] : null; if (!nextPage && !previousPage) { return null; diff --git a/app/package.json b/app/package.json index 23ab8d4..16b1535 100644 --- a/app/package.json +++ b/app/package.json @@ -7,10 +7,6 @@ "prod": "npm-run-all build preview" }, "dependencies": { - "@algolia/autocomplete-core": "^1.18.1", - "@algolia/autocomplete-js": "^1.18.1", - "@algolia/autocomplete-plugin-algolia-insights": "^1.18.1", - "@algolia/autocomplete-preset-algolia": "^1.18.1", "@fastify/middie": "^9.0.3", "@fastify/static": "^8.1.1", "@fontsource-variable/inter": "^5.2.5", @@ -24,7 +20,6 @@ "@universal-middleware/core": "^0.4.4", "@universal-middleware/fastify": "^0.5.9", "@vitejs/plugin-react": "^4.3.4", - "algoliasearch": "^5.23.3", "clsx": "^2.1.1", "fast-glob": "^3.3.3", "fastify": "^5.2.1", @@ -44,7 +39,6 @@ "vike-react": "^0.5.13" }, "devDependencies": { - "@algolia/client-search": "^5.23.3", "@eslint/js": "^9.22.0", "@tailwindcss/vite": "^4.0.12", "@types/js-yaml": "^4.0.9", diff --git a/app/pnpm-lock.yaml b/app/pnpm-lock.yaml index c70c97c..a350906 100644 --- a/app/pnpm-lock.yaml +++ b/app/pnpm-lock.yaml @@ -8,18 +8,6 @@ importers: .: dependencies: - '@algolia/autocomplete-core': - specifier: ^1.18.1 - version: 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)(search-insights@2.17.3) - '@algolia/autocomplete-js': - specifier: ^1.18.1 - version: 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)(search-insights@2.17.3) - '@algolia/autocomplete-plugin-algolia-insights': - specifier: ^1.18.1 - version: 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)(search-insights@2.17.3) - '@algolia/autocomplete-preset-algolia': - specifier: ^1.18.1 - version: 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3) '@fastify/middie': specifier: ^9.0.3 version: 9.0.3 @@ -59,9 +47,6 @@ importers: '@vitejs/plugin-react': specifier: ^4.3.4 version: 4.3.4(vite@6.2.6(@types/node@18.19.86)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.3)) - algoliasearch: - specifier: ^5.23.3 - version: 5.23.3 clsx: specifier: ^2.1.1 version: 2.1.1 @@ -114,9 +99,6 @@ importers: specifier: ^0.5.13 version: 0.5.13(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(vike@0.4.228(react-streaming@0.3.50(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite@6.2.6(@types/node@18.19.86)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.3))) devDependencies: - '@algolia/client-search': - specifier: ^5.23.3 - version: 5.23.3 '@eslint/js': specifier: ^9.22.0 version: 9.24.0 @@ -180,84 +162,6 @@ importers: packages: - '@algolia/autocomplete-core@1.18.1': - resolution: {integrity: sha512-+lOAwRkvxTt24AXNu3pT0EfCEh1ZOQkKlrgFa0Ji2jxSbY2WW3gb1k39JBPyXcCLlivdxYPXREdg8ImAF2Nw9Q==} - - '@algolia/autocomplete-js@1.18.1': - resolution: {integrity: sha512-uPR+QnN7JU1nbf+m0lrLzSv/ptua72d8EcgWbKN1aacPR9xmdzmuVZoVuHW/Fypgg7ccm7/TlEX98DWnXjffpw==} - peerDependencies: - '@algolia/client-search': '>= 4.5.1 < 6' - algoliasearch: '>= 4.9.1 < 6' - - '@algolia/autocomplete-plugin-algolia-insights@1.18.1': - resolution: {integrity: sha512-zrl5trCnSHXkBRZwo2VPw4fN5zT3DowgFR6O2Qh0gTni8HB+aQltJYVwBrFeTvZHHFKNY9Cua4Y1KNsYiJ9Rdw==} - peerDependencies: - search-insights: '>= 1 < 3' - - '@algolia/autocomplete-preset-algolia@1.18.1': - resolution: {integrity: sha512-ifZV6vfVE9IKNdIe2+JhaBfY78LtnWnYrOFaSxJ7F45ixumSsRw7jCDoHwRxemoceHZzDpaSykSJwcy3XkTswA==} - peerDependencies: - '@algolia/client-search': '>= 4.9.1 < 6' - algoliasearch: '>= 4.9.1 < 6' - - '@algolia/autocomplete-shared@1.18.1': - resolution: {integrity: sha512-vMKFYX5+SX+kIaJSMXOtj6zcMBhAWNyQJkfMrsuK38iJRTwemR23nzUE8qd3rHfWh6Iqgj89vDkf/CuOXDYllA==} - peerDependencies: - '@algolia/client-search': '>= 4.9.1 < 6' - algoliasearch: '>= 4.9.1 < 6' - - '@algolia/client-abtesting@5.23.3': - resolution: {integrity: sha512-yHI0hBwYcNPc+nJoHPTmmlP8pG6nstCEhpHaZQCDwLZhdMtNhd1hliZMCtLgNnvd1yKEgTt/ZDnTSdZLehfKdA==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-analytics@5.23.3': - resolution: {integrity: sha512-/70Ey+nZm4bRr2DcNrGU251YIn9lDu0g8xeP4jTCyunGRNFZ/d8hQAw9El34pcTpO1QDojJWAi6ywKIrUaks9w==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-common@5.23.3': - resolution: {integrity: sha512-fkpbPclIvaiyw3ADKRBCxMZhrNx/8//6DClfWGxeEiTJ0HEEYtHlqE6GjAkEJubz4v1ioCQkhZwMoFfFct2/vQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-insights@5.23.3': - resolution: {integrity: sha512-TXc5Ve6QOCihWCTWY9N56CZxF1iovzpBWBUhQhy6JSiUfX3MXceV3saV+sXHQ1NVt2NKkyUfEspYHBsTrYzIDg==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-personalization@5.23.3': - resolution: {integrity: sha512-JlReruxxiw9LB53jF/BmvVV+c0thiWQUHRdgtbVIEusvRaiX1IdpWJSPQExEtBQ7VFg89nP8niCzWtA34ktKSA==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-query-suggestions@5.23.3': - resolution: {integrity: sha512-GDEExFMXwx0ScE0AZUA4F6ssztdJvGcXUkdWmWyt2hbYz43ukqmlVJqPaYgGmWdjJjvTx+dNF/hcinwWuXbCug==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-search@5.23.3': - resolution: {integrity: sha512-mwofV6tGo0oHt4BPi+S5eLC3wnhOa4A1OVgPxetTxZuetod+2W4cxKavUW2v/Ma5CABXPLooXX+g9E67umELZw==} - engines: {node: '>= 14.0.0'} - - '@algolia/ingestion@1.23.3': - resolution: {integrity: sha512-Zxgmi7Hk4lI52YFphzzJekUqWxYxVjY2GrCpOxV+QiojvUi8Ru+knq6REcwLHFSwpwaDh2Th5pOefMpn4EkQCw==} - engines: {node: '>= 14.0.0'} - - '@algolia/monitoring@1.23.3': - resolution: {integrity: sha512-zi/IqvsmFW4E5gMaovAE4KRbXQ+LDYpPGG1nHtfuD5u3SSuQ31fT1vX2zqb6PbPTlgJMEmMk91Mbb7fIKmbQUw==} - engines: {node: '>= 14.0.0'} - - '@algolia/recommend@5.23.3': - resolution: {integrity: sha512-C9TwbT1zGwULLXGSUSB+G7o/30djacPmQcsTHepvT47PVfPr2ISK/5QVtUnjMU84LEP8uNjuPUeM4ZeWVJ2iuQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/requester-browser-xhr@5.23.3': - resolution: {integrity: sha512-/7oYeUhYzY0lls7WtkAURM6wy21/Wwmq9GdujW1MpoYVC0ATXXxwCiAfOpYL9xdWxLV0R3wjyD+yZEni+nboKg==} - engines: {node: '>= 14.0.0'} - - '@algolia/requester-fetch@5.23.3': - resolution: {integrity: sha512-r/4fKz4t+bSU1KdjRq+swdNvuGfJ0spV8aFTHPtcsF+1ZaN/VqmdXrTe5NkaZLSztFeMqKwZlJIVvE7VuGlFtw==} - engines: {node: '>= 14.0.0'} - - '@algolia/requester-node-http@5.23.3': - resolution: {integrity: sha512-UZiTNmUBQFPl3tUKuXaDd8BxEC0t0ny86wwW6XgwfM9IQf4PrzuMpvuOGIJMcCGlrNolZDEI0mcbz/tqRdKW7A==} - engines: {node: '>= 14.0.0'} - '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -1288,10 +1192,6 @@ packages: ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - algoliasearch@5.23.3: - resolution: {integrity: sha512-0JlUaY/hl3LrKvbidI5FysEi2ggAlcTHM8AHV2UsrJUXnNo8/lWBfhzc1b7o8bK3YZNiU26JtLyT9exoj5VBgA==} - engines: {node: '>= 14.0.0'} - ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -1905,9 +1805,6 @@ packages: hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - htm@3.1.1: - resolution: {integrity: sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==} - htmlparser2@8.0.2: resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} @@ -2433,9 +2330,6 @@ packages: resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} engines: {node: ^10 || ^12 || >=14} - preact@10.26.5: - resolution: {integrity: sha512-fmpDkgfGU6JYux9teDWLhj9mKN55tyepwYbxHgQuIxbWQzgFg5vk7Mrrtfx7xRxq798ynkY4DDDxZr235Kk+4w==} - prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -2607,9 +2501,6 @@ packages: scheduler@0.26.0: resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} - search-insights@2.17.3: - resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} - secure-json-parse@2.7.0: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} @@ -3056,123 +2947,6 @@ packages: snapshots: - '@algolia/autocomplete-core@1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3) - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - search-insights - - '@algolia/autocomplete-js@1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-core': 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)(search-insights@2.17.3) - '@algolia/autocomplete-preset-algolia': 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3) - '@algolia/autocomplete-shared': 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3) - '@algolia/client-search': 5.23.3 - algoliasearch: 5.23.3 - htm: 3.1.1 - preact: 10.26.5 - transitivePeerDependencies: - - search-insights - - '@algolia/autocomplete-plugin-algolia-insights@1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-shared': 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3) - search-insights: 2.17.3 - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - '@algolia/autocomplete-preset-algolia@1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)': - dependencies: - '@algolia/autocomplete-shared': 1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3) - '@algolia/client-search': 5.23.3 - algoliasearch: 5.23.3 - - '@algolia/autocomplete-shared@1.18.1(@algolia/client-search@5.23.3)(algoliasearch@5.23.3)': - dependencies: - '@algolia/client-search': 5.23.3 - algoliasearch: 5.23.3 - - '@algolia/client-abtesting@5.23.3': - dependencies: - '@algolia/client-common': 5.23.3 - '@algolia/requester-browser-xhr': 5.23.3 - '@algolia/requester-fetch': 5.23.3 - '@algolia/requester-node-http': 5.23.3 - - '@algolia/client-analytics@5.23.3': - dependencies: - '@algolia/client-common': 5.23.3 - '@algolia/requester-browser-xhr': 5.23.3 - '@algolia/requester-fetch': 5.23.3 - '@algolia/requester-node-http': 5.23.3 - - '@algolia/client-common@5.23.3': {} - - '@algolia/client-insights@5.23.3': - dependencies: - '@algolia/client-common': 5.23.3 - '@algolia/requester-browser-xhr': 5.23.3 - '@algolia/requester-fetch': 5.23.3 - '@algolia/requester-node-http': 5.23.3 - - '@algolia/client-personalization@5.23.3': - dependencies: - '@algolia/client-common': 5.23.3 - '@algolia/requester-browser-xhr': 5.23.3 - '@algolia/requester-fetch': 5.23.3 - '@algolia/requester-node-http': 5.23.3 - - '@algolia/client-query-suggestions@5.23.3': - dependencies: - '@algolia/client-common': 5.23.3 - '@algolia/requester-browser-xhr': 5.23.3 - '@algolia/requester-fetch': 5.23.3 - '@algolia/requester-node-http': 5.23.3 - - '@algolia/client-search@5.23.3': - dependencies: - '@algolia/client-common': 5.23.3 - '@algolia/requester-browser-xhr': 5.23.3 - '@algolia/requester-fetch': 5.23.3 - '@algolia/requester-node-http': 5.23.3 - - '@algolia/ingestion@1.23.3': - dependencies: - '@algolia/client-common': 5.23.3 - '@algolia/requester-browser-xhr': 5.23.3 - '@algolia/requester-fetch': 5.23.3 - '@algolia/requester-node-http': 5.23.3 - - '@algolia/monitoring@1.23.3': - dependencies: - '@algolia/client-common': 5.23.3 - '@algolia/requester-browser-xhr': 5.23.3 - '@algolia/requester-fetch': 5.23.3 - '@algolia/requester-node-http': 5.23.3 - - '@algolia/recommend@5.23.3': - dependencies: - '@algolia/client-common': 5.23.3 - '@algolia/requester-browser-xhr': 5.23.3 - '@algolia/requester-fetch': 5.23.3 - '@algolia/requester-node-http': 5.23.3 - - '@algolia/requester-browser-xhr@5.23.3': - dependencies: - '@algolia/client-common': 5.23.3 - - '@algolia/requester-fetch@5.23.3': - dependencies: - '@algolia/client-common': 5.23.3 - - '@algolia/requester-node-http@5.23.3': - dependencies: - '@algolia/client-common': 5.23.3 - '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.8 @@ -4117,22 +3891,6 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - algoliasearch@5.23.3: - dependencies: - '@algolia/client-abtesting': 5.23.3 - '@algolia/client-analytics': 5.23.3 - '@algolia/client-common': 5.23.3 - '@algolia/client-insights': 5.23.3 - '@algolia/client-personalization': 5.23.3 - '@algolia/client-query-suggestions': 5.23.3 - '@algolia/client-search': 5.23.3 - '@algolia/ingestion': 1.23.3 - '@algolia/monitoring': 1.23.3 - '@algolia/recommend': 5.23.3 - '@algolia/requester-browser-xhr': 5.23.3 - '@algolia/requester-fetch': 5.23.3 - '@algolia/requester-node-http': 5.23.3 - ansi-regex@5.0.1: {} ansi-regex@6.1.0: {} @@ -4913,8 +4671,6 @@ snapshots: hosted-git-info@2.8.9: {} - htm@3.1.1: {} - htmlparser2@8.0.2: dependencies: domelementtype: 2.3.0 @@ -5419,8 +5175,6 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - preact@10.26.5: {} - prelude-ls@1.2.1: {} prettier-linter-helpers@1.0.0: @@ -5622,8 +5376,6 @@ snapshots: scheduler@0.26.0: {} - search-insights@2.17.3: {} - secure-json-parse@2.7.0: {} secure-json-parse@4.0.0: {}