From b1c26475d6e9584ae0099f3b5c71c178aff5396d Mon Sep 17 00:00:00 2001
From: MartinC <59508264+martinc1991@users.noreply.github.com>
Date: Fri, 31 May 2024 16:02:10 -0300
Subject: [PATCH 1/4] Add @tanstack/react-query
---
package-lock.json | 25 ++++++++++++++++++++++++
packages/ui/package.json | 1 +
packages/ui/src/hoc/ProvidersWrapper.tsx | 12 ++++++++++++
packages/ui/src/main.tsx | 5 ++++-
4 files changed, 42 insertions(+), 1 deletion(-)
create mode 100644 packages/ui/src/hoc/ProvidersWrapper.tsx
diff --git a/package-lock.json b/package-lock.json
index 4b912c3..7873f7b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2342,6 +2342,30 @@
"node": ">=10"
}
},
+ "node_modules/@tanstack/query-core": {
+ "version": "5.40.0",
+ "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.40.0.tgz",
+ "integrity": "sha512-eD8K8jsOIq0Z5u/QbvOmfvKKE/XC39jA7yv4hgpl/1SRiU+J8QCIwgM/mEHuunQsL87dcvnHqSVLmf9pD4CiaA==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ }
+ },
+ "node_modules/@tanstack/react-query": {
+ "version": "5.40.0",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.40.0.tgz",
+ "integrity": "sha512-iv/W0Axc4aXhFzkrByToE1JQqayxTPNotCoSCnarR/A1vDIHaoKpg7FTIfP3Ev2mbKn1yrxq0ZKYUdLEJxs6Tg==",
+ "dependencies": {
+ "@tanstack/query-core": "5.40.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0"
+ }
+ },
"node_modules/@tokenizer/token": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz",
@@ -12166,6 +12190,7 @@
"name": "@react-monorepo-template/ui",
"version": "0.0.0",
"dependencies": {
+ "@tanstack/react-query": "^5.40.0",
"react": "18.2.0",
"react-dom": "18.2.0"
},
diff --git a/packages/ui/package.json b/packages/ui/package.json
index bdb6576..5bfd153 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -9,6 +9,7 @@
"preview": "vite preview"
},
"dependencies": {
+ "@tanstack/react-query": "^5.40.0",
"react": "18.2.0",
"react-dom": "18.2.0"
},
diff --git a/packages/ui/src/hoc/ProvidersWrapper.tsx b/packages/ui/src/hoc/ProvidersWrapper.tsx
new file mode 100644
index 0000000..fb52847
--- /dev/null
+++ b/packages/ui/src/hoc/ProvidersWrapper.tsx
@@ -0,0 +1,12 @@
+import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
+import React from "react";
+
+const queryClient = new QueryClient();
+
+interface ProvidersWrapperProps {
+ children: React.ReactNode;
+}
+
+export default function ProvidersWrapper({ children }: ProvidersWrapperProps) {
+ return {children};
+}
diff --git a/packages/ui/src/main.tsx b/packages/ui/src/main.tsx
index 966f17a..b75105f 100644
--- a/packages/ui/src/main.tsx
+++ b/packages/ui/src/main.tsx
@@ -1,3 +1,4 @@
+import ProvidersWrapper from "@/hoc/ProvidersWrapper.tsx";
import React from "react";
import ReactDOM from "react-dom/client";
import App from "./App.tsx";
@@ -5,6 +6,8 @@ import "./index.css";
ReactDOM.createRoot(document.getElementById("root")!).render(
-
+
+
+
);
From 90c84d475f1125146c3ed7e14a8054ff5158571c Mon Sep 17 00:00:00 2001
From: MartinC <59508264+martinc1991@users.noreply.github.com>
Date: Fri, 31 May 2024 16:51:20 -0300
Subject: [PATCH 2/4] Add @tanstack/react-router
---
package-lock.json | 847 +++++++++++++++++-
packages/ui/package.json | 3 +
packages/ui/src/App.css | 42 -
packages/ui/src/App.tsx | 30 +-
packages/ui/src/assets/react.svg | 1 -
packages/ui/src/layout.tsx | 18 +
packages/ui/src/routeTree.gen.ts | 82 ++
packages/ui/src/routes/__root.tsx | 20 +
packages/ui/src/routes/about.lazy.tsx | 10 +
packages/ui/src/routes/index.lazy.tsx | 14 +
.../ui/src/shared/config/tanstackRouter.ts | 10 +
packages/ui/vite.config.ts | 7 +-
12 files changed, 997 insertions(+), 87 deletions(-)
delete mode 100644 packages/ui/src/App.css
delete mode 100644 packages/ui/src/assets/react.svg
create mode 100644 packages/ui/src/layout.tsx
create mode 100644 packages/ui/src/routeTree.gen.ts
create mode 100644 packages/ui/src/routes/__root.tsx
create mode 100644 packages/ui/src/routes/about.lazy.tsx
create mode 100644 packages/ui/src/routes/index.lazy.tsx
create mode 100644 packages/ui/src/shared/config/tanstackRouter.ts
diff --git a/package-lock.json b/package-lock.json
index 7873f7b..eae6ba4 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -49,6 +49,29 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@ampproject/remapping": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@ampproject/remapping/node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
"node_modules/@auth0/s3": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@auth0/s3/-/s3-1.0.0.tgz",
@@ -738,34 +761,373 @@
}
},
"node_modules/@babel/code-frame": {
- "version": "7.24.2",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
- "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.6.tgz",
+ "integrity": "sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA==",
"dev": true,
"dependencies": {
- "@babel/highlight": "^7.24.2",
+ "@babel/highlight": "^7.24.6",
"picocolors": "^1.0.0"
},
"engines": {
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/compat-data": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.6.tgz",
+ "integrity": "sha512-aC2DGhBq5eEdyXWqrDInSqQjO0k8xtPRf5YylULqx8MCd6jBtzqfta/3ETMRpuKIc5hyswfO80ObyA1MvkCcUQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.6.tgz",
+ "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==",
+ "dev": true,
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.24.6",
+ "@babel/generator": "^7.24.6",
+ "@babel/helper-compilation-targets": "^7.24.6",
+ "@babel/helper-module-transforms": "^7.24.6",
+ "@babel/helpers": "^7.24.6",
+ "@babel/parser": "^7.24.6",
+ "@babel/template": "^7.24.6",
+ "@babel/traverse": "^7.24.6",
+ "@babel/types": "^7.24.6",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/core/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.6.tgz",
+ "integrity": "sha512-S7m4eNa6YAPJRHmKsLHIDJhNAGNKoWNiWefz1MBbpnt8g9lvMDl1hir4P9bo/57bQEmuwEhnRU/AMWsD0G/Fbg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.24.6",
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "jsesc": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/generator/node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@babel/helper-annotate-as-pure": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.6.tgz",
+ "integrity": "sha512-DitEzDfOMnd13kZnDqns1ccmftwJTS9DMkyn9pYTxulS7bZxUxpMly3Nf23QQ6NwA4UB8lAqjbqWtyvElEMAkg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.6.tgz",
+ "integrity": "sha512-VZQ57UsDGlX/5fFA7GkVPplZhHsVc+vuErWgdOiysI9Ksnw0Pbbd6pnPiR/mmJyKHgyIW0c7KT32gmhiF+cirg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/compat-data": "^7.24.6",
+ "@babel/helper-validator-option": "^7.24.6",
+ "browserslist": "^4.22.2",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true
+ },
+ "node_modules/@babel/helper-create-class-features-plugin": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.6.tgz",
+ "integrity": "sha512-djsosdPJVZE6Vsw3kk7IPRWethP94WHGOhQTc67SNXE0ZzMhHgALw8iGmYS0TD1bbMM0VDROy43od7/hN6WYcA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.24.6",
+ "@babel/helper-environment-visitor": "^7.24.6",
+ "@babel/helper-function-name": "^7.24.6",
+ "@babel/helper-member-expression-to-functions": "^7.24.6",
+ "@babel/helper-optimise-call-expression": "^7.24.6",
+ "@babel/helper-replace-supers": "^7.24.6",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.24.6",
+ "@babel/helper-split-export-declaration": "^7.24.6",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.6.tgz",
+ "integrity": "sha512-Y50Cg3k0LKLMjxdPjIl40SdJgMB85iXn27Vk/qbHZCFx/o5XO3PSnpi675h1KEmmDb6OFArfd5SCQEQ5Q4H88g==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-function-name": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.6.tgz",
+ "integrity": "sha512-xpeLqeeRkbxhnYimfr2PC+iA0Q7ljX/d1eZ9/inYbmfG2jpl8Lu3DyXvpOAnrS5kxkfOWJjioIMQsaMBXFI05w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/template": "^7.24.6",
+ "@babel/types": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-hoist-variables": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.6.tgz",
+ "integrity": "sha512-SF/EMrC3OD7dSta1bLJIlrsVxwtd0UpjRJqLno6125epQMJ/kyFmpTT4pbvPbdQHzCHg+biQ7Syo8lnDtbR+uA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-member-expression-to-functions": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.6.tgz",
+ "integrity": "sha512-OTsCufZTxDUsv2/eDXanw/mUZHWOxSbEmC3pP8cgjcy5rgeVPWWMStnv274DV60JtHxTk0adT0QrCzC4M9NWGg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.6.tgz",
+ "integrity": "sha512-a26dmxFJBF62rRO9mmpgrfTLsAuyHk4e1hKTUkD/fcMfynt8gvEKwQPQDVxWhca8dHoDck+55DFt42zV0QMw5g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.6.tgz",
+ "integrity": "sha512-Y/YMPm83mV2HJTbX1Qh2sjgjqcacvOlhbzdCCsSlblOKjSYmQqEbO6rUniWQyRo9ncyfjT8hnUjlG06RXDEmcA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.24.6",
+ "@babel/helper-module-imports": "^7.24.6",
+ "@babel/helper-simple-access": "^7.24.6",
+ "@babel/helper-split-export-declaration": "^7.24.6",
+ "@babel/helper-validator-identifier": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-optimise-call-expression": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.6.tgz",
+ "integrity": "sha512-3SFDJRbx7KuPRl8XDUr8O7GAEB8iGyWPjLKJh/ywP/Iy9WOmEfMrsWbaZpvBu2HSYn4KQygIsz0O7m8y10ncMA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.6.tgz",
+ "integrity": "sha512-MZG/JcWfxybKwsA9N9PmtF2lOSFSEMVCpIRrbxccZFLJPrJciJdG/UhSh5W96GEteJI2ARqm5UAHxISwRDLSNg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-replace-supers": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.6.tgz",
+ "integrity": "sha512-mRhfPwDqDpba8o1F8ESxsEkJMQkUF8ZIWrAc0FtWhxnjfextxMWxr22RtFizxxSYLjVHDeMgVsRq8BBZR2ikJQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.24.6",
+ "@babel/helper-member-expression-to-functions": "^7.24.6",
+ "@babel/helper-optimise-call-expression": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-simple-access": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.6.tgz",
+ "integrity": "sha512-nZzcMMD4ZhmB35MOOzQuiGO5RzL6tJbsT37Zx8M5L/i9KSrukGXWTjLe1knIbb/RmxoJE9GON9soq0c0VEMM5g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.6.tgz",
+ "integrity": "sha512-jhbbkK3IUKc4T43WadP96a27oYti9gEf1LdyGSP2rHGH77kwLwfhO7TgwnWvxxQVmke0ImmCSS47vcuxEMGD3Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.6.tgz",
+ "integrity": "sha512-CvLSkwXGWnYlF9+J3iZUvwgAxKiYzK3BWuo+mLzD/MDGOZDj7Gq8+hqaOkMxmJwmlv0iu86uH5fdADd9Hxkymw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.6.tgz",
+ "integrity": "sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
- "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz",
+ "integrity": "sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.6.tgz",
+ "integrity": "sha512-Jktc8KkF3zIkePb48QO+IapbXlSapOW9S+ogZZkcO6bABgYAxtZcjZ/O005111YLf+j4M84uEgwYoidDkXbCkQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.6.tgz",
+ "integrity": "sha512-V2PI+NqnyFu1i0GyTd/O/cTpxzQCYioSkUIRmgo7gFEHKKCg5w46+r/A6WeUR1+P3TeQ49dspGPNd/E3n9AnnA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/template": "^7.24.6",
+ "@babel/types": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/highlight": {
- "version": "7.24.2",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz",
- "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==",
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.6.tgz",
+ "integrity": "sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==",
"dev": true,
"dependencies": {
- "@babel/helper-validator-identifier": "^7.22.20",
+ "@babel/helper-validator-identifier": "^7.24.6",
"chalk": "^2.4.2",
"js-tokens": "^4.0.0",
"picocolors": "^1.0.0"
@@ -846,9 +1208,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.24.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz",
- "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==",
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.6.tgz",
+ "integrity": "sha512-eNZXdfU35nJC2h24RznROuOpO94h6x8sg9ju0tT9biNtLZ2vuP8SduLqqV+/8+cebSLV9SJEAN5Z3zQbJG/M+Q==",
"dev": true,
"bin": {
"parser": "bin/babel-parser.js"
@@ -857,6 +1219,103 @@
"node": ">=6.0.0"
}
},
+ "node_modules/@babel/plugin-syntax-jsx": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.6.tgz",
+ "integrity": "sha512-lWfvAIFNWMlCsU0DRUun2GpFwZdGTukLaHJqRh1JRb80NdAP5Sb1HDHB5X9P9OtgZHQl089UzQkpYlBq2VTPRw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-typescript": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.6.tgz",
+ "integrity": "sha512-TzCtxGgVTEJWWwcYwQhCIQ6WaKlo80/B+Onsk4RRCcYqpYGFcG9etPW94VToGte5AAcxRrhjPUFvUS3Y2qKi4A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.24.6.tgz",
+ "integrity": "sha512-pCtPHhpRZHfwdA5G1Gpk5mIzMA99hv0R8S/Ket50Rw+S+8hkt3wBWqdqHaPw0CuUYxdshUgsPiLQ5fAs4ASMhw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.24.6",
+ "@babel/helper-module-imports": "^7.24.6",
+ "@babel/helper-plugin-utils": "^7.24.6",
+ "@babel/plugin-syntax-jsx": "^7.24.6",
+ "@babel/types": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx-self": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.6.tgz",
+ "integrity": "sha512-FfZfHXtQ5jYPQsCRyLpOv2GeLIIJhs8aydpNh39vRDjhD411XcfWDni5i7OjP/Rs8GAtTn7sWFFELJSHqkIxYg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx-source": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.6.tgz",
+ "integrity": "sha512-BQTBCXmFRreU3oTUXcGKuPOfXAGb1liNY4AvvFKsOBAJ89RKcTsIrSsnMYkj59fNa66OFKnSa4AJZfy5Y4B9WA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-typescript": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.6.tgz",
+ "integrity": "sha512-H0i+hDLmaYYSt6KU9cZE0gb3Cbssa/oxWis7PX4ofQzbvsfix9Lbh8SRk7LCPDlLWJHUiFeHU0qRRpF/4Zv7mQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.24.6",
+ "@babel/helper-create-class-features-plugin": "^7.24.6",
+ "@babel/helper-plugin-utils": "^7.24.6",
+ "@babel/plugin-syntax-typescript": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
"node_modules/@babel/runtime": {
"version": "7.24.4",
"dev": true,
@@ -868,6 +1327,64 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/template": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.6.tgz",
+ "integrity": "sha512-3vgazJlLwNXi9jhrR1ef8qiB65L1RK90+lEQwv4OxveHnqC3BfmnHdgySwRLzf6akhlOYenT+b7AfWq+a//AHw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.24.6",
+ "@babel/parser": "^7.24.6",
+ "@babel/types": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.6.tgz",
+ "integrity": "sha512-OsNjaJwT9Zn8ozxcfoBc+RaHdj3gFmCmYoQLUII1o6ZrUwku0BMg80FoOTPx+Gi6XhcQxAYE4xyjPTo4SxEQqw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.24.6",
+ "@babel/generator": "^7.24.6",
+ "@babel/helper-environment-visitor": "^7.24.6",
+ "@babel/helper-function-name": "^7.24.6",
+ "@babel/helper-hoist-variables": "^7.24.6",
+ "@babel/helper-split-export-declaration": "^7.24.6",
+ "@babel/parser": "^7.24.6",
+ "@babel/types": "^7.24.6",
+ "debug": "^4.3.1",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.6.tgz",
+ "integrity": "sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.24.6",
+ "@babel/helper-validator-identifier": "^7.24.6",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@cspotcode/source-map-support": {
"version": "0.8.1",
"dev": true,
@@ -2342,6 +2859,18 @@
"node": ">=10"
}
},
+ "node_modules/@tanstack/history": {
+ "version": "1.31.16",
+ "resolved": "https://registry.npmjs.org/@tanstack/history/-/history-1.31.16.tgz",
+ "integrity": "sha512-rahAZXlR879P7dngDH7BZwGYiODA9D5Hqo6nUHn9GAURcqZU5IW0ZiT54dPtV5EPES7muZZmknReYueDHs7FFQ==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ }
+ },
"node_modules/@tanstack/query-core": {
"version": "5.40.0",
"resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.40.0.tgz",
@@ -2366,6 +2895,125 @@
"react": "^18.0.0"
}
},
+ "node_modules/@tanstack/react-router": {
+ "version": "1.34.7",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-router/-/react-router-1.34.7.tgz",
+ "integrity": "sha512-iS3cFdoKCobYIO4I2I6gw52tylY0kep+MXra3sblFNgKL11kKsfiaO4cYNRqiNg98DEJjboGq+KTXopDMhr07A==",
+ "dependencies": {
+ "@tanstack/history": "1.31.16",
+ "@tanstack/react-store": "^0.2.1",
+ "tiny-invariant": "^1.3.1",
+ "tiny-warning": "^1.0.3"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
+ "node_modules/@tanstack/react-store": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.2.1.tgz",
+ "integrity": "sha512-tEbMCQjbeVw9KOP/202LfqZMSNAVi6zYkkp1kBom8nFuMx/965Hzes3+6G6b/comCwVxoJU8Gg9IrcF8yRPthw==",
+ "dependencies": {
+ "@tanstack/store": "0.1.3",
+ "use-sync-external-store": "^1.2.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ },
+ "peerDependencies": {
+ "react": ">=16",
+ "react-dom": ">=16"
+ }
+ },
+ "node_modules/@tanstack/router-devtools": {
+ "version": "1.34.7",
+ "resolved": "https://registry.npmjs.org/@tanstack/router-devtools/-/router-devtools-1.34.7.tgz",
+ "integrity": "sha512-+RBefI2TtCOkt/YEAQwXEliVi+ICn5GlhKhRarpbKrFaOnRXlk1mVHkFbEtpcoXFyYl/ep6jnTsudikV1I+ZpQ==",
+ "dev": true,
+ "dependencies": {
+ "clsx": "^2.1.0",
+ "date-fns": "^2.29.1",
+ "goober": "^2.1.14"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ },
+ "peerDependencies": {
+ "@tanstack/react-router": "^1.34.7",
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
+ "node_modules/@tanstack/router-generator": {
+ "version": "1.34.8",
+ "resolved": "https://registry.npmjs.org/@tanstack/router-generator/-/router-generator-1.34.8.tgz",
+ "integrity": "sha512-xi0otLis4zQ8lYVgvNfUTDHKnboL2swXpHcLiG+bKYDihPnw4r3qRO0ULGsqV1n/w6yZAaQ2tZwvZ7Zf0G2pPg==",
+ "dev": true,
+ "dependencies": {
+ "prettier": "^3.1.1",
+ "zod": "^3.22.4"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ }
+ },
+ "node_modules/@tanstack/router-vite-plugin": {
+ "version": "1.34.8",
+ "resolved": "https://registry.npmjs.org/@tanstack/router-vite-plugin/-/router-vite-plugin-1.34.8.tgz",
+ "integrity": "sha512-FZRl7GVda/1NMEbnalXhYI2e9Qe8MduxXRNZ2cJMYgPR/FxMiao+XQAN+mTD4OoMxJ8gKY+IshgRxCc3xwu6bA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.23.7",
+ "@babel/generator": "^7.23.6",
+ "@babel/plugin-syntax-jsx": "^7.24.1",
+ "@babel/plugin-syntax-typescript": "^7.24.1",
+ "@babel/plugin-transform-react-jsx": "^7.23.4",
+ "@babel/plugin-transform-typescript": "^7.24.1",
+ "@babel/template": "^7.24.0",
+ "@babel/traverse": "^7.24.1",
+ "@babel/types": "^7.24.0",
+ "@tanstack/router-generator": "1.34.8",
+ "@types/babel__core": "^7.20.5",
+ "@types/babel__generator": "^7.6.8",
+ "@types/babel__template": "^7.4.4",
+ "@types/babel__traverse": "^7.20.5",
+ "@vitejs/plugin-react": "^4.2.1",
+ "zod": "^3.22.4"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ }
+ },
+ "node_modules/@tanstack/store": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@tanstack/store/-/store-0.1.3.tgz",
+ "integrity": "sha512-GnolmC8Fr4mvsHE1fGQmR3Nm0eBO3KnZjDU0a+P3TeQNM/dDscFGxtA7p31NplQNW3KwBw4t1RVFmz0VeKLxcw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ }
+ },
"node_modules/@tokenizer/token": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz",
@@ -2400,6 +3048,47 @@
"optional": true,
"peer": true
},
+ "node_modules/@types/babel__core": {
+ "version": "7.20.5",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
+ "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/parser": "^7.20.7",
+ "@babel/types": "^7.20.7",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "node_modules/@types/babel__generator": {
+ "version": "7.6.8",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz",
+ "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__template": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
+ "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__traverse": {
+ "version": "7.20.6",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz",
+ "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.20.7"
+ }
+ },
"node_modules/@types/body-parser": {
"version": "1.19.5",
"dev": true,
@@ -2782,6 +3471,25 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/@vitejs/plugin-react": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.0.tgz",
+ "integrity": "sha512-KcEbMsn4Dpk+LIbHMj7gDPRKaTMStxxWRkRmxsg/jVdFdJCZWt1SchZcf0M4t8lIKdwwMsEyzhrcOXRrDPtOBw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.24.5",
+ "@babel/plugin-transform-react-jsx-self": "^7.24.5",
+ "@babel/plugin-transform-react-jsx-source": "^7.24.1",
+ "@types/babel__core": "^7.20.5",
+ "react-refresh": "^0.14.2"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "vite": "^4.2.0 || ^5.0.0"
+ }
+ },
"node_modules/@vitejs/plugin-react-swc": {
"version": "3.5.0",
"dev": true,
@@ -4048,6 +4756,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/clsx": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
+ "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/color-convert": {
"version": "2.0.1",
"dev": true,
@@ -4170,6 +4887,12 @@
"node": ">= 0.6"
}
},
+ "node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true
+ },
"node_modules/cookie": {
"version": "0.6.0",
"license": "MIT",
@@ -6258,6 +6981,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/get-amd-module-type": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/get-amd-module-type/-/get-amd-module-type-5.0.1.tgz",
@@ -6492,6 +7224,15 @@
"node": ">=0.6.0"
}
},
+ "node_modules/goober": {
+ "version": "2.1.14",
+ "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.14.tgz",
+ "integrity": "sha512-4UpC0NdGyAFqLNPnhCT2iHpza2q+RAY3GV85a/mRPdzyPQMsj0KmMMuetdIkzWRbJ+Hgau1EZztq8ImmiMGhsg==",
+ "dev": true,
+ "peerDependencies": {
+ "csstype": "^3.0.10"
+ }
+ },
"node_modules/gopd": {
"version": "1.0.1",
"license": "MIT",
@@ -7376,6 +8117,18 @@
"js-yaml": "bin/js-yaml.js"
}
},
+ "node_modules/jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true,
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/json-buffer": {
"version": "3.0.1",
"dev": true,
@@ -7544,6 +8297,18 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true,
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/jsx-ast-utils": {
"version": "3.3.5",
"dev": true,
@@ -9084,6 +9849,21 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/prettier": {
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz",
+ "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==",
+ "dev": true,
+ "bin": {
+ "prettier": "bin/prettier.cjs"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
"node_modules/process-nextick-args": {
"version": "2.0.1",
"dev": true,
@@ -9251,6 +10031,15 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/react-refresh": {
+ "version": "0.14.2",
+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz",
+ "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/read-cache": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
@@ -10911,6 +11700,16 @@
"next-tick": "1"
}
},
+ "node_modules/tiny-invariant": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz",
+ "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg=="
+ },
+ "node_modules/tiny-warning": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
+ "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
+ },
"node_modules/tmp": {
"version": "0.0.33",
"dev": true,
@@ -10928,6 +11727,15 @@
"integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
"dev": true
},
+ "node_modules/to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/to-regex-range": {
"version": "5.0.1",
"dev": true,
@@ -11512,6 +12320,14 @@
"node": ">=0.4.x"
}
},
+ "node_modules/use-sync-external-store": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz",
+ "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
"node_modules/util": {
"version": "0.12.5",
"resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
@@ -12191,10 +13007,13 @@
"version": "0.0.0",
"dependencies": {
"@tanstack/react-query": "^5.40.0",
+ "@tanstack/react-router": "^1.34.7",
"react": "18.2.0",
"react-dom": "18.2.0"
},
"devDependencies": {
+ "@tanstack/router-devtools": "^1.34.7",
+ "@tanstack/router-vite-plugin": "^1.34.8",
"@types/react": "18.2.66",
"@types/react-dom": "18.2.22",
"@vitejs/plugin-react-swc": "3.5.0",
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 5bfd153..b9bf069 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -10,10 +10,13 @@
},
"dependencies": {
"@tanstack/react-query": "^5.40.0",
+ "@tanstack/react-router": "^1.34.7",
"react": "18.2.0",
"react-dom": "18.2.0"
},
"devDependencies": {
+ "@tanstack/router-devtools": "^1.34.7",
+ "@tanstack/router-vite-plugin": "^1.34.8",
"@types/react": "18.2.66",
"@types/react-dom": "18.2.22",
"@vitejs/plugin-react-swc": "3.5.0",
diff --git a/packages/ui/src/App.css b/packages/ui/src/App.css
deleted file mode 100644
index b9d355d..0000000
--- a/packages/ui/src/App.css
+++ /dev/null
@@ -1,42 +0,0 @@
-#root {
- max-width: 1280px;
- margin: 0 auto;
- padding: 2rem;
- text-align: center;
-}
-
-.logo {
- height: 6em;
- padding: 1.5em;
- will-change: filter;
- transition: filter 300ms;
-}
-.logo:hover {
- filter: drop-shadow(0 0 2em #646cffaa);
-}
-.logo.react:hover {
- filter: drop-shadow(0 0 2em #61dafbaa);
-}
-
-@keyframes logo-spin {
- from {
- transform: rotate(0deg);
- }
- to {
- transform: rotate(360deg);
- }
-}
-
-@media (prefers-reduced-motion: no-preference) {
- a:nth-of-type(2) .logo {
- animation: logo-spin infinite 20s linear;
- }
-}
-
-.card {
- padding: 2em;
-}
-
-.read-the-docs {
- color: #888;
-}
diff --git a/packages/ui/src/App.tsx b/packages/ui/src/App.tsx
index 518ef30..b9cd8a1 100644
--- a/packages/ui/src/App.tsx
+++ b/packages/ui/src/App.tsx
@@ -1,32 +1,8 @@
-import reactLogo from "@/assets/react.svg";
-import { Button } from "@/components";
-import { useState } from "react";
-import "./App.css";
-import viteLogo from "/vite.svg";
+import { router } from "@/shared/config/tanstackRouter";
+import { RouterProvider } from "@tanstack/react-router";
function App() {
- const [count, setCount] = useState(0);
-
- return (
- <>
-
- Vite + React
-
-
-
- Edit src/App.tsx
and save to test HMR
-
-
- Click on the Vite and React logos to learn more
- >
- );
+ return ;
}
export default App;
diff --git a/packages/ui/src/assets/react.svg b/packages/ui/src/assets/react.svg
deleted file mode 100644
index 6c87de9..0000000
--- a/packages/ui/src/assets/react.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/packages/ui/src/layout.tsx b/packages/ui/src/layout.tsx
new file mode 100644
index 0000000..fb54410
--- /dev/null
+++ b/packages/ui/src/layout.tsx
@@ -0,0 +1,18 @@
+import { Link } from "@tanstack/react-router";
+
+export default function Layout({ children }: { children: React.ReactNode }) {
+ return (
+
+
+
+ Home
+ {" "}
+
+ About
+
+
+
+
{children}
+
+ );
+}
diff --git a/packages/ui/src/routeTree.gen.ts b/packages/ui/src/routeTree.gen.ts
new file mode 100644
index 0000000..0edc01b
--- /dev/null
+++ b/packages/ui/src/routeTree.gen.ts
@@ -0,0 +1,82 @@
+/* prettier-ignore-start */
+
+/* eslint-disable */
+
+// @ts-nocheck
+
+// noinspection JSUnusedGlobalSymbols
+
+// This file is auto-generated by TanStack Router
+
+import { createFileRoute } from '@tanstack/react-router'
+
+// Import Routes
+
+import { Route as rootRoute } from './routes/__root'
+
+// Create Virtual Routes
+
+const AboutLazyImport = createFileRoute('/about')()
+const IndexLazyImport = createFileRoute('/')()
+
+// Create/Update Routes
+
+const AboutLazyRoute = AboutLazyImport.update({
+ path: '/about',
+ getParentRoute: () => rootRoute,
+} as any).lazy(() => import('./routes/about.lazy').then((d) => d.Route))
+
+const IndexLazyRoute = IndexLazyImport.update({
+ path: '/',
+ getParentRoute: () => rootRoute,
+} as any).lazy(() => import('./routes/index.lazy').then((d) => d.Route))
+
+// Populate the FileRoutesByPath interface
+
+declare module '@tanstack/react-router' {
+ interface FileRoutesByPath {
+ '/': {
+ id: '/'
+ path: '/'
+ fullPath: '/'
+ preLoaderRoute: typeof IndexLazyImport
+ parentRoute: typeof rootRoute
+ }
+ '/about': {
+ id: '/about'
+ path: '/about'
+ fullPath: '/about'
+ preLoaderRoute: typeof AboutLazyImport
+ parentRoute: typeof rootRoute
+ }
+ }
+}
+
+// Create and export the route tree
+
+export const routeTree = rootRoute.addChildren({
+ IndexLazyRoute,
+ AboutLazyRoute,
+})
+
+/* prettier-ignore-end */
+
+/* ROUTE_MANIFEST_START
+{
+ "routes": {
+ "__root__": {
+ "filePath": "__root.tsx",
+ "children": [
+ "/",
+ "/about"
+ ]
+ },
+ "/": {
+ "filePath": "index.lazy.tsx"
+ },
+ "/about": {
+ "filePath": "about.lazy.tsx"
+ }
+ }
+}
+ROUTE_MANIFEST_END */
diff --git a/packages/ui/src/routes/__root.tsx b/packages/ui/src/routes/__root.tsx
new file mode 100644
index 0000000..60ab5c6
--- /dev/null
+++ b/packages/ui/src/routes/__root.tsx
@@ -0,0 +1,20 @@
+import { createRootRoute, Outlet } from "@tanstack/react-router";
+import React from "react";
+
+const TanStackRouterDevtools =
+ process.env.NODE_ENV === "production"
+ ? () => null // Render nothing in production
+ : React.lazy(() =>
+ import("@tanstack/router-devtools").then((res) => ({
+ default: res.TanStackRouterDevtools,
+ }))
+ );
+
+export const Route = createRootRoute({
+ component: () => (
+ <>
+
+
+ >
+ ),
+});
diff --git a/packages/ui/src/routes/about.lazy.tsx b/packages/ui/src/routes/about.lazy.tsx
new file mode 100644
index 0000000..89b5e8f
--- /dev/null
+++ b/packages/ui/src/routes/about.lazy.tsx
@@ -0,0 +1,10 @@
+import Layout from "@/layout";
+import { createLazyFileRoute } from "@tanstack/react-router";
+
+export const Route = createLazyFileRoute("/about")({
+ component: About,
+});
+
+function About() {
+ return Hello /about!;
+}
diff --git a/packages/ui/src/routes/index.lazy.tsx b/packages/ui/src/routes/index.lazy.tsx
new file mode 100644
index 0000000..339f3d9
--- /dev/null
+++ b/packages/ui/src/routes/index.lazy.tsx
@@ -0,0 +1,14 @@
+import Layout from "@/layout";
+import { createLazyFileRoute } from "@tanstack/react-router";
+
+export const Route = createLazyFileRoute("/")({
+ component: Index,
+});
+
+function Index() {
+ return (
+
+ Welcome Home!
+
+ );
+}
diff --git a/packages/ui/src/shared/config/tanstackRouter.ts b/packages/ui/src/shared/config/tanstackRouter.ts
new file mode 100644
index 0000000..8d3c40d
--- /dev/null
+++ b/packages/ui/src/shared/config/tanstackRouter.ts
@@ -0,0 +1,10 @@
+import { routeTree } from "@/routeTree.gen";
+import { createRouter } from "@tanstack/react-router";
+
+export const router = createRouter({ routeTree });
+
+declare module "@tanstack/react-router" {
+ interface Register {
+ router: typeof router;
+ }
+}
diff --git a/packages/ui/vite.config.ts b/packages/ui/vite.config.ts
index 58b6fdd..8d4a087 100644
--- a/packages/ui/vite.config.ts
+++ b/packages/ui/vite.config.ts
@@ -1,12 +1,13 @@
-import { defineConfig } from "vite";
+import { TanStackRouterVite } from "@tanstack/router-vite-plugin";
import react from "@vitejs/plugin-react-swc";
-import tsconfigPaths from "vite-tsconfig-paths";
import path from "path";
+import { defineConfig } from "vite";
+import tsconfigPaths from "vite-tsconfig-paths";
// https://vitejs.dev/config/
export default defineConfig({
base: "./",
- plugins: [react(), tsconfigPaths()],
+ plugins: [react(), tsconfigPaths(), TanStackRouterVite()],
resolve: {
alias: {
"@": path.resolve(__dirname, "./src"),
From 739b93e1e9244d699a702842ac21ef2a08bcfc18 Mon Sep 17 00:00:00 2001
From: MartinC <59508264+martinc1991@users.noreply.github.com>
Date: Mon, 3 Jun 2024 10:53:57 -0300
Subject: [PATCH 3/4] Add @tanstack/react-router 2
---
packages/ui/src/layout.tsx | 6 +--
packages/ui/src/routeTree.gen.ts | 62 ++++++++++++---------------
packages/ui/src/routes/about.lazy.tsx | 10 -----
packages/ui/src/routes/about.tsx | 16 +++++++
packages/ui/src/routes/index.lazy.tsx | 14 ------
packages/ui/src/routes/index.tsx | 16 +++++++
6 files changed, 62 insertions(+), 62 deletions(-)
delete mode 100644 packages/ui/src/routes/about.lazy.tsx
create mode 100644 packages/ui/src/routes/about.tsx
delete mode 100644 packages/ui/src/routes/index.lazy.tsx
create mode 100644 packages/ui/src/routes/index.tsx
diff --git a/packages/ui/src/layout.tsx b/packages/ui/src/layout.tsx
index fb54410..28c3e74 100644
--- a/packages/ui/src/layout.tsx
+++ b/packages/ui/src/layout.tsx
@@ -2,17 +2,17 @@ import { Link } from "@tanstack/react-router";
export default function Layout({ children }: { children: React.ReactNode }) {
return (
-
+
Home
- {" "}
+
About
-
{children}
+
{children}
);
}
diff --git a/packages/ui/src/routeTree.gen.ts b/packages/ui/src/routeTree.gen.ts
index 0edc01b..e1a008c 100644
--- a/packages/ui/src/routeTree.gen.ts
+++ b/packages/ui/src/routeTree.gen.ts
@@ -8,56 +8,48 @@
// This file is auto-generated by TanStack Router
-import { createFileRoute } from '@tanstack/react-router'
-
// Import Routes
-import { Route as rootRoute } from './routes/__root'
-
-// Create Virtual Routes
-
-const AboutLazyImport = createFileRoute('/about')()
-const IndexLazyImport = createFileRoute('/')()
+import { Route as rootRoute } from "./routes/__root";
+import { Route as AboutImport } from "./routes/about";
+import { Route as IndexImport } from "./routes/index";
// Create/Update Routes
-const AboutLazyRoute = AboutLazyImport.update({
- path: '/about',
+const AboutRoute = AboutImport.update({
+ path: "/about",
getParentRoute: () => rootRoute,
-} as any).lazy(() => import('./routes/about.lazy').then((d) => d.Route))
+} as any);
-const IndexLazyRoute = IndexLazyImport.update({
- path: '/',
+const IndexRoute = IndexImport.update({
+ path: "/",
getParentRoute: () => rootRoute,
-} as any).lazy(() => import('./routes/index.lazy').then((d) => d.Route))
+} as any);
// Populate the FileRoutesByPath interface
-declare module '@tanstack/react-router' {
+declare module "@tanstack/react-router" {
interface FileRoutesByPath {
- '/': {
- id: '/'
- path: '/'
- fullPath: '/'
- preLoaderRoute: typeof IndexLazyImport
- parentRoute: typeof rootRoute
- }
- '/about': {
- id: '/about'
- path: '/about'
- fullPath: '/about'
- preLoaderRoute: typeof AboutLazyImport
- parentRoute: typeof rootRoute
- }
+ "/": {
+ id: "/";
+ path: "/";
+ fullPath: "/";
+ preLoaderRoute: typeof IndexImport;
+ parentRoute: typeof rootRoute;
+ };
+ "/about": {
+ id: "/about";
+ path: "/about";
+ fullPath: "/about";
+ preLoaderRoute: typeof AboutImport;
+ parentRoute: typeof rootRoute;
+ };
}
}
// Create and export the route tree
-export const routeTree = rootRoute.addChildren({
- IndexLazyRoute,
- AboutLazyRoute,
-})
+export const routeTree = rootRoute.addChildren({ IndexRoute, AboutRoute });
/* prettier-ignore-end */
@@ -72,10 +64,10 @@ export const routeTree = rootRoute.addChildren({
]
},
"/": {
- "filePath": "index.lazy.tsx"
+ "filePath": "index.tsx"
},
"/about": {
- "filePath": "about.lazy.tsx"
+ "filePath": "about.tsx"
}
}
}
diff --git a/packages/ui/src/routes/about.lazy.tsx b/packages/ui/src/routes/about.lazy.tsx
deleted file mode 100644
index 89b5e8f..0000000
--- a/packages/ui/src/routes/about.lazy.tsx
+++ /dev/null
@@ -1,10 +0,0 @@
-import Layout from "@/layout";
-import { createLazyFileRoute } from "@tanstack/react-router";
-
-export const Route = createLazyFileRoute("/about")({
- component: About,
-});
-
-function About() {
- return
Hello /about!;
-}
diff --git a/packages/ui/src/routes/about.tsx b/packages/ui/src/routes/about.tsx
new file mode 100644
index 0000000..5dfd4d4
--- /dev/null
+++ b/packages/ui/src/routes/about.tsx
@@ -0,0 +1,16 @@
+import Layout from "@/layout";
+import { createFileRoute } from "@tanstack/react-router";
+
+export const Route = createFileRoute("/about")({
+ component: About,
+});
+
+function About() {
+ return (
+
+
+
About Page
+
+
+ );
+}
diff --git a/packages/ui/src/routes/index.lazy.tsx b/packages/ui/src/routes/index.lazy.tsx
deleted file mode 100644
index 339f3d9..0000000
--- a/packages/ui/src/routes/index.lazy.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import Layout from "@/layout";
-import { createLazyFileRoute } from "@tanstack/react-router";
-
-export const Route = createLazyFileRoute("/")({
- component: Index,
-});
-
-function Index() {
- return (
-
- Welcome Home!
-
- );
-}
diff --git a/packages/ui/src/routes/index.tsx b/packages/ui/src/routes/index.tsx
new file mode 100644
index 0000000..a60359a
--- /dev/null
+++ b/packages/ui/src/routes/index.tsx
@@ -0,0 +1,16 @@
+import Layout from "@/layout";
+import { createFileRoute } from "@tanstack/react-router";
+
+export const Route = createFileRoute("/")({
+ component: Index,
+});
+
+function Index() {
+ return (
+
+
+
Home Page
+
+
+ );
+}
From 85b732b66ebb29e47c1f01bac436e39c26680f38 Mon Sep 17 00:00:00 2001
From: MartinC <59508264+martinc1991@users.noreply.github.com>
Date: Mon, 3 Jun 2024 13:05:48 -0300
Subject: [PATCH 4/4] Put layout on _root layout
---
packages/ui/src/layout.tsx | 18 ------------------
packages/ui/src/routeTree.gen.ts | 24 ++++++++++++------------
packages/ui/src/routes/__root.tsx | 19 +++++++++++++++----
packages/ui/src/routes/about.tsx | 16 ----------------
packages/ui/src/routes/about/index.tsx | 13 +++++++++++++
packages/ui/src/routes/index.tsx | 9 +++------
6 files changed, 43 insertions(+), 56 deletions(-)
delete mode 100644 packages/ui/src/layout.tsx
delete mode 100644 packages/ui/src/routes/about.tsx
create mode 100644 packages/ui/src/routes/about/index.tsx
diff --git a/packages/ui/src/layout.tsx b/packages/ui/src/layout.tsx
deleted file mode 100644
index 28c3e74..0000000
--- a/packages/ui/src/layout.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import { Link } from "@tanstack/react-router";
-
-export default function Layout({ children }: { children: React.ReactNode }) {
- return (
-
-
-
- Home
-
-
- About
-
-
-
-
{children}
-
- );
-}
diff --git a/packages/ui/src/routeTree.gen.ts b/packages/ui/src/routeTree.gen.ts
index e1a008c..7a2290c 100644
--- a/packages/ui/src/routeTree.gen.ts
+++ b/packages/ui/src/routeTree.gen.ts
@@ -11,18 +11,18 @@
// Import Routes
import { Route as rootRoute } from "./routes/__root";
-import { Route as AboutImport } from "./routes/about";
import { Route as IndexImport } from "./routes/index";
+import { Route as AboutIndexImport } from "./routes/about/index";
// Create/Update Routes
-const AboutRoute = AboutImport.update({
- path: "/about",
+const IndexRoute = IndexImport.update({
+ path: "/",
getParentRoute: () => rootRoute,
} as any);
-const IndexRoute = IndexImport.update({
- path: "/",
+const AboutIndexRoute = AboutIndexImport.update({
+ path: "/about/",
getParentRoute: () => rootRoute,
} as any);
@@ -37,11 +37,11 @@ declare module "@tanstack/react-router" {
preLoaderRoute: typeof IndexImport;
parentRoute: typeof rootRoute;
};
- "/about": {
- id: "/about";
+ "/about/": {
+ id: "/about/";
path: "/about";
fullPath: "/about";
- preLoaderRoute: typeof AboutImport;
+ preLoaderRoute: typeof AboutIndexImport;
parentRoute: typeof rootRoute;
};
}
@@ -49,7 +49,7 @@ declare module "@tanstack/react-router" {
// Create and export the route tree
-export const routeTree = rootRoute.addChildren({ IndexRoute, AboutRoute });
+export const routeTree = rootRoute.addChildren({ IndexRoute, AboutIndexRoute });
/* prettier-ignore-end */
@@ -60,14 +60,14 @@ export const routeTree = rootRoute.addChildren({ IndexRoute, AboutRoute });
"filePath": "__root.tsx",
"children": [
"/",
- "/about"
+ "/about/"
]
},
"/": {
"filePath": "index.tsx"
},
- "/about": {
- "filePath": "about.tsx"
+ "/about/": {
+ "filePath": "about/index.tsx"
}
}
}
diff --git a/packages/ui/src/routes/__root.tsx b/packages/ui/src/routes/__root.tsx
index 60ab5c6..d17541f 100644
--- a/packages/ui/src/routes/__root.tsx
+++ b/packages/ui/src/routes/__root.tsx
@@ -1,4 +1,4 @@
-import { createRootRoute, Outlet } from "@tanstack/react-router";
+import { createRootRoute, Link, Outlet } from "@tanstack/react-router";
import React from "react";
const TanStackRouterDevtools =
@@ -12,9 +12,20 @@ const TanStackRouterDevtools =
export const Route = createRootRoute({
component: () => (
- <>
-
+
+
+
+ Home
+
+
+ About
+
+
+
+
+
+
- >
+
),
});
diff --git a/packages/ui/src/routes/about.tsx b/packages/ui/src/routes/about.tsx
deleted file mode 100644
index 5dfd4d4..0000000
--- a/packages/ui/src/routes/about.tsx
+++ /dev/null
@@ -1,16 +0,0 @@
-import Layout from "@/layout";
-import { createFileRoute } from "@tanstack/react-router";
-
-export const Route = createFileRoute("/about")({
- component: About,
-});
-
-function About() {
- return (
-
-
-
About Page
-
-
- );
-}
diff --git a/packages/ui/src/routes/about/index.tsx b/packages/ui/src/routes/about/index.tsx
new file mode 100644
index 0000000..996cdf7
--- /dev/null
+++ b/packages/ui/src/routes/about/index.tsx
@@ -0,0 +1,13 @@
+import { createFileRoute } from "@tanstack/react-router";
+
+export const Route = createFileRoute("/about/")({
+ component: About,
+});
+
+function About() {
+ return (
+
+
About Page
+
+ );
+}
diff --git a/packages/ui/src/routes/index.tsx b/packages/ui/src/routes/index.tsx
index a60359a..08e9105 100644
--- a/packages/ui/src/routes/index.tsx
+++ b/packages/ui/src/routes/index.tsx
@@ -1,4 +1,3 @@
-import Layout from "@/layout";
import { createFileRoute } from "@tanstack/react-router";
export const Route = createFileRoute("/")({
@@ -7,10 +6,8 @@ export const Route = createFileRoute("/")({
function Index() {
return (
-
-
-
Home Page
-
-
+
+
Home Page
+
);
}