feat: Implement a new _auth layout with a dashboard map, refactor the login form, and add logout functionality.
This commit is contained in:
@@ -6,4 +6,4 @@ APIKEY_MAPS="AIzaSyAwfOShBqkBcS46WqmlsIVWQJ8gpdOPk_4"
|
|||||||
SUPABASE_URL="https://qsssikzgwomudkwfmgad.supabase.co"
|
SUPABASE_URL="https://qsssikzgwomudkwfmgad.supabase.co"
|
||||||
SUPABASE_KEY="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InFzc3Npa3pnd29tdWRrd2ZtZ2FkIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTQzMjY1NTQsImV4cCI6MjA2OTkwMjU1NH0.BTSscdTcPP1GVmMB-H5caLpWsfuAw1V6mXiqogF8TjU"
|
SUPABASE_KEY="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InFzc3Npa3pnd29tdWRrd2ZtZ2FkIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTQzMjY1NTQsImV4cCI6MjA2OTkwMjU1NH0.BTSscdTcPP1GVmMB-H5caLpWsfuAw1V6mXiqogF8TjU"
|
||||||
VITE_LOGIN_USER="test@test.com"
|
VITE_LOGIN_USER="test@test.com"
|
||||||
VITE_PASSWORD_USER=""
|
VITE_PASSWORD_USER="test"
|
||||||
@@ -31,15 +31,16 @@
|
|||||||
"react": "^19.2.4",
|
"react": "^19.2.4",
|
||||||
"react-dom": "^19.2.4",
|
"react-dom": "^19.2.4",
|
||||||
"tailwindcss": "^4.2.1",
|
"tailwindcss": "^4.2.1",
|
||||||
"tw-animate-css": "^1.4.0"
|
"tw-animate-css": "^1.4.0",
|
||||||
|
"zod": "^4.3.6"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "^2.4.6",
|
"@biomejs/biome": "^2.4.6",
|
||||||
"@inlang/paraglide-js": "^2.13.1",
|
"@inlang/paraglide-js": "^2.13.1",
|
||||||
"@tanstack/devtools-vite": "^0.5.5",
|
"@tanstack/devtools-vite": "^0.5.5",
|
||||||
"@tanstack/react-devtools": "^0.9.13",
|
"@tanstack/react-devtools": "^0.9.13",
|
||||||
"@tanstack/react-router-devtools": "^1.166.7",
|
|
||||||
"@tanstack/react-query-devtools": "^5.91.3",
|
"@tanstack/react-query-devtools": "^5.91.3",
|
||||||
|
"@tanstack/react-router-devtools": "^1.166.7",
|
||||||
"@testing-library/dom": "^10.4.1",
|
"@testing-library/dom": "^10.4.1",
|
||||||
"@testing-library/react": "^16.3.2",
|
"@testing-library/react": "^16.3.2",
|
||||||
"@types/node": "^22.10.2",
|
"@types/node": "^22.10.2",
|
||||||
|
|||||||
230
pnpm-lock.yaml
generated
230
pnpm-lock.yaml
generated
@@ -44,6 +44,9 @@ importers:
|
|||||||
lucide-react:
|
lucide-react:
|
||||||
specifier: ^0.577.0
|
specifier: ^0.577.0
|
||||||
version: 0.577.0(react@19.2.4)
|
version: 0.577.0(react@19.2.4)
|
||||||
|
maplibre-gl:
|
||||||
|
specifier: ^5.19.0
|
||||||
|
version: 5.20.1
|
||||||
nitro:
|
nitro:
|
||||||
specifier: ^3.0.1-alpha.2
|
specifier: ^3.0.1-alpha.2
|
||||||
version: 3.0.1-alpha.2(lru-cache@11.2.6)(rolldown@1.0.0-rc.5)(rollup@4.59.0)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))
|
version: 3.0.1-alpha.2(lru-cache@11.2.6)(rolldown@1.0.0-rc.5)(rollup@4.59.0)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0))
|
||||||
@@ -59,13 +62,13 @@ importers:
|
|||||||
tw-animate-css:
|
tw-animate-css:
|
||||||
specifier: ^1.4.0
|
specifier: ^1.4.0
|
||||||
version: 1.4.0
|
version: 1.4.0
|
||||||
|
zod:
|
||||||
|
specifier: ^4.3.6
|
||||||
|
version: 4.3.6
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@biomejs/biome':
|
'@biomejs/biome':
|
||||||
specifier: ^2.4.6
|
specifier: ^2.4.6
|
||||||
version: 2.4.6
|
version: 2.4.6
|
||||||
'@inlang/cli':
|
|
||||||
specifier: ^3.0.0
|
|
||||||
version: 3.1.6
|
|
||||||
'@inlang/paraglide-js':
|
'@inlang/paraglide-js':
|
||||||
specifier: ^2.13.1
|
specifier: ^2.13.1
|
||||||
version: 2.14.0
|
version: 2.14.0
|
||||||
@@ -531,11 +534,6 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
tailwindcss: '>=4.0.0'
|
tailwindcss: '>=4.0.0'
|
||||||
|
|
||||||
'@inlang/cli@3.1.6':
|
|
||||||
resolution: {integrity: sha512-fJG2E/DB4b31/Z8ie4rdfJaO9zK+aUcE90DNn1YoRxiaZ/nxk7cgYdh9Yd6tcZKQjHxH0V6fF6R+bGDxr/3Enw==}
|
|
||||||
engines: {node: '>=18.0.0'}
|
|
||||||
hasBin: true
|
|
||||||
|
|
||||||
'@inlang/paraglide-js@2.14.0':
|
'@inlang/paraglide-js@2.14.0':
|
||||||
resolution: {integrity: sha512-6Tno8RvEhnALdgueWNQACiEm3YM6hAfbxnYB+JWML9p5s1O4t0DOqgU9YD8fwpixOnZbU6cJRkvt4v9acXDioA==}
|
resolution: {integrity: sha512-6Tno8RvEhnALdgueWNQACiEm3YM6hAfbxnYB+JWML9p5s1O4t0DOqgU9YD8fwpixOnZbU6cJRkvt4v9acXDioA==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
@@ -582,6 +580,42 @@ packages:
|
|||||||
'@lix-js/server-protocol-schema@0.1.1':
|
'@lix-js/server-protocol-schema@0.1.1':
|
||||||
resolution: {integrity: sha512-jBeALB6prAbtr5q4vTuxnRZZv1M2rKe8iNqRQhFJ4Tv7150unEa0vKyz0hs8Gl3fUGsWaNJBh3J8++fpbrpRBQ==}
|
resolution: {integrity: sha512-jBeALB6prAbtr5q4vTuxnRZZv1M2rKe8iNqRQhFJ4Tv7150unEa0vKyz0hs8Gl3fUGsWaNJBh3J8++fpbrpRBQ==}
|
||||||
|
|
||||||
|
'@mapbox/jsonlint-lines-primitives@2.0.2':
|
||||||
|
resolution: {integrity: sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==}
|
||||||
|
engines: {node: '>= 0.6'}
|
||||||
|
|
||||||
|
'@mapbox/point-geometry@1.1.0':
|
||||||
|
resolution: {integrity: sha512-YGcBz1cg4ATXDCM/71L9xveh4dynfGmcLDqufR+nQQy3fKwsAZsWd/x4621/6uJaeB9mwOHE6hPeDgXz9uViUQ==}
|
||||||
|
|
||||||
|
'@mapbox/tiny-sdf@2.0.7':
|
||||||
|
resolution: {integrity: sha512-25gQLQMcpivjOSA40g3gO6qgiFPDpWRoMfd+G/GoppPIeP6JDaMMkMrEJnMZhKyyS6iKwVt5YKu02vCUyJM3Ug==}
|
||||||
|
|
||||||
|
'@mapbox/unitbezier@0.0.1':
|
||||||
|
resolution: {integrity: sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==}
|
||||||
|
|
||||||
|
'@mapbox/vector-tile@2.0.4':
|
||||||
|
resolution: {integrity: sha512-AkOLcbgGTdXScosBWwmmD7cDlvOjkg/DetGva26pIRiZPdeJYjYKarIlb4uxVzi6bwHO6EWH82eZ5Nuv4T5DUg==}
|
||||||
|
|
||||||
|
'@mapbox/whoots-js@3.1.0':
|
||||||
|
resolution: {integrity: sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==}
|
||||||
|
engines: {node: '>=6.0.0'}
|
||||||
|
|
||||||
|
'@maplibre/geojson-vt@5.0.4':
|
||||||
|
resolution: {integrity: sha512-KGg9sma45S+stfH9vPCJk1J0lSDLWZgCT9Y8u8qWZJyjFlP8MNP1WGTxIMYJZjDvVT3PDn05kN1C95Sut1HpgQ==}
|
||||||
|
|
||||||
|
'@maplibre/geojson-vt@6.0.2':
|
||||||
|
resolution: {integrity: sha512-OnXnV2m1yBULKOlUanNFTiOeXCktvWYY4yWoHVETlp6ShJGUhY3DNt9XzPByL24h4JcoJRccPBlMhH1o8cvmyQ==}
|
||||||
|
|
||||||
|
'@maplibre/maplibre-gl-style-spec@24.7.0':
|
||||||
|
resolution: {integrity: sha512-Ed7rcKYU5iELfablg9Mj+TVCsXsPBgdMyXPRAxb2v7oWg9YJnpQdZ5msDs1LESu/mtXy3Z48Vdppv2t/x5kAhw==}
|
||||||
|
hasBin: true
|
||||||
|
|
||||||
|
'@maplibre/mlt@1.1.7':
|
||||||
|
resolution: {integrity: sha512-HZSsXrgn2V6T3o0qklMwKERfKaAxjO8shmiFnVygCtXTg4SPKWVX+U99RkvxUfCsjYBEcT4ltor8lSlBSCca7Q==}
|
||||||
|
|
||||||
|
'@maplibre/vt-pbf@4.3.0':
|
||||||
|
resolution: {integrity: sha512-jIvp8F5hQCcreqOOpEt42TJMUlsrEcpf/kI1T2v85YrQRV6PPXUcEXUg5karKtH6oh47XJZ4kHu56pUkOuqA7w==}
|
||||||
|
|
||||||
'@napi-rs/wasm-runtime@1.1.1':
|
'@napi-rs/wasm-runtime@1.1.1':
|
||||||
resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==}
|
resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==}
|
||||||
|
|
||||||
@@ -2523,6 +2557,9 @@ packages:
|
|||||||
'@types/estree@1.0.8':
|
'@types/estree@1.0.8':
|
||||||
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
|
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
|
||||||
|
|
||||||
|
'@types/geojson@7946.0.16':
|
||||||
|
resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==}
|
||||||
|
|
||||||
'@types/mysql@2.15.27':
|
'@types/mysql@2.15.27':
|
||||||
resolution: {integrity: sha512-YfWiV16IY0OeBfBCk8+hXKmdTKrKlwKN1MNKAPBu5JYxLwBEZl7QzeEpGnlZb3VMGJrrGmB84gXiH+ofs/TezA==}
|
resolution: {integrity: sha512-YfWiV16IY0OeBfBCk8+hXKmdTKrKlwKN1MNKAPBu5JYxLwBEZl7QzeEpGnlZb3VMGJrrGmB84gXiH+ofs/TezA==}
|
||||||
|
|
||||||
@@ -2546,6 +2583,9 @@ packages:
|
|||||||
'@types/react@19.2.14':
|
'@types/react@19.2.14':
|
||||||
resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==}
|
resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==}
|
||||||
|
|
||||||
|
'@types/supercluster@7.1.3':
|
||||||
|
resolution: {integrity: sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA==}
|
||||||
|
|
||||||
'@types/tedious@4.0.14':
|
'@types/tedious@4.0.14':
|
||||||
resolution: {integrity: sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw==}
|
resolution: {integrity: sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw==}
|
||||||
|
|
||||||
@@ -2854,6 +2894,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==}
|
resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
|
earcut@3.0.2:
|
||||||
|
resolution: {integrity: sha512-X7hshQbLyMJ/3RPhyObLARM2sNxxmRALLKx1+NVFFnQ9gKzmCrxm9+uLIAdBcvc8FNLpctqlQ2V6AE92Ol9UDQ==}
|
||||||
|
|
||||||
electron-to-chromium@1.5.302:
|
electron-to-chromium@1.5.302:
|
||||||
resolution: {integrity: sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==}
|
resolution: {integrity: sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==}
|
||||||
|
|
||||||
@@ -2879,11 +2922,6 @@ packages:
|
|||||||
es-module-lexer@1.7.0:
|
es-module-lexer@1.7.0:
|
||||||
resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
|
resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
|
||||||
|
|
||||||
esbuild-wasm@0.19.12:
|
|
||||||
resolution: {integrity: sha512-Zmc4hk6FibJZBcTx5/8K/4jT3/oG1vkGTEeKJUQFCUQKimD6Q7+adp/bdVQyYJFolMKaXkQnVZdV4O5ZaTYmyQ==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
hasBin: true
|
|
||||||
|
|
||||||
esbuild@0.27.3:
|
esbuild@0.27.3:
|
||||||
resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==}
|
resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
@@ -2940,6 +2978,9 @@ packages:
|
|||||||
get-tsconfig@4.13.6:
|
get-tsconfig@4.13.6:
|
||||||
resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==}
|
resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==}
|
||||||
|
|
||||||
|
gl-matrix@3.4.4:
|
||||||
|
resolution: {integrity: sha512-latSnyDNt/8zYUB6VIJ6PCh2jBjJX6gnDsoCZ7LyW7GkqrD51EWwa9qCoGixj8YqBtETQK/xY7OmpTF8xz1DdQ==}
|
||||||
|
|
||||||
glob-parent@5.1.2:
|
glob-parent@5.1.2:
|
||||||
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
|
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
@@ -3079,11 +3120,17 @@ packages:
|
|||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
json-stringify-pretty-compact@4.0.0:
|
||||||
|
resolution: {integrity: sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==}
|
||||||
|
|
||||||
json5@2.2.3:
|
json5@2.2.3:
|
||||||
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
|
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
kdbush@4.0.2:
|
||||||
|
resolution: {integrity: sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==}
|
||||||
|
|
||||||
kysely@0.27.6:
|
kysely@0.27.6:
|
||||||
resolution: {integrity: sha512-FIyV/64EkKhJmjgC0g2hygpBv5RNWVPyNCqSAD7eTCv6eFWNIi4PN1UvdSJGicN/o35bnevgis4Y0UDC0qi8jQ==}
|
resolution: {integrity: sha512-FIyV/64EkKhJmjgC0g2hygpBv5RNWVPyNCqSAD7eTCv6eFWNIi4PN1UvdSJGicN/o35bnevgis4Y0UDC0qi8jQ==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -3195,6 +3242,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==}
|
resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
|
maplibre-gl@5.20.1:
|
||||||
|
resolution: {integrity: sha512-57YIgfRct+rrk78ldoWRuLWRnXV/1vM2Rk0QYfEDQmsXdpgbACwvGoREIOZtyDIaq/GJK/ORYEriaAdVZuNfvw==}
|
||||||
|
engines: {node: '>=16.14.0', npm: '>=8.1.0'}
|
||||||
|
|
||||||
mdn-data@2.12.2:
|
mdn-data@2.12.2:
|
||||||
resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==}
|
resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==}
|
||||||
|
|
||||||
@@ -3202,6 +3253,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==}
|
resolution: {integrity: sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==}
|
||||||
engines: {node: 18 || 20 || >=22}
|
engines: {node: 18 || 20 || >=22}
|
||||||
|
|
||||||
|
minimist@1.2.8:
|
||||||
|
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
|
||||||
|
|
||||||
minipass@7.1.3:
|
minipass@7.1.3:
|
||||||
resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==}
|
resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==}
|
||||||
engines: {node: '>=16 || 14 >=14.17'}
|
engines: {node: '>=16 || 14 >=14.17'}
|
||||||
@@ -3212,6 +3266,9 @@ packages:
|
|||||||
ms@2.1.3:
|
ms@2.1.3:
|
||||||
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
|
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
|
||||||
|
|
||||||
|
murmurhash-js@1.0.0:
|
||||||
|
resolution: {integrity: sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==}
|
||||||
|
|
||||||
nanoid@3.3.11:
|
nanoid@3.3.11:
|
||||||
resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
|
resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
|
||||||
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
||||||
@@ -3307,6 +3364,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==}
|
resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==}
|
||||||
engines: {node: '>= 14.16'}
|
engines: {node: '>= 14.16'}
|
||||||
|
|
||||||
|
pbf@4.0.1:
|
||||||
|
resolution: {integrity: sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA==}
|
||||||
|
hasBin: true
|
||||||
|
|
||||||
pg-int8@1.0.1:
|
pg-int8@1.0.1:
|
||||||
resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==}
|
resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==}
|
||||||
engines: {node: '>=4.0.0'}
|
engines: {node: '>=4.0.0'}
|
||||||
@@ -3349,6 +3410,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==}
|
resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
|
potpack@2.1.0:
|
||||||
|
resolution: {integrity: sha512-pcaShQc1Shq0y+E7GqJqvZj8DTthWV1KeHGdi0Z6IAin2Oi3JnLCOfwnCo84qc+HAp52wT9nK9H7FAJp5a44GQ==}
|
||||||
|
|
||||||
prettier@3.8.1:
|
prettier@3.8.1:
|
||||||
resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==}
|
resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
@@ -3362,6 +3426,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
|
resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
|
||||||
engines: {node: '>=0.4.0'}
|
engines: {node: '>=0.4.0'}
|
||||||
|
|
||||||
|
protocol-buffers-schema@3.6.0:
|
||||||
|
resolution: {integrity: sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==}
|
||||||
|
|
||||||
proxy-from-env@1.1.0:
|
proxy-from-env@1.1.0:
|
||||||
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
|
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
|
||||||
|
|
||||||
@@ -3369,6 +3436,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
|
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
|
quickselect@3.0.0:
|
||||||
|
resolution: {integrity: sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==}
|
||||||
|
|
||||||
react-aria-components@1.15.1:
|
react-aria-components@1.15.1:
|
||||||
resolution: {integrity: sha512-irGhZ+vBvoY9xJHf/qzPLLwFZ8cBUrYwPERGhgjE62dy/RXMUiEW+1DeTHz0OvtjbvFbhNp/I7XM9IaBvmLALg==}
|
resolution: {integrity: sha512-irGhZ+vBvoY9xJHf/qzPLLwFZ8cBUrYwPERGhgjE62dy/RXMUiEW+1DeTHz0OvtjbvFbhNp/I7XM9IaBvmLALg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -3421,6 +3491,9 @@ packages:
|
|||||||
resolve-pkg-maps@1.0.0:
|
resolve-pkg-maps@1.0.0:
|
||||||
resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
|
resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
|
||||||
|
|
||||||
|
resolve-protobuf-schema@2.1.0:
|
||||||
|
resolution: {integrity: sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==}
|
||||||
|
|
||||||
rolldown@1.0.0-rc.5:
|
rolldown@1.0.0-rc.5:
|
||||||
resolution: {integrity: sha512-0AdalTs6hNTioaCYIkAa7+xsmHBfU5hCNclZnM/lp7lGGDuUOb6N4BVNtwiomybbencDjq/waKjTImqiGCs5sw==}
|
resolution: {integrity: sha512-0AdalTs6hNTioaCYIkAa7+xsmHBfU5hCNclZnM/lp7lGGDuUOb6N4BVNtwiomybbencDjq/waKjTImqiGCs5sw==}
|
||||||
engines: {node: ^20.19.0 || >=22.12.0}
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
@@ -3437,6 +3510,9 @@ packages:
|
|||||||
rou3@0.8.1:
|
rou3@0.8.1:
|
||||||
resolution: {integrity: sha512-ePa+XGk00/3HuCqrEnK3LxJW7I0SdNg6EFzKUJG73hMAdDcOUC/i/aSz7LSDwLrGr33kal/rqOGydzwl6U7zBA==}
|
resolution: {integrity: sha512-ePa+XGk00/3HuCqrEnK3LxJW7I0SdNg6EFzKUJG73hMAdDcOUC/i/aSz7LSDwLrGr33kal/rqOGydzwl6U7zBA==}
|
||||||
|
|
||||||
|
rw@1.3.3:
|
||||||
|
resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==}
|
||||||
|
|
||||||
safer-buffer@2.1.2:
|
safer-buffer@2.1.2:
|
||||||
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
|
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
|
||||||
|
|
||||||
@@ -3512,6 +3588,9 @@ packages:
|
|||||||
strip-literal@3.1.0:
|
strip-literal@3.1.0:
|
||||||
resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==}
|
resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==}
|
||||||
|
|
||||||
|
supercluster@8.0.1:
|
||||||
|
resolution: {integrity: sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==}
|
||||||
|
|
||||||
symbol-tree@3.2.4:
|
symbol-tree@3.2.4:
|
||||||
resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
|
resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
|
||||||
|
|
||||||
@@ -3555,6 +3634,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==}
|
resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==}
|
||||||
engines: {node: ^18.0.0 || >=20.0.0}
|
engines: {node: ^18.0.0 || >=20.0.0}
|
||||||
|
|
||||||
|
tinyqueue@3.0.0:
|
||||||
|
resolution: {integrity: sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==}
|
||||||
|
|
||||||
tinyrainbow@2.0.0:
|
tinyrainbow@2.0.0:
|
||||||
resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==}
|
resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -3891,6 +3973,9 @@ packages:
|
|||||||
zod@3.25.76:
|
zod@3.25.76:
|
||||||
resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
|
resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
|
||||||
|
|
||||||
|
zod@4.3.6:
|
||||||
|
resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==}
|
||||||
|
|
||||||
snapshots:
|
snapshots:
|
||||||
|
|
||||||
'@acemir/cssom@0.9.31': {}
|
'@acemir/cssom@0.9.31': {}
|
||||||
@@ -4265,13 +4350,6 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- tailwind-merge
|
- tailwind-merge
|
||||||
|
|
||||||
'@inlang/cli@3.1.6':
|
|
||||||
dependencies:
|
|
||||||
'@inlang/sdk': 2.7.0
|
|
||||||
esbuild-wasm: 0.19.12
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- babel-plugin-macros
|
|
||||||
|
|
||||||
'@inlang/paraglide-js@2.14.0':
|
'@inlang/paraglide-js@2.14.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@inlang/recommend-sherlock': 0.2.1
|
'@inlang/recommend-sherlock': 0.2.1
|
||||||
@@ -4348,6 +4426,52 @@ snapshots:
|
|||||||
|
|
||||||
'@lix-js/server-protocol-schema@0.1.1': {}
|
'@lix-js/server-protocol-schema@0.1.1': {}
|
||||||
|
|
||||||
|
'@mapbox/jsonlint-lines-primitives@2.0.2': {}
|
||||||
|
|
||||||
|
'@mapbox/point-geometry@1.1.0': {}
|
||||||
|
|
||||||
|
'@mapbox/tiny-sdf@2.0.7': {}
|
||||||
|
|
||||||
|
'@mapbox/unitbezier@0.0.1': {}
|
||||||
|
|
||||||
|
'@mapbox/vector-tile@2.0.4':
|
||||||
|
dependencies:
|
||||||
|
'@mapbox/point-geometry': 1.1.0
|
||||||
|
'@types/geojson': 7946.0.16
|
||||||
|
pbf: 4.0.1
|
||||||
|
|
||||||
|
'@mapbox/whoots-js@3.1.0': {}
|
||||||
|
|
||||||
|
'@maplibre/geojson-vt@5.0.4': {}
|
||||||
|
|
||||||
|
'@maplibre/geojson-vt@6.0.2':
|
||||||
|
dependencies:
|
||||||
|
kdbush: 4.0.2
|
||||||
|
|
||||||
|
'@maplibre/maplibre-gl-style-spec@24.7.0':
|
||||||
|
dependencies:
|
||||||
|
'@mapbox/jsonlint-lines-primitives': 2.0.2
|
||||||
|
'@mapbox/unitbezier': 0.0.1
|
||||||
|
json-stringify-pretty-compact: 4.0.0
|
||||||
|
minimist: 1.2.8
|
||||||
|
quickselect: 3.0.0
|
||||||
|
rw: 1.3.3
|
||||||
|
tinyqueue: 3.0.0
|
||||||
|
|
||||||
|
'@maplibre/mlt@1.1.7':
|
||||||
|
dependencies:
|
||||||
|
'@mapbox/point-geometry': 1.1.0
|
||||||
|
|
||||||
|
'@maplibre/vt-pbf@4.3.0':
|
||||||
|
dependencies:
|
||||||
|
'@mapbox/point-geometry': 1.1.0
|
||||||
|
'@mapbox/vector-tile': 2.0.4
|
||||||
|
'@maplibre/geojson-vt': 5.0.4
|
||||||
|
'@types/geojson': 7946.0.16
|
||||||
|
'@types/supercluster': 7.1.3
|
||||||
|
pbf: 4.0.1
|
||||||
|
supercluster: 8.0.1
|
||||||
|
|
||||||
'@napi-rs/wasm-runtime@1.1.1':
|
'@napi-rs/wasm-runtime@1.1.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@emnapi/core': 1.8.1
|
'@emnapi/core': 1.8.1
|
||||||
@@ -6706,6 +6830,8 @@ snapshots:
|
|||||||
|
|
||||||
'@types/estree@1.0.8': {}
|
'@types/estree@1.0.8': {}
|
||||||
|
|
||||||
|
'@types/geojson@7946.0.16': {}
|
||||||
|
|
||||||
'@types/mysql@2.15.27':
|
'@types/mysql@2.15.27':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 22.19.11
|
'@types/node': 22.19.11
|
||||||
@@ -6734,6 +6860,10 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
csstype: 3.2.3
|
csstype: 3.2.3
|
||||||
|
|
||||||
|
'@types/supercluster@7.1.3':
|
||||||
|
dependencies:
|
||||||
|
'@types/geojson': 7946.0.16
|
||||||
|
|
||||||
'@types/tedious@4.0.14':
|
'@types/tedious@4.0.14':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 22.19.11
|
'@types/node': 22.19.11
|
||||||
@@ -7026,6 +7156,8 @@ snapshots:
|
|||||||
|
|
||||||
dotenv@16.6.1: {}
|
dotenv@16.6.1: {}
|
||||||
|
|
||||||
|
earcut@3.0.2: {}
|
||||||
|
|
||||||
electron-to-chromium@1.5.302: {}
|
electron-to-chromium@1.5.302: {}
|
||||||
|
|
||||||
encoding-sniffer@0.2.1:
|
encoding-sniffer@0.2.1:
|
||||||
@@ -7046,8 +7178,6 @@ snapshots:
|
|||||||
|
|
||||||
es-module-lexer@1.7.0: {}
|
es-module-lexer@1.7.0: {}
|
||||||
|
|
||||||
esbuild-wasm@0.19.12: {}
|
|
||||||
|
|
||||||
esbuild@0.27.3:
|
esbuild@0.27.3:
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@esbuild/aix-ppc64': 0.27.3
|
'@esbuild/aix-ppc64': 0.27.3
|
||||||
@@ -7113,6 +7243,8 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
resolve-pkg-maps: 1.0.0
|
resolve-pkg-maps: 1.0.0
|
||||||
|
|
||||||
|
gl-matrix@3.4.4: {}
|
||||||
|
|
||||||
glob-parent@5.1.2:
|
glob-parent@5.1.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
@@ -7265,8 +7397,12 @@ snapshots:
|
|||||||
|
|
||||||
jsesc@3.1.0: {}
|
jsesc@3.1.0: {}
|
||||||
|
|
||||||
|
json-stringify-pretty-compact@4.0.0: {}
|
||||||
|
|
||||||
json5@2.2.3: {}
|
json5@2.2.3: {}
|
||||||
|
|
||||||
|
kdbush@4.0.2: {}
|
||||||
|
|
||||||
kysely@0.27.6: {}
|
kysely@0.27.6: {}
|
||||||
|
|
||||||
launch-editor@2.13.0:
|
launch-editor@2.13.0:
|
||||||
@@ -7349,18 +7485,44 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@jridgewell/sourcemap-codec': 1.5.5
|
'@jridgewell/sourcemap-codec': 1.5.5
|
||||||
|
|
||||||
|
maplibre-gl@5.20.1:
|
||||||
|
dependencies:
|
||||||
|
'@mapbox/jsonlint-lines-primitives': 2.0.2
|
||||||
|
'@mapbox/point-geometry': 1.1.0
|
||||||
|
'@mapbox/tiny-sdf': 2.0.7
|
||||||
|
'@mapbox/unitbezier': 0.0.1
|
||||||
|
'@mapbox/vector-tile': 2.0.4
|
||||||
|
'@mapbox/whoots-js': 3.1.0
|
||||||
|
'@maplibre/geojson-vt': 6.0.2
|
||||||
|
'@maplibre/maplibre-gl-style-spec': 24.7.0
|
||||||
|
'@maplibre/mlt': 1.1.7
|
||||||
|
'@maplibre/vt-pbf': 4.3.0
|
||||||
|
'@types/geojson': 7946.0.16
|
||||||
|
earcut: 3.0.2
|
||||||
|
gl-matrix: 3.4.4
|
||||||
|
kdbush: 4.0.2
|
||||||
|
murmurhash-js: 1.0.0
|
||||||
|
pbf: 4.0.1
|
||||||
|
potpack: 2.1.0
|
||||||
|
quickselect: 3.0.0
|
||||||
|
tinyqueue: 3.0.0
|
||||||
|
|
||||||
mdn-data@2.12.2: {}
|
mdn-data@2.12.2: {}
|
||||||
|
|
||||||
minimatch@10.2.2:
|
minimatch@10.2.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
brace-expansion: 5.0.3
|
brace-expansion: 5.0.3
|
||||||
|
|
||||||
|
minimist@1.2.8: {}
|
||||||
|
|
||||||
minipass@7.1.3: {}
|
minipass@7.1.3: {}
|
||||||
|
|
||||||
module-details-from-path@1.0.4: {}
|
module-details-from-path@1.0.4: {}
|
||||||
|
|
||||||
ms@2.1.3: {}
|
ms@2.1.3: {}
|
||||||
|
|
||||||
|
murmurhash-js@1.0.0: {}
|
||||||
|
|
||||||
nanoid@3.3.11: {}
|
nanoid@3.3.11: {}
|
||||||
|
|
||||||
nf3@0.3.10: {}
|
nf3@0.3.10: {}
|
||||||
@@ -7512,6 +7674,10 @@ snapshots:
|
|||||||
|
|
||||||
pathval@2.0.1: {}
|
pathval@2.0.1: {}
|
||||||
|
|
||||||
|
pbf@4.0.1:
|
||||||
|
dependencies:
|
||||||
|
resolve-protobuf-schema: 2.1.0
|
||||||
|
|
||||||
pg-int8@1.0.1: {}
|
pg-int8@1.0.1: {}
|
||||||
|
|
||||||
pg-protocol@1.11.0: {}
|
pg-protocol@1.11.0: {}
|
||||||
@@ -7546,6 +7712,8 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
xtend: 4.0.2
|
xtend: 4.0.2
|
||||||
|
|
||||||
|
potpack@2.1.0: {}
|
||||||
|
|
||||||
prettier@3.8.1: {}
|
prettier@3.8.1: {}
|
||||||
|
|
||||||
pretty-format@27.5.1:
|
pretty-format@27.5.1:
|
||||||
@@ -7556,10 +7724,14 @@ snapshots:
|
|||||||
|
|
||||||
progress@2.0.3: {}
|
progress@2.0.3: {}
|
||||||
|
|
||||||
|
protocol-buffers-schema@3.6.0: {}
|
||||||
|
|
||||||
proxy-from-env@1.1.0: {}
|
proxy-from-env@1.1.0: {}
|
||||||
|
|
||||||
punycode@2.3.1: {}
|
punycode@2.3.1: {}
|
||||||
|
|
||||||
|
quickselect@3.0.0: {}
|
||||||
|
|
||||||
react-aria-components@1.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
|
react-aria-components@1.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@internationalized/date': 3.11.0
|
'@internationalized/date': 3.11.0
|
||||||
@@ -7705,6 +7877,10 @@ snapshots:
|
|||||||
|
|
||||||
resolve-pkg-maps@1.0.0: {}
|
resolve-pkg-maps@1.0.0: {}
|
||||||
|
|
||||||
|
resolve-protobuf-schema@2.1.0:
|
||||||
|
dependencies:
|
||||||
|
protocol-buffers-schema: 3.6.0
|
||||||
|
|
||||||
rolldown@1.0.0-rc.5:
|
rolldown@1.0.0-rc.5:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@oxc-project/types': 0.114.0
|
'@oxc-project/types': 0.114.0
|
||||||
@@ -7760,6 +7936,8 @@ snapshots:
|
|||||||
|
|
||||||
rou3@0.8.1: {}
|
rou3@0.8.1: {}
|
||||||
|
|
||||||
|
rw@1.3.3: {}
|
||||||
|
|
||||||
safer-buffer@2.1.2: {}
|
safer-buffer@2.1.2: {}
|
||||||
|
|
||||||
saxes@6.0.0:
|
saxes@6.0.0:
|
||||||
@@ -7811,6 +7989,10 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
js-tokens: 9.0.1
|
js-tokens: 9.0.1
|
||||||
|
|
||||||
|
supercluster@8.0.1:
|
||||||
|
dependencies:
|
||||||
|
kdbush: 4.0.2
|
||||||
|
|
||||||
symbol-tree@3.2.4: {}
|
symbol-tree@3.2.4: {}
|
||||||
|
|
||||||
tailwind-merge@3.4.0: {}
|
tailwind-merge@3.4.0: {}
|
||||||
@@ -7840,6 +8022,8 @@ snapshots:
|
|||||||
|
|
||||||
tinypool@1.1.1: {}
|
tinypool@1.1.1: {}
|
||||||
|
|
||||||
|
tinyqueue@3.0.0: {}
|
||||||
|
|
||||||
tinyrainbow@2.0.0: {}
|
tinyrainbow@2.0.0: {}
|
||||||
|
|
||||||
tinyspy@4.0.4: {}
|
tinyspy@4.0.4: {}
|
||||||
@@ -8072,3 +8256,5 @@ snapshots:
|
|||||||
yocto-queue@0.1.0: {}
|
yocto-queue@0.1.0: {}
|
||||||
|
|
||||||
zod@3.25.76: {}
|
zod@3.25.76: {}
|
||||||
|
|
||||||
|
zod@4.3.6: {}
|
||||||
|
|||||||
@@ -14,13 +14,14 @@ export const useLogin = () => {
|
|||||||
mutationKey: ["login"],
|
mutationKey: ["login"],
|
||||||
mutationFn: async (data: TLoginForm) => {
|
mutationFn: async (data: TLoginForm) => {
|
||||||
const response = await user.login({ data })
|
const response = await user.login({ data })
|
||||||
|
|
||||||
if (response.error) {
|
if (response.error) {
|
||||||
throw new Error(response.message)
|
throw new Error(response.message)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onSuccess: () => {
|
onSuccess: () => {
|
||||||
navigate({
|
navigate({
|
||||||
to: "/"
|
to: "/dashboard"
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -12,17 +12,13 @@ import { Route as rootRouteImport } from './routes/__root'
|
|||||||
import { Route as LogoutRouteImport } from './routes/logout'
|
import { Route as LogoutRouteImport } from './routes/logout'
|
||||||
import { Route as LoginRouteImport } from './routes/login'
|
import { Route as LoginRouteImport } from './routes/login'
|
||||||
import { Route as AccessRouteImport } from './routes/access'
|
import { Route as AccessRouteImport } from './routes/access'
|
||||||
import { Route as AuthedRouteImport } from './routes/_authed'
|
import { Route as AuthRouteImport } from './routes/_auth'
|
||||||
import { Route as IndexRouteImport } from './routes/index'
|
import { Route as IndexRouteImport } from './routes/index'
|
||||||
import { Route as DemoTanstackQueryRouteImport } from './routes/demo/tanstack-query'
|
import { Route as DemoTanstackQueryRouteImport } from './routes/demo/tanstack-query'
|
||||||
import { Route as DemoI18nRouteImport } from './routes/demo.i18n'
|
import { Route as DemoI18nRouteImport } from './routes/demo.i18n'
|
||||||
<<<<<<< HEAD
|
|
||||||
import { Route as AccessRegisterRouteImport } from './routes/access.register'
|
import { Route as AccessRegisterRouteImport } from './routes/access.register'
|
||||||
import { Route as AccessLoginRouteImport } from './routes/access.login'
|
import { Route as AccessLoginRouteImport } from './routes/access.login'
|
||||||
import { Route as AuthedDashboardRouteImport } from './routes/_authed/dashboard'
|
import { Route as AuthDashboardRouteImport } from './routes/_auth/dashboard'
|
||||||
=======
|
|
||||||
import { Route as AuthDashboardRouteImport } from './routes/auth/dashboard'
|
|
||||||
>>>>>>> main
|
|
||||||
import { Route as DemoSentryTestingRouteImport } from './routes/demo/sentry.testing'
|
import { Route as DemoSentryTestingRouteImport } from './routes/demo/sentry.testing'
|
||||||
|
|
||||||
const LogoutRoute = LogoutRouteImport.update({
|
const LogoutRoute = LogoutRouteImport.update({
|
||||||
@@ -40,8 +36,8 @@ const AccessRoute = AccessRouteImport.update({
|
|||||||
path: '/access',
|
path: '/access',
|
||||||
getParentRoute: () => rootRouteImport,
|
getParentRoute: () => rootRouteImport,
|
||||||
} as any)
|
} as any)
|
||||||
const AuthedRoute = AuthedRouteImport.update({
|
const AuthRoute = AuthRouteImport.update({
|
||||||
id: '/_authed',
|
id: '/_auth',
|
||||||
getParentRoute: () => rootRouteImport,
|
getParentRoute: () => rootRouteImport,
|
||||||
} as any)
|
} as any)
|
||||||
const IndexRoute = IndexRouteImport.update({
|
const IndexRoute = IndexRouteImport.update({
|
||||||
@@ -59,7 +55,6 @@ const DemoI18nRoute = DemoI18nRouteImport.update({
|
|||||||
path: '/demo/i18n',
|
path: '/demo/i18n',
|
||||||
getParentRoute: () => rootRouteImport,
|
getParentRoute: () => rootRouteImport,
|
||||||
} as any)
|
} as any)
|
||||||
<<<<<<< HEAD
|
|
||||||
const AccessRegisterRoute = AccessRegisterRouteImport.update({
|
const AccessRegisterRoute = AccessRegisterRouteImport.update({
|
||||||
id: '/register',
|
id: '/register',
|
||||||
path: '/register',
|
path: '/register',
|
||||||
@@ -70,16 +65,10 @@ const AccessLoginRoute = AccessLoginRouteImport.update({
|
|||||||
path: '/login',
|
path: '/login',
|
||||||
getParentRoute: () => AccessRoute,
|
getParentRoute: () => AccessRoute,
|
||||||
} as any)
|
} as any)
|
||||||
const AuthedDashboardRoute = AuthedDashboardRouteImport.update({
|
const AuthDashboardRoute = AuthDashboardRouteImport.update({
|
||||||
id: '/dashboard',
|
id: '/dashboard',
|
||||||
path: '/dashboard',
|
path: '/dashboard',
|
||||||
getParentRoute: () => AuthedRoute,
|
getParentRoute: () => AuthRoute,
|
||||||
=======
|
|
||||||
const AuthDashboardRoute = AuthDashboardRouteImport.update({
|
|
||||||
id: '/auth/dashboard',
|
|
||||||
path: '/auth/dashboard',
|
|
||||||
getParentRoute: () => rootRouteImport,
|
|
||||||
>>>>>>> main
|
|
||||||
} as any)
|
} as any)
|
||||||
const DemoSentryTestingRoute = DemoSentryTestingRouteImport.update({
|
const DemoSentryTestingRoute = DemoSentryTestingRouteImport.update({
|
||||||
id: '/demo/sentry/testing',
|
id: '/demo/sentry/testing',
|
||||||
@@ -89,34 +78,24 @@ const DemoSentryTestingRoute = DemoSentryTestingRouteImport.update({
|
|||||||
|
|
||||||
export interface FileRoutesByFullPath {
|
export interface FileRoutesByFullPath {
|
||||||
'/': typeof IndexRoute
|
'/': typeof IndexRoute
|
||||||
<<<<<<< HEAD
|
|
||||||
'/access': typeof AccessRouteWithChildren
|
'/access': typeof AccessRouteWithChildren
|
||||||
'/login': typeof LoginRoute
|
'/login': typeof LoginRoute
|
||||||
'/logout': typeof LogoutRoute
|
'/logout': typeof LogoutRoute
|
||||||
'/dashboard': typeof AuthedDashboardRoute
|
'/dashboard': typeof AuthDashboardRoute
|
||||||
'/access/login': typeof AccessLoginRoute
|
'/access/login': typeof AccessLoginRoute
|
||||||
'/access/register': typeof AccessRegisterRoute
|
'/access/register': typeof AccessRegisterRoute
|
||||||
=======
|
|
||||||
'/login': typeof LoginRouteRoute
|
|
||||||
'/auth/dashboard': typeof AuthDashboardRoute
|
|
||||||
>>>>>>> main
|
|
||||||
'/demo/i18n': typeof DemoI18nRoute
|
'/demo/i18n': typeof DemoI18nRoute
|
||||||
'/demo/tanstack-query': typeof DemoTanstackQueryRoute
|
'/demo/tanstack-query': typeof DemoTanstackQueryRoute
|
||||||
'/demo/sentry/testing': typeof DemoSentryTestingRoute
|
'/demo/sentry/testing': typeof DemoSentryTestingRoute
|
||||||
}
|
}
|
||||||
export interface FileRoutesByTo {
|
export interface FileRoutesByTo {
|
||||||
'/': typeof IndexRoute
|
'/': typeof IndexRoute
|
||||||
<<<<<<< HEAD
|
|
||||||
'/access': typeof AccessRouteWithChildren
|
'/access': typeof AccessRouteWithChildren
|
||||||
'/login': typeof LoginRoute
|
'/login': typeof LoginRoute
|
||||||
'/logout': typeof LogoutRoute
|
'/logout': typeof LogoutRoute
|
||||||
'/dashboard': typeof AuthedDashboardRoute
|
'/dashboard': typeof AuthDashboardRoute
|
||||||
'/access/login': typeof AccessLoginRoute
|
'/access/login': typeof AccessLoginRoute
|
||||||
'/access/register': typeof AccessRegisterRoute
|
'/access/register': typeof AccessRegisterRoute
|
||||||
=======
|
|
||||||
'/login': typeof LoginRouteRoute
|
|
||||||
'/auth/dashboard': typeof AuthDashboardRoute
|
|
||||||
>>>>>>> main
|
|
||||||
'/demo/i18n': typeof DemoI18nRoute
|
'/demo/i18n': typeof DemoI18nRoute
|
||||||
'/demo/tanstack-query': typeof DemoTanstackQueryRoute
|
'/demo/tanstack-query': typeof DemoTanstackQueryRoute
|
||||||
'/demo/sentry/testing': typeof DemoSentryTestingRoute
|
'/demo/sentry/testing': typeof DemoSentryTestingRoute
|
||||||
@@ -124,18 +103,13 @@ export interface FileRoutesByTo {
|
|||||||
export interface FileRoutesById {
|
export interface FileRoutesById {
|
||||||
__root__: typeof rootRouteImport
|
__root__: typeof rootRouteImport
|
||||||
'/': typeof IndexRoute
|
'/': typeof IndexRoute
|
||||||
<<<<<<< HEAD
|
'/_auth': typeof AuthRouteWithChildren
|
||||||
'/_authed': typeof AuthedRouteWithChildren
|
|
||||||
'/access': typeof AccessRouteWithChildren
|
'/access': typeof AccessRouteWithChildren
|
||||||
'/login': typeof LoginRoute
|
'/login': typeof LoginRoute
|
||||||
'/logout': typeof LogoutRoute
|
'/logout': typeof LogoutRoute
|
||||||
'/_authed/dashboard': typeof AuthedDashboardRoute
|
'/_auth/dashboard': typeof AuthDashboardRoute
|
||||||
'/access/login': typeof AccessLoginRoute
|
'/access/login': typeof AccessLoginRoute
|
||||||
'/access/register': typeof AccessRegisterRoute
|
'/access/register': typeof AccessRegisterRoute
|
||||||
=======
|
|
||||||
'/login': typeof LoginRouteRoute
|
|
||||||
'/auth/dashboard': typeof AuthDashboardRoute
|
|
||||||
>>>>>>> main
|
|
||||||
'/demo/i18n': typeof DemoI18nRoute
|
'/demo/i18n': typeof DemoI18nRoute
|
||||||
'/demo/tanstack-query': typeof DemoTanstackQueryRoute
|
'/demo/tanstack-query': typeof DemoTanstackQueryRoute
|
||||||
'/demo/sentry/testing': typeof DemoSentryTestingRoute
|
'/demo/sentry/testing': typeof DemoSentryTestingRoute
|
||||||
@@ -146,14 +120,10 @@ export interface FileRouteTypes {
|
|||||||
| '/'
|
| '/'
|
||||||
| '/access'
|
| '/access'
|
||||||
| '/login'
|
| '/login'
|
||||||
<<<<<<< HEAD
|
|
||||||
| '/logout'
|
| '/logout'
|
||||||
| '/dashboard'
|
| '/dashboard'
|
||||||
| '/access/login'
|
| '/access/login'
|
||||||
| '/access/register'
|
| '/access/register'
|
||||||
=======
|
|
||||||
| '/auth/dashboard'
|
|
||||||
>>>>>>> main
|
|
||||||
| '/demo/i18n'
|
| '/demo/i18n'
|
||||||
| '/demo/tanstack-query'
|
| '/demo/tanstack-query'
|
||||||
| '/demo/sentry/testing'
|
| '/demo/sentry/testing'
|
||||||
@@ -162,31 +132,23 @@ export interface FileRouteTypes {
|
|||||||
| '/'
|
| '/'
|
||||||
| '/access'
|
| '/access'
|
||||||
| '/login'
|
| '/login'
|
||||||
<<<<<<< HEAD
|
|
||||||
| '/logout'
|
| '/logout'
|
||||||
| '/dashboard'
|
| '/dashboard'
|
||||||
| '/access/login'
|
| '/access/login'
|
||||||
| '/access/register'
|
| '/access/register'
|
||||||
=======
|
|
||||||
| '/auth/dashboard'
|
|
||||||
>>>>>>> main
|
|
||||||
| '/demo/i18n'
|
| '/demo/i18n'
|
||||||
| '/demo/tanstack-query'
|
| '/demo/tanstack-query'
|
||||||
| '/demo/sentry/testing'
|
| '/demo/sentry/testing'
|
||||||
id:
|
id:
|
||||||
| '__root__'
|
| '__root__'
|
||||||
| '/'
|
| '/'
|
||||||
| '/_authed'
|
| '/_auth'
|
||||||
| '/access'
|
| '/access'
|
||||||
| '/login'
|
| '/login'
|
||||||
<<<<<<< HEAD
|
|
||||||
| '/logout'
|
| '/logout'
|
||||||
| '/_authed/dashboard'
|
| '/_auth/dashboard'
|
||||||
| '/access/login'
|
| '/access/login'
|
||||||
| '/access/register'
|
| '/access/register'
|
||||||
=======
|
|
||||||
| '/auth/dashboard'
|
|
||||||
>>>>>>> main
|
|
||||||
| '/demo/i18n'
|
| '/demo/i18n'
|
||||||
| '/demo/tanstack-query'
|
| '/demo/tanstack-query'
|
||||||
| '/demo/sentry/testing'
|
| '/demo/sentry/testing'
|
||||||
@@ -194,15 +156,10 @@ export interface FileRouteTypes {
|
|||||||
}
|
}
|
||||||
export interface RootRouteChildren {
|
export interface RootRouteChildren {
|
||||||
IndexRoute: typeof IndexRoute
|
IndexRoute: typeof IndexRoute
|
||||||
<<<<<<< HEAD
|
AuthRoute: typeof AuthRouteWithChildren
|
||||||
AuthedRoute: typeof AuthedRouteWithChildren
|
|
||||||
AccessRoute: typeof AccessRouteWithChildren
|
AccessRoute: typeof AccessRouteWithChildren
|
||||||
LoginRoute: typeof LoginRoute
|
LoginRoute: typeof LoginRoute
|
||||||
LogoutRoute: typeof LogoutRoute
|
LogoutRoute: typeof LogoutRoute
|
||||||
=======
|
|
||||||
LoginRouteRoute: typeof LoginRouteRoute
|
|
||||||
AuthDashboardRoute: typeof AuthDashboardRoute
|
|
||||||
>>>>>>> main
|
|
||||||
DemoI18nRoute: typeof DemoI18nRoute
|
DemoI18nRoute: typeof DemoI18nRoute
|
||||||
DemoTanstackQueryRoute: typeof DemoTanstackQueryRoute
|
DemoTanstackQueryRoute: typeof DemoTanstackQueryRoute
|
||||||
DemoSentryTestingRoute: typeof DemoSentryTestingRoute
|
DemoSentryTestingRoute: typeof DemoSentryTestingRoute
|
||||||
@@ -231,11 +188,11 @@ declare module '@tanstack/react-router' {
|
|||||||
preLoaderRoute: typeof AccessRouteImport
|
preLoaderRoute: typeof AccessRouteImport
|
||||||
parentRoute: typeof rootRouteImport
|
parentRoute: typeof rootRouteImport
|
||||||
}
|
}
|
||||||
'/_authed': {
|
'/_auth': {
|
||||||
id: '/_authed'
|
id: '/_auth'
|
||||||
path: ''
|
path: ''
|
||||||
fullPath: '/'
|
fullPath: '/'
|
||||||
preLoaderRoute: typeof AuthedRouteImport
|
preLoaderRoute: typeof AuthRouteImport
|
||||||
parentRoute: typeof rootRouteImport
|
parentRoute: typeof rootRouteImport
|
||||||
}
|
}
|
||||||
'/': {
|
'/': {
|
||||||
@@ -259,7 +216,6 @@ declare module '@tanstack/react-router' {
|
|||||||
preLoaderRoute: typeof DemoI18nRouteImport
|
preLoaderRoute: typeof DemoI18nRouteImport
|
||||||
parentRoute: typeof rootRouteImport
|
parentRoute: typeof rootRouteImport
|
||||||
}
|
}
|
||||||
<<<<<<< HEAD
|
|
||||||
'/access/register': {
|
'/access/register': {
|
||||||
id: '/access/register'
|
id: '/access/register'
|
||||||
path: '/register'
|
path: '/register'
|
||||||
@@ -274,20 +230,12 @@ declare module '@tanstack/react-router' {
|
|||||||
preLoaderRoute: typeof AccessLoginRouteImport
|
preLoaderRoute: typeof AccessLoginRouteImport
|
||||||
parentRoute: typeof AccessRoute
|
parentRoute: typeof AccessRoute
|
||||||
}
|
}
|
||||||
'/_authed/dashboard': {
|
'/_auth/dashboard': {
|
||||||
id: '/_authed/dashboard'
|
id: '/_auth/dashboard'
|
||||||
path: '/dashboard'
|
path: '/dashboard'
|
||||||
fullPath: '/dashboard'
|
fullPath: '/dashboard'
|
||||||
preLoaderRoute: typeof AuthedDashboardRouteImport
|
|
||||||
parentRoute: typeof AuthedRoute
|
|
||||||
=======
|
|
||||||
'/auth/dashboard': {
|
|
||||||
id: '/auth/dashboard'
|
|
||||||
path: '/auth/dashboard'
|
|
||||||
fullPath: '/auth/dashboard'
|
|
||||||
preLoaderRoute: typeof AuthDashboardRouteImport
|
preLoaderRoute: typeof AuthDashboardRouteImport
|
||||||
parentRoute: typeof rootRouteImport
|
parentRoute: typeof AuthRoute
|
||||||
>>>>>>> main
|
|
||||||
}
|
}
|
||||||
'/demo/sentry/testing': {
|
'/demo/sentry/testing': {
|
||||||
id: '/demo/sentry/testing'
|
id: '/demo/sentry/testing'
|
||||||
@@ -299,16 +247,15 @@ declare module '@tanstack/react-router' {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
interface AuthedRouteChildren {
|
interface AuthRouteChildren {
|
||||||
AuthedDashboardRoute: typeof AuthedDashboardRoute
|
AuthDashboardRoute: typeof AuthDashboardRoute
|
||||||
}
|
}
|
||||||
|
|
||||||
const AuthedRouteChildren: AuthedRouteChildren = {
|
const AuthRouteChildren: AuthRouteChildren = {
|
||||||
AuthedDashboardRoute: AuthedDashboardRoute,
|
AuthDashboardRoute: AuthDashboardRoute,
|
||||||
}
|
}
|
||||||
|
|
||||||
const AuthedRouteWithChildren =
|
const AuthRouteWithChildren = AuthRoute._addFileChildren(AuthRouteChildren)
|
||||||
AuthedRoute._addFileChildren(AuthedRouteChildren)
|
|
||||||
|
|
||||||
interface AccessRouteChildren {
|
interface AccessRouteChildren {
|
||||||
AccessLoginRoute: typeof AccessLoginRoute
|
AccessLoginRoute: typeof AccessLoginRoute
|
||||||
@@ -325,15 +272,10 @@ const AccessRouteWithChildren =
|
|||||||
|
|
||||||
const rootRouteChildren: RootRouteChildren = {
|
const rootRouteChildren: RootRouteChildren = {
|
||||||
IndexRoute: IndexRoute,
|
IndexRoute: IndexRoute,
|
||||||
<<<<<<< HEAD
|
AuthRoute: AuthRouteWithChildren,
|
||||||
AuthedRoute: AuthedRouteWithChildren,
|
|
||||||
AccessRoute: AccessRouteWithChildren,
|
AccessRoute: AccessRouteWithChildren,
|
||||||
LoginRoute: LoginRoute,
|
LoginRoute: LoginRoute,
|
||||||
LogoutRoute: LogoutRoute,
|
LogoutRoute: LogoutRoute,
|
||||||
=======
|
|
||||||
LoginRouteRoute: LoginRouteRoute,
|
|
||||||
AuthDashboardRoute: AuthDashboardRoute,
|
|
||||||
>>>>>>> main
|
|
||||||
DemoI18nRoute: DemoI18nRoute,
|
DemoI18nRoute: DemoI18nRoute,
|
||||||
DemoTanstackQueryRoute: DemoTanstackQueryRoute,
|
DemoTanstackQueryRoute: DemoTanstackQueryRoute,
|
||||||
DemoSentryTestingRoute: DemoSentryTestingRoute,
|
DemoSentryTestingRoute: DemoSentryTestingRoute,
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import { ToastProvider } from "@heroui/react"
|
||||||
import type { QueryClient } from "@tanstack/react-query"
|
import type { QueryClient } from "@tanstack/react-query"
|
||||||
import {
|
import {
|
||||||
createRootRouteWithContext,
|
createRootRouteWithContext,
|
||||||
@@ -55,6 +56,7 @@ function RootDocument({ children }: { children: React.ReactNode }) {
|
|||||||
<HeadContent />
|
<HeadContent />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<ToastProvider />
|
||||||
{children}
|
{children}
|
||||||
<Devtools />
|
<Devtools />
|
||||||
<Scripts />
|
<Scripts />
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { createFileRoute, Link, Outlet } from "@tanstack/react-router"
|
import { createFileRoute, Link, Outlet } from "@tanstack/react-router"
|
||||||
|
|
||||||
export const Route = createFileRoute("/_authed")({
|
export const Route = createFileRoute("/_auth")({
|
||||||
beforeLoad: ({ context }) => {
|
beforeLoad: ({ context }) => {
|
||||||
if (context.error) {
|
if (context.user.error) {
|
||||||
throw new Error("Not authenticated")
|
throw new Error("Not authenticated")
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -5,13 +5,13 @@ import { useState } from "react"
|
|||||||
import {
|
import {
|
||||||
Map as MapComponent,
|
Map as MapComponent,
|
||||||
MapMarker,
|
MapMarker,
|
||||||
MapViewport,
|
type MapViewport,
|
||||||
MarkerContent,
|
MarkerContent,
|
||||||
MarkerPopup,
|
MarkerPopup,
|
||||||
MarkerTooltip
|
MarkerTooltip
|
||||||
} from "@/components/maps/map"
|
} from "@/components/maps/map"
|
||||||
|
|
||||||
export const Route = createFileRoute("/auth/dashboard")({
|
export const Route = createFileRoute("/_auth/dashboard")({
|
||||||
component: RouteComponent
|
component: RouteComponent
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ function RouteComponent() {
|
|||||||
})
|
})
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<Card className="h-[800px] p-0 overflow-hidden">
|
<Card className="h-200 p-0 overflow-hidden">
|
||||||
<MapComponent
|
<MapComponent
|
||||||
center={[40.5874827, -1.7925343]}
|
center={[40.5874827, -1.7925343]}
|
||||||
zoom={10}
|
zoom={10}
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
import { createFileRoute } from '@tanstack/react-router'
|
|
||||||
|
|
||||||
export const Route = createFileRoute('/_authed/dashboard')({
|
|
||||||
component: RouteComponent,
|
|
||||||
})
|
|
||||||
|
|
||||||
function RouteComponent() {
|
|
||||||
return <div>Hello "/_authed/dashboard"!</div>
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,14 @@
|
|||||||
import { Button, Card, Form, Input, Label, Spinner } from "@heroui/react"
|
import {
|
||||||
|
Button,
|
||||||
|
Card,
|
||||||
|
FieldError,
|
||||||
|
Fieldset,
|
||||||
|
Form,
|
||||||
|
Input,
|
||||||
|
Label,
|
||||||
|
Spinner,
|
||||||
|
TextField
|
||||||
|
} from "@heroui/react"
|
||||||
import { createFileRoute } from "@tanstack/react-router"
|
import { createFileRoute } from "@tanstack/react-router"
|
||||||
import { LogIn } from "lucide-react"
|
import { LogIn } from "lucide-react"
|
||||||
import { useLogin } from "@/lib/hooks/useLogin"
|
import { useLogin } from "@/lib/hooks/useLogin"
|
||||||
@@ -23,28 +33,38 @@ function RouteComponent() {
|
|||||||
<div>
|
<div>
|
||||||
<Card.Content>
|
<Card.Content>
|
||||||
<Form onSubmit={handleFormSubmit} className="flex flex-col gap-4">
|
<Form onSubmit={handleFormSubmit} className="flex flex-col gap-4">
|
||||||
<Label isRequired className="ml-4 text-lg">
|
<Fieldset>
|
||||||
Correo
|
<Fieldset.Group>
|
||||||
</Label>
|
<TextField
|
||||||
<Input
|
type="email"
|
||||||
placeholder="Introduce tu correo"
|
name="email"
|
||||||
type="email"
|
variant="secondary"
|
||||||
name="email"
|
className="py-4 text-lg"
|
||||||
variant="secondary"
|
isRequired
|
||||||
className="py-4 text-lg "
|
defaultValue={import.meta.env.VITE_LOGIN_USER}
|
||||||
required
|
>
|
||||||
/>
|
<Label isRequired className="ml-4 text-lg">
|
||||||
<Label isRequired className="ml-4 text-lg">
|
Correo
|
||||||
Contraseña
|
</Label>
|
||||||
</Label>
|
<Input placeholder="Introduce tu correo" />
|
||||||
<Input
|
<FieldError />
|
||||||
placeholder="Introduce tu contraseña"
|
</TextField>
|
||||||
type="password"
|
<TextField
|
||||||
name="password"
|
type="password"
|
||||||
variant="secondary"
|
name="password"
|
||||||
className="py-4 text-lg "
|
variant="secondary"
|
||||||
required
|
className="py-4 text-lg"
|
||||||
/>
|
isRequired
|
||||||
|
defaultValue={import.meta.env.VITE_PASSWORD_USER}
|
||||||
|
>
|
||||||
|
<Label isRequired className="ml-4 text-lg">
|
||||||
|
Contraseña
|
||||||
|
</Label>
|
||||||
|
<Input placeholder="Introduce tu contraseña" />
|
||||||
|
<FieldError />
|
||||||
|
</TextField>
|
||||||
|
</Fieldset.Group>
|
||||||
|
</Fieldset>
|
||||||
<div className="flex justify-end">
|
<div className="flex justify-end">
|
||||||
<Button
|
<Button
|
||||||
type="submit"
|
type="submit"
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ import {
|
|||||||
export const Route = createFileRoute("/")({ component: App })
|
export const Route = createFileRoute("/")({ component: App })
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
|
const navigate = Route.useNavigate()
|
||||||
|
|
||||||
const features = [
|
const features = [
|
||||||
{
|
{
|
||||||
icon: <Zap className="w-12 h-12 text-cyan-400" />,
|
icon: <Zap className="w-12 h-12 text-cyan-400" />,
|
||||||
@@ -53,7 +55,17 @@ function App() {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="min-h-screen bg-linear-to-b from-slate-900 via-slate-800 to-slate-900">
|
<div className="min-h-screen bg-linear-to-b from-slate-900 via-slate-800 to-slate-900">
|
||||||
<Button> Hola</Button>
|
<Button
|
||||||
|
onPress={() => {
|
||||||
|
navigate({
|
||||||
|
to: "/login",
|
||||||
|
viewTransition: true
|
||||||
|
})
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{" "}
|
||||||
|
Hola
|
||||||
|
</Button>
|
||||||
<section className="relative py-20 px-6 text-center overflow-hidden">
|
<section className="relative py-20 px-6 text-center overflow-hidden">
|
||||||
<div className="absolute inset-0 bg-linear-to-r from-cyan-500/10 via-blue-500/10 to-purple-500/10"></div>
|
<div className="absolute inset-0 bg-linear-to-r from-cyan-500/10 via-blue-500/10 to-purple-500/10"></div>
|
||||||
<div className="relative max-w-5xl mx-auto">
|
<div className="relative max-w-5xl mx-auto">
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router"
|
import { createFileRoute } from "@tanstack/react-router"
|
||||||
|
import { user } from "@/lib/server/user"
|
||||||
|
|
||||||
export const Route = createFileRoute("/logout")({
|
export const Route = createFileRoute("/logout")({
|
||||||
beforeLoad: async ({ context }) => {}
|
beforeLoad: async () => {
|
||||||
|
await user.logout()
|
||||||
|
},
|
||||||
|
preload: false
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user