diff --git a/apps/web/package.json b/apps/web/package.json index 6d98f69..e04ba07 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -16,6 +16,7 @@ "@ducanh2912/next-pwa": "^10.2.6", "@emotion/react": "^11.11.4", "@emotion/styled": "^11.11.5", + "@headlessui/react": "^2.0.3", "@mui/icons-material": "^5.15.15", "@mui/material": "^5.15.15", "@tanstack/react-query": "^5.32.0", diff --git a/apps/web/public/background.png b/apps/web/public/background.png new file mode 100644 index 0000000..858a927 Binary files /dev/null and b/apps/web/public/background.png differ diff --git a/apps/web/public/background1.png b/apps/web/public/background1.png new file mode 100644 index 0000000..af4952f Binary files /dev/null and b/apps/web/public/background1.png differ diff --git a/apps/web/public/main1.png b/apps/web/public/main1.png new file mode 100644 index 0000000..c3b90d6 Binary files /dev/null and b/apps/web/public/main1.png differ diff --git a/apps/web/public/sunglasses.png b/apps/web/public/sunglasses.png new file mode 100644 index 0000000..0599fb3 Binary files /dev/null and b/apps/web/public/sunglasses.png differ diff --git a/apps/web/public/sw.js b/apps/web/public/sw.js index 82a4c0f..9a4e8aa 100644 --- a/apps/web/public/sw.js +++ b/apps/web/public/sw.js @@ -1 +1,2 @@ -if(!self.define){let e,a={};const s=(s,i)=>(s=new URL(s+".js",i).href,a[s]||new Promise((a=>{if("document"in self){const e=document.createElement("script");e.src=s,e.onload=a,document.head.appendChild(e)}else e=s,importScripts(s),a()})).then((()=>{let e=a[s];if(!e)throw new Error(`Module ${s} didn’t register its module`);return e})));self.define=(i,c)=>{const n=e||("document"in self?document.currentScript.src:"")||location.href;if(a[n])return;let t={};const f=e=>s(e,n),d={module:{uri:n},exports:t,require:f};a[n]=Promise.all(i.map((e=>d[e]||f(e)))).then((e=>(c(...e),t)))}}define(["./workbox-9564d7f6"],(function(e){"use strict";importScripts(),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"/Albert.png",revision:"ea726bb8c9062fc5d2ccf47c91a2c208"},{url:"/Jake.png",revision:"c6e6f0e6d30c0246a2d2a8f5c0735f24"},{url:"/Solo.png",revision:"151000ceb2ea9efb49fc1f3b81845d7c"},{url:"/Sophia.png",revision:"ea9376ae496798168cc37f50a3b9841b"},{url:"/_next/static/b4U_6GLsn67tOv37Bg_8K/_buildManifest.js",revision:"f6c21f93baf19d71e917a8f8e41b8424"},{url:"/_next/static/b4U_6GLsn67tOv37Bg_8K/_ssgManifest.js",revision:"b6652df95db52feb4daf4eca35380933"},{url:"/_next/static/chunks/305.3470641eb77f90f2.js",revision:"3470641eb77f90f2"},{url:"/_next/static/chunks/449-d556681ce1e2794e.js",revision:"b4U_6GLsn67tOv37Bg_8K"},{url:"/_next/static/chunks/456-ac8ef46cb2006dea.js",revision:"b4U_6GLsn67tOv37Bg_8K"},{url:"/_next/static/chunks/50eabd66-48530077fc1509ba.js",revision:"b4U_6GLsn67tOv37Bg_8K"},{url:"/_next/static/chunks/538.2c8ff711069127f4.js",revision:"2c8ff711069127f4"},{url:"/_next/static/chunks/548.42ac187d48965f60.js",revision:"42ac187d48965f60"},{url:"/_next/static/chunks/565.e84857e45b05ac24.js",revision:"e84857e45b05ac24"},{url:"/_next/static/chunks/62-d8edda3b8fc7d5ae.js",revision:"b4U_6GLsn67tOv37Bg_8K"},{url:"/_next/static/chunks/632.998d56dcd8c76588.js",revision:"998d56dcd8c76588"},{url:"/_next/static/chunks/658.a2c1d37e24a31c47.js",revision:"a2c1d37e24a31c47"},{url:"/_next/static/chunks/716.b7e578ed8f9d2a7f.js",revision:"b7e578ed8f9d2a7f"},{url:"/_next/static/chunks/752.fbf4b464afd712ac.js",revision:"fbf4b464afd712ac"},{url:"/_next/static/chunks/804.3948508efd883b78.js",revision:"3948508efd883b78"},{url:"/_next/static/chunks/805-025f458a40f24a37.js",revision:"b4U_6GLsn67tOv37Bg_8K"},{url:"/_next/static/chunks/93e2f757-bd6b9e267b6ca4aa.js",revision:"b4U_6GLsn67tOv37Bg_8K"},{url:"/_next/static/chunks/app/_not-found/page-3094cfb19a3068d6.js",revision:"b4U_6GLsn67tOv37Bg_8K"},{url:"/_next/static/chunks/app/layout-d5b7048cbee6128f.js",revision:"b4U_6GLsn67tOv37Bg_8K"},{url:"/_next/static/chunks/app/page-093d5be1c908ff7e.js",revision:"b4U_6GLsn67tOv37Bg_8K"},{url:"/_next/static/chunks/app/profile/page-57f9a088c297b935.js",revision:"b4U_6GLsn67tOv37Bg_8K"},{url:"/_next/static/chunks/c107fa1b.445a44a080d3ab21.js",revision:"445a44a080d3ab21"},{url:"/_next/static/chunks/framework-036af537c76198b1.js",revision:"b4U_6GLsn67tOv37Bg_8K"},{url:"/_next/static/chunks/main-8e39ec0d9308a966.js",revision:"b4U_6GLsn67tOv37Bg_8K"},{url:"/_next/static/chunks/main-app-af4854f58f70ac5b.js",revision:"b4U_6GLsn67tOv37Bg_8K"},{url:"/_next/static/chunks/pages/_app-65fc6011b48e8393.js",revision:"b4U_6GLsn67tOv37Bg_8K"},{url:"/_next/static/chunks/pages/_error-b242a615af41f779.js",revision:"b4U_6GLsn67tOv37Bg_8K"},{url:"/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js",revision:"79330112775102f91e1010318bae2bd3"},{url:"/_next/static/chunks/webpack-1e5b6ff12487f9ef.js",revision:"b4U_6GLsn67tOv37Bg_8K"},{url:"/_next/static/css/15d49faf56edf979.css",revision:"15d49faf56edf979"},{url:"/_next/static/media/0e4fe491bf84089c-s.p.woff2",revision:"5e22a46c04d947a36ea0cad07afcc9e1"},{url:"/_next/static/media/1c57ca6f5208a29b-s.woff2",revision:"491a7a9678c3cfd4f86c092c68480f23"},{url:"/_next/static/media/37b0c0a51409261e-s.woff2",revision:"5ce748f413aee42a8d4723df0d18830b"},{url:"/_next/static/media/3dbd163d3bb09d47-s.woff2",revision:"93dcb0c222437699e9dd591d8b5a6b85"},{url:"/_next/static/media/42d52f46a26971a3-s.woff2",revision:"b44d0dd122f9146504d444f290252d88"},{url:"/_next/static/media/44c3f6d12248be7f-s.woff2",revision:"705e5297b1a92dac3b13b2705b7156a7"},{url:"/_next/static/media/46c894be853ec49f-s.woff2",revision:"47891b6adb3a947dd3c594bd5196850e"},{url:"/_next/static/media/4a8324e71b197806-s.woff2",revision:"5fba57b10417c946c556545c9f348bbd"},{url:"/_next/static/media/506bd11311670951-s.woff2",revision:"7976a92314c8770252603e7813da9f67"},{url:"/_next/static/media/5647e4c23315a2d2-s.woff2",revision:"e64969a373d0acf2586d1fd4224abb90"},{url:"/_next/static/media/627622453ef56b0d-s.p.woff2",revision:"e7df3d0942815909add8f9d0c40d00d9"},{url:"/_next/static/media/71ba03c5176fbd9c-s.woff2",revision:"2effa1fe2d0dff3e7b8c35ee120e0d05"},{url:"/_next/static/media/7be645d133f3ee22-s.woff2",revision:"3ba6fb27a0ea92c2f1513add6dbddf37"},{url:"/_next/static/media/7c53f7419436e04b-s.woff2",revision:"fd4ff709e3581e3f62e40e90260a1ad7"},{url:"/_next/static/media/7d8c9b0ca4a64a5a-s.p.woff2",revision:"0772a436bbaaaf4381e9d87bab168217"},{url:"/_next/static/media/80a2a8cc25a3c264-s.woff2",revision:"2d3d8a78ef164ab6c1c62a3e57c2727b"},{url:"/_next/static/media/83e4d81063b4b659-s.woff2",revision:"bd30db6b297b76f3a3a76f8d8ec5aac9"},{url:"/_next/static/media/8db47a8bf03b7d2f-s.p.woff2",revision:"49003e0ff09f1efb8323cf35b836ba8f"},{url:"/_next/static/media/8fb72f69fba4e3d2-s.woff2",revision:"7a2e2eae214e49b4333030f789100720"},{url:"/_next/static/media/912a9cfe43c928d9-s.woff2",revision:"376ffe2ca0b038d08d5e582ec13a310f"},{url:"/_next/static/media/934c4b7cb736f2a3-s.p.woff2",revision:"1f6d3cf6d38f25d83d95f5a800b8cac3"},{url:"/_next/static/media/94300924a0693016-s.woff2",revision:"105927314bd3f089b99c0dda456171ed"},{url:"/_next/static/media/9e48537b1b020091-s.woff2",revision:"4b52fd954ca934c204d73ddbc640e5d4"},{url:"/_next/static/media/a5b77b63ef20339c-s.woff2",revision:"96e992d510ed36aa573ab75df8698b42"},{url:"/_next/static/media/a6d330d7873e7320-s.woff2",revision:"f7ec4e2d6c9f82076c56a871d1d23a2d"},{url:"/_next/static/media/baf12dd90520ae41-s.woff2",revision:"8096f9b1a15c26638179b6c9499ff260"},{url:"/_next/static/media/bbdb6f0234009aba-s.woff2",revision:"5756151c819325914806c6be65088b13"},{url:"/_next/static/media/bd976642b4f7fd99-s.woff2",revision:"cc0ffafe16e997fe75c32c5c6837e781"},{url:"/_next/static/media/cff529cd86cc0276-s.woff2",revision:"c2b2c28b98016afb2cb7e029c23f1f9f"},{url:"/_next/static/media/d117eea74e01de14-s.woff2",revision:"4d1e5298f2c7e19ba39a6ac8d88e91bd"},{url:"/_next/static/media/de9eb3a9f0fa9e10-s.woff2",revision:"7155c037c22abdc74e4e6be351c0593c"},{url:"/_next/static/media/dfa8b99978df7bbc-s.woff2",revision:"7a500aa24dccfcf0cc60f781072614f5"},{url:"/_next/static/media/e25729ca87cc7df9-s.woff2",revision:"9a74bbc5f0d651f8f5b6df4fb3c5c755"},{url:"/_next/static/media/eb52b768f62eeeb4-s.woff2",revision:"90687dc5a4b6b6271c9f1c1d4986ca10"},{url:"/_next/static/media/f06116e890b3dadb-s.woff2",revision:"2855f7c90916c37fe4e6bd36205a26a8"},{url:"/bg.png",revision:"d74693097a94531633eea8f052e057b6"},{url:"/konan-hero.png",revision:"6d1bb98517bea08bbd5720a339ada80f"},{url:"/konan-hero.webp",revision:"e952c2171f6bc972b5cd7ff11f9fbd5d"},{url:"/konan-nav-logo.webp",revision:"a7d84dc364fabbac8f39905e059db4b0"},{url:"/konan_logo.webp",revision:"b15b23cae740c8a339c64d397bd70d89"},{url:"/manifest.json",revision:"5e774ea1a43f1afc1a64fb70b230df02"},{url:"/swe-worker-5c72df51bb1f6ee0.js",revision:"5a47d90db13bb1309b25bdf7b363570e"}],{ignoreURLParametersMatching:[/^utm_/,/^fbclid$/]}),e.cleanupOutdatedCaches(),e.registerRoute("/",new e.NetworkFirst({cacheName:"start-url",plugins:[{cacheWillUpdate:async({response:e})=>e&&"opaqueredirect"===e.type?new Response(e.body,{status:200,statusText:"OK",headers:e.headers}):e}]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:gstatic)\.com\/.*/i,new e.CacheFirst({cacheName:"google-fonts-webfonts",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:31536e3})]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:googleapis)\.com\/.*/i,new e.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800})]}),"GET"),e.registerRoute(/\.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i,new e.StaleWhileRevalidate({cacheName:"static-font-assets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800})]}),"GET"),e.registerRoute(/\.(?:jpg|jpeg|gif|png|svg|ico|webp)$/i,new e.StaleWhileRevalidate({cacheName:"static-image-assets",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:2592e3})]}),"GET"),e.registerRoute(/\/_next\/static.+\.js$/i,new e.CacheFirst({cacheName:"next-static-js-assets",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\/_next\/image\?url=.+$/i,new e.StaleWhileRevalidate({cacheName:"next-image",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:mp3|wav|ogg)$/i,new e.CacheFirst({cacheName:"static-audio-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:mp4|webm)$/i,new e.CacheFirst({cacheName:"static-video-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:js)$/i,new e.StaleWhileRevalidate({cacheName:"static-js-assets",plugins:[new e.ExpirationPlugin({maxEntries:48,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:css|less)$/i,new e.StaleWhileRevalidate({cacheName:"static-style-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\/_next\/data\/.+\/.+\.json$/i,new e.StaleWhileRevalidate({cacheName:"next-data",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:json|xml|csv)$/i,new e.NetworkFirst({cacheName:"static-data-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({sameOrigin:e,url:{pathname:a}})=>!(!e||a.startsWith("/api/auth/callback")||!a.startsWith("/api/"))),new e.NetworkFirst({cacheName:"apis",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:16,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({request:e,url:{pathname:a},sameOrigin:s})=>"1"===e.headers.get("RSC")&&"1"===e.headers.get("Next-Router-Prefetch")&&s&&!a.startsWith("/api/")),new e.NetworkFirst({cacheName:"pages-rsc-prefetch",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({request:e,url:{pathname:a},sameOrigin:s})=>"1"===e.headers.get("RSC")&&s&&!a.startsWith("/api/")),new e.NetworkFirst({cacheName:"pages-rsc",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({url:{pathname:e},sameOrigin:a})=>a&&!e.startsWith("/api/")),new e.NetworkFirst({cacheName:"pages",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({sameOrigin:e})=>!e),new e.NetworkFirst({cacheName:"cross-origin",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:3600})]}),"GET"),self.__WB_DISABLE_DEV_LOGS=!0})); +if(!self.define){let e,a={};const s=(s,c)=>(s=new URL(s+".js",c).href,a[s]||new Promise((a=>{if("document"in self){const e=document.createElement("script");e.src=s,e.onload=a,document.head.appendChild(e)}else e=s,importScripts(s),a()})).then((()=>{let e=a[s];if(!e)throw new Error(`Module ${s} didn’t register its module`);return e})));self.define=(c,i)=>{const n=e||("document"in self?document.currentScript.src:"")||location.href;if(a[n])return;let t={};const f=e=>s(e,n),d={module:{uri:n},exports:t,require:f};a[n]=Promise.all(c.map((e=>d[e]||f(e)))).then((e=>(i(...e),t)))}}define(["./workbox-9564d7f6"],(function(e){"use strict";importScripts(),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"/Albert.png",revision:"ea726bb8c9062fc5d2ccf47c91a2c208"},{url:"/Jake.png",revision:"c6e6f0e6d30c0246a2d2a8f5c0735f24"},{url:"/Solo.png",revision:"151000ceb2ea9efb49fc1f3b81845d7c"},{url:"/Sophia.png",revision:"ea9376ae496798168cc37f50a3b9841b"},{url:"/_next/static/AWlxa3uI_wzdE3McvHkw1/_buildManifest.js",revision:"f6c21f93baf19d71e917a8f8e41b8424"},{url:"/_next/static/AWlxa3uI_wzdE3McvHkw1/_ssgManifest.js",revision:"b6652df95db52feb4daf4eca35380933"},{url:"/_next/static/chunks/264-3a7c209bcdf3bf8f.js",revision:"AWlxa3uI_wzdE3McvHkw1"},{url:"/_next/static/chunks/305.3470641eb77f90f2.js",revision:"3470641eb77f90f2"},{url:"/_next/static/chunks/456-2a384064e4fdccbe.js",revision:"AWlxa3uI_wzdE3McvHkw1"},{url:"/_next/static/chunks/50eabd66-bbc951c7b9f09013.js",revision:"AWlxa3uI_wzdE3McvHkw1"},{url:"/_next/static/chunks/538.2c8ff711069127f4.js",revision:"2c8ff711069127f4"},{url:"/_next/static/chunks/548.42ac187d48965f60.js",revision:"42ac187d48965f60"},{url:"/_next/static/chunks/565.e84857e45b05ac24.js",revision:"e84857e45b05ac24"},{url:"/_next/static/chunks/632.998d56dcd8c76588.js",revision:"998d56dcd8c76588"},{url:"/_next/static/chunks/658.a2c1d37e24a31c47.js",revision:"a2c1d37e24a31c47"},{url:"/_next/static/chunks/659-1946017aef7d1911.js",revision:"AWlxa3uI_wzdE3McvHkw1"},{url:"/_next/static/chunks/693-144f2f637dc782ce.js",revision:"AWlxa3uI_wzdE3McvHkw1"},{url:"/_next/static/chunks/716.b7e578ed8f9d2a7f.js",revision:"b7e578ed8f9d2a7f"},{url:"/_next/static/chunks/752.fbf4b464afd712ac.js",revision:"fbf4b464afd712ac"},{url:"/_next/static/chunks/804.3948508efd883b78.js",revision:"3948508efd883b78"},{url:"/_next/static/chunks/93e2f757-e6fe9f882bc1ea88.js",revision:"AWlxa3uI_wzdE3McvHkw1"},{url:"/_next/static/chunks/app/_not-found/page-e1337a38ff54e7f4.js",revision:"AWlxa3uI_wzdE3McvHkw1"},{url:"/_next/static/chunks/app/layout-1305981de9d6e53f.js",revision:"AWlxa3uI_wzdE3McvHkw1"},{url:"/_next/static/chunks/app/page-388fcd17b66d4289.js",revision:"AWlxa3uI_wzdE3McvHkw1"},{url:"/_next/static/chunks/app/profile/page-1dd869a12e65e4b8.js",revision:"AWlxa3uI_wzdE3McvHkw1"},{url:"/_next/static/chunks/c107fa1b.445a44a080d3ab21.js",revision:"445a44a080d3ab21"},{url:"/_next/static/chunks/framework-036af537c76198b1.js",revision:"AWlxa3uI_wzdE3McvHkw1"},{url:"/_next/static/chunks/main-8e39ec0d9308a966.js",revision:"AWlxa3uI_wzdE3McvHkw1"},{url:"/_next/static/chunks/main-app-46de5de00abf01f2.js",revision:"AWlxa3uI_wzdE3McvHkw1"},{url:"/_next/static/chunks/pages/_app-65fc6011b48e8393.js",revision:"AWlxa3uI_wzdE3McvHkw1"},{url:"/_next/static/chunks/pages/_error-b242a615af41f779.js",revision:"AWlxa3uI_wzdE3McvHkw1"},{url:"/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js",revision:"79330112775102f91e1010318bae2bd3"},{url:"/_next/static/chunks/webpack-e788b387cdcb23f0.js",revision:"AWlxa3uI_wzdE3McvHkw1"},{url:"/_next/static/css/95eafe035107654e.css",revision:"95eafe035107654e"},{url:"/_next/static/media/0e4fe491bf84089c-s.p.woff2",revision:"5e22a46c04d947a36ea0cad07afcc9e1"},{url:"/_next/static/media/1c57ca6f5208a29b-s.woff2",revision:"491a7a9678c3cfd4f86c092c68480f23"},{url:"/_next/static/media/37b0c0a51409261e-s.woff2",revision:"5ce748f413aee42a8d4723df0d18830b"},{url:"/_next/static/media/3dbd163d3bb09d47-s.woff2",revision:"93dcb0c222437699e9dd591d8b5a6b85"},{url:"/_next/static/media/42d52f46a26971a3-s.woff2",revision:"b44d0dd122f9146504d444f290252d88"},{url:"/_next/static/media/44c3f6d12248be7f-s.woff2",revision:"705e5297b1a92dac3b13b2705b7156a7"},{url:"/_next/static/media/46c894be853ec49f-s.woff2",revision:"47891b6adb3a947dd3c594bd5196850e"},{url:"/_next/static/media/4a8324e71b197806-s.woff2",revision:"5fba57b10417c946c556545c9f348bbd"},{url:"/_next/static/media/506bd11311670951-s.woff2",revision:"7976a92314c8770252603e7813da9f67"},{url:"/_next/static/media/5647e4c23315a2d2-s.woff2",revision:"e64969a373d0acf2586d1fd4224abb90"},{url:"/_next/static/media/627622453ef56b0d-s.p.woff2",revision:"e7df3d0942815909add8f9d0c40d00d9"},{url:"/_next/static/media/71ba03c5176fbd9c-s.woff2",revision:"2effa1fe2d0dff3e7b8c35ee120e0d05"},{url:"/_next/static/media/7be645d133f3ee22-s.woff2",revision:"3ba6fb27a0ea92c2f1513add6dbddf37"},{url:"/_next/static/media/7c53f7419436e04b-s.woff2",revision:"fd4ff709e3581e3f62e40e90260a1ad7"},{url:"/_next/static/media/7d8c9b0ca4a64a5a-s.p.woff2",revision:"0772a436bbaaaf4381e9d87bab168217"},{url:"/_next/static/media/80a2a8cc25a3c264-s.woff2",revision:"2d3d8a78ef164ab6c1c62a3e57c2727b"},{url:"/_next/static/media/83e4d81063b4b659-s.woff2",revision:"bd30db6b297b76f3a3a76f8d8ec5aac9"},{url:"/_next/static/media/8db47a8bf03b7d2f-s.p.woff2",revision:"49003e0ff09f1efb8323cf35b836ba8f"},{url:"/_next/static/media/8fb72f69fba4e3d2-s.woff2",revision:"7a2e2eae214e49b4333030f789100720"},{url:"/_next/static/media/912a9cfe43c928d9-s.woff2",revision:"376ffe2ca0b038d08d5e582ec13a310f"},{url:"/_next/static/media/934c4b7cb736f2a3-s.p.woff2",revision:"1f6d3cf6d38f25d83d95f5a800b8cac3"},{url:"/_next/static/media/94300924a0693016-s.woff2",revision:"105927314bd3f089b99c0dda456171ed"},{url:"/_next/static/media/9e48537b1b020091-s.woff2",revision:"4b52fd954ca934c204d73ddbc640e5d4"},{url:"/_next/static/media/a5b77b63ef20339c-s.woff2",revision:"96e992d510ed36aa573ab75df8698b42"},{url:"/_next/static/media/a6d330d7873e7320-s.woff2",revision:"f7ec4e2d6c9f82076c56a871d1d23a2d"},{url:"/_next/static/media/baf12dd90520ae41-s.woff2",revision:"8096f9b1a15c26638179b6c9499ff260"},{url:"/_next/static/media/bbdb6f0234009aba-s.woff2",revision:"5756151c819325914806c6be65088b13"},{url:"/_next/static/media/bd976642b4f7fd99-s.woff2",revision:"cc0ffafe16e997fe75c32c5c6837e781"},{url:"/_next/static/media/cff529cd86cc0276-s.woff2",revision:"c2b2c28b98016afb2cb7e029c23f1f9f"},{url:"/_next/static/media/d117eea74e01de14-s.woff2",revision:"4d1e5298f2c7e19ba39a6ac8d88e91bd"},{url:"/_next/static/media/de9eb3a9f0fa9e10-s.woff2",revision:"7155c037c22abdc74e4e6be351c0593c"},{url:"/_next/static/media/dfa8b99978df7bbc-s.woff2",revision:"7a500aa24dccfcf0cc60f781072614f5"},{url:"/_next/static/media/e25729ca87cc7df9-s.woff2",revision:"9a74bbc5f0d651f8f5b6df4fb3c5c755"},{url:"/_next/static/media/eb52b768f62eeeb4-s.woff2",revision:"90687dc5a4b6b6271c9f1c1d4986ca10"},{url:"/_next/static/media/f06116e890b3dadb-s.woff2",revision:"2855f7c90916c37fe4e6bd36205a26a8"},{url:"/background.png",revision:"120f26099ae099dc7f4274a961ca8be1"},{url:"/background1.png",revision:"2e0d3684cfa51bcea9f7362e7dd4bb44"},{url:"/bg.png",revision:"d74693097a94531633eea8f052e057b6"},{url:"/konan-hero.png",revision:"6d1bb98517bea08bbd5720a339ada80f"},{url:"/konan-hero.webp",revision:"e952c2171f6bc972b5cd7ff11f9fbd5d"},{url:"/konan-nav-logo.webp",revision:"a7d84dc364fabbac8f39905e059db4b0"},{url:"/konan_logo.webp",revision:"b15b23cae740c8a339c64d397bd70d89"},{url:"/main1.png",revision:"68ff0d948d1742b3caec56ebff07b5c5"},{url:"/manifest.json",revision:"5e774ea1a43f1afc1a64fb70b230df02"},{url:"/sunglasses.png",revision:"7a2a56c457d8b09411a8a823b36d9a1c"},{url:"/swe-worker-5c72df51bb1f6ee0.js",revision:"5a47d90db13bb1309b25bdf7b363570e"}],{ignoreURLParametersMatching:[/^utm_/,/^fbclid$/]}),e.cleanupOutdatedCaches(),e.registerRoute("/",new e.NetworkFirst({cacheName:"start-url",plugins:[{cacheWillUpdate:async({response:e})=>e&&"opaqueredirect"===e.type?new Response(e.body,{status:200,statusText:"OK",headers:e.headers}):e}]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:gstatic)\.com\/.*/i,new e.CacheFirst({cacheName:"google-fonts-webfonts",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:31536e3})]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:googleapis)\.com\/.*/i,new e.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800})]}),"GET"),e.registerRoute(/\.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i,new e.StaleWhileRevalidate({cacheName:"static-font-assets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800})]}),"GET"),e.registerRoute(/\.(?:jpg|jpeg|gif|png|svg|ico|webp)$/i,new e.StaleWhileRevalidate({cacheName:"static-image-assets",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:2592e3})]}),"GET"),e.registerRoute(/\/_next\/static.+\.js$/i,new e.CacheFirst({cacheName:"next-static-js-assets",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\/_next\/image\?url=.+$/i,new e.StaleWhileRevalidate({cacheName:"next-image",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:mp3|wav|ogg)$/i,new e.CacheFirst({cacheName:"static-audio-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:mp4|webm)$/i,new e.CacheFirst({cacheName:"static-video-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:js)$/i,new e.StaleWhileRevalidate({cacheName:"static-js-assets",plugins:[new e.ExpirationPlugin({maxEntries:48,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:css|less)$/i,new e.StaleWhileRevalidate({cacheName:"static-style-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\/_next\/data\/.+\/.+\.json$/i,new e.StaleWhileRevalidate({cacheName:"next-data",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:json|xml|csv)$/i,new e.NetworkFirst({cacheName:"static-data-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({sameOrigin:e,url:{pathname:a}})=>!(!e||a.startsWith("/api/auth/callback")||!a.startsWith("/api/"))),new e.NetworkFirst({cacheName:"apis",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:16,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({request:e,url:{pathname:a},sameOrigin:s})=>"1"===e.headers.get("RSC")&&"1"===e.headers.get("Next-Router-Prefetch")&&s&&!a.startsWith("/api/")),new e.NetworkFirst({cacheName:"pages-rsc-prefetch",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({request:e,url:{pathname:a},sameOrigin:s})=>"1"===e.headers.get("RSC")&&s&&!a.startsWith("/api/")),new e.NetworkFirst({cacheName:"pages-rsc",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({url:{pathname:e},sameOrigin:a})=>a&&!e.startsWith("/api/")),new e.NetworkFirst({cacheName:"pages",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({sameOrigin:e})=>!e),new e.NetworkFirst({cacheName:"cross-origin",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:3600})]}),"GET"),self.__WB_DISABLE_DEV_LOGS=!0})); + diff --git a/apps/web/src/app/globals.css b/apps/web/src/app/globals.css index 6ff3503..8e04a20 100644 --- a/apps/web/src/app/globals.css +++ b/apps/web/src/app/globals.css @@ -97,4 +97,10 @@ 71% {background-color: indigo;} 85% {background-color: violet;} 100% {background-color: red;} +} + +.freeman-regular { + font-family: "Freeman", sans-serif; + font-weight: 400; + font-style: normal; } \ No newline at end of file diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx index a307c27..406b81c 100644 --- a/apps/web/src/app/layout.tsx +++ b/apps/web/src/app/layout.tsx @@ -1,5 +1,4 @@ import React from "react"; - import type { Metadata, Viewport } from "next"; import { Roboto } from "next/font/google"; import "./globals.css"; @@ -31,8 +30,12 @@ export default function RootLayout({ }>) { return ( + + + + {children} diff --git a/apps/web/src/app/page.tsx b/apps/web/src/app/page.tsx index 277f8e4..894e213 100644 --- a/apps/web/src/app/page.tsx +++ b/apps/web/src/app/page.tsx @@ -1,3 +1,4 @@ +"use client"; import { Navbar, Footer, Hero, Mint_nft, Business, Team } from "@/components"; import { Box } from "@mui/material"; diff --git a/apps/web/src/app/profile/page.tsx b/apps/web/src/app/profile/page.tsx index 77c31f4..9bc4978 100644 --- a/apps/web/src/app/profile/page.tsx +++ b/apps/web/src/app/profile/page.tsx @@ -1,3 +1,4 @@ +"use client"; import { Navbar, Footer } from "@/components"; import { Hero } from "@/components/profile"; import { Box } from "@mui/material"; diff --git a/apps/web/src/components/Loading.tsx b/apps/web/src/components/Loading.tsx index 729b321..3a863eb 100644 --- a/apps/web/src/components/Loading.tsx +++ b/apps/web/src/components/Loading.tsx @@ -1,7 +1,41 @@ -"use client"; -import { Box } from "@mui/material"; -import React from "react"; - -export function Loading() { - return ; -} +export function Loading(props: any) { + return ( + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ Loading... +

+
+ {props.close&&} +
+
+
+ ) +} \ No newline at end of file diff --git a/apps/web/src/components/navbar.tsx b/apps/web/src/components/navbar.tsx index e76d629..66f4879 100644 --- a/apps/web/src/components/navbar.tsx +++ b/apps/web/src/components/navbar.tsx @@ -1,8 +1,6 @@ "use client"; - import React, { useEffect } from "react"; -import Image from "next/image"; import Link from "next/link"; import { diff --git a/apps/web/src/components/profile/NFTCard.tsx b/apps/web/src/components/profile/NFTCard.tsx index 079af86..48f22d3 100644 --- a/apps/web/src/components/profile/NFTCard.tsx +++ b/apps/web/src/components/profile/NFTCard.tsx @@ -1,41 +1,110 @@ -import React from "react"; +"use client"; +import React, { useState, Fragment } from "react"; import Card from "@mui/material/Card"; import CardContent from "@mui/material/CardContent"; import CardMedia from "@mui/material/CardMedia"; import Typography from "@mui/material/Typography"; -import { CardActionArea, CardActions } from "@mui/material"; +import { CardActionArea } from "@mui/material"; import { nftIPFS } from "@/content/ipfs/ipfs-nft"; -import Link from "next/link"; +import { Dialog, Transition } from '@headlessui/react' + export function NFTCard(props: { index: number }) { + const [isOpen, sstIsOpen] = useState(false) + + function closeModal() { + sstIsOpen(false) + } + return ( - - - - - - {nftIPFS[props.index].name} - - - Solo is gold System Architect. - - - - - - Show details - - - +
{sstIsOpen(true)}}> + + + + + + {nftIPFS[props.index].name} + + + Solo is gold System Architect. + + + + + + + +
+ +
+
+ + +
+
+ + + +
+
+
+ image description +

Dinosaur #1

+
+
+
+

Dinosaur #1

+

Created by SoloLin

+

arbitrum sepolia:

+

{"0xf3419771c2551f88a91Db61cB874347f05640172"}

+
+
+

Accessories

+
+
+
+
UnLock!
+
+ image description +
+
+
UnLock!
+
+ image description +
+
+
+
+
+
+
+
+
+
+
+
+ ); } diff --git a/apps/web/src/components/profile/hero.tsx b/apps/web/src/components/profile/hero.tsx index 61dd9f0..f7a1975 100644 --- a/apps/web/src/components/profile/hero.tsx +++ b/apps/web/src/components/profile/hero.tsx @@ -1,101 +1,82 @@ "use client"; -import React, { useEffect, useState } from "react"; -import { Box, Button, Typography } from "@mui/material"; +import React, { Fragment, useEffect, useState } from "react"; +import { Dialog, Transition } from '@headlessui/react' import { useAccount, useBalance } from "wagmi"; import { Loading } from "@/components"; -import { Avatar } from "connectkit"; -import { NestedList } from "./SideList"; -import { NftTable } from "./NftTable"; -import { ProfileText } from "@/content/ProfileData"; +import { useRouter } from "next/navigation"; +import { NFTCard } from "./NFTCard"; + export function Hero() { - const [isClient, setIsClient] = useState(false); - const [isExpanded, setIsExpanded] = useState(false); + const router = useRouter() - const { address, isConnected, chain } = useAccount(); + const [isOpen, sstIsOpen] = useState(false) + const [loading, setLoading] = useState(false) - const isAddress: `0x${string}` | undefined = address; + const { address, isConnected, chain } = useAccount(); - // data?.value可以取的Address的balance - const { data, isError, isLoading } = useBalance({ - address: isAddress, - }); useEffect(() => { - if (isConnected === true) { - setIsClient(true); - } else { - setIsClient(false); + if (!isConnected) { + router.push('/') } }, [isConnected]); - const toggleText = () => { - setIsExpanded(!isExpanded); - }; + function closeModal() { + sstIsOpen(false) + } return ( <> - {isClient ? ( - - - {/* user profile data */} - - - {/* 這裡放合約頭像、名稱 */} - - - Konan Dynamic NFTs - - - - - - - {isExpanded ? ( - <> - - {ProfileText} - - - - ) : ( - <> - - {ProfileText} - - - - )} - - - Created May 2024 - Chain {chain?.name} - - {/* 這裡放Profile NFT,NestedList是屬性sideBar,NftTable放Profile的IPFS NFT */} - - - - - - - - ) : ( - - - - Connect wallet to show your collection - - - )} + + + + + + + + - ); + ) } diff --git a/apps/web/src/content/ipfs/ipfs-nft.ts b/apps/web/src/content/ipfs/ipfs-nft.ts index 7054705..28f4065 100644 --- a/apps/web/src/content/ipfs/ipfs-nft.ts +++ b/apps/web/src/content/ipfs/ipfs-nft.ts @@ -4,12 +4,12 @@ export const nftIPFS: IPFSTyeps[] = [ { id: 0, name: "ipfs0", - src: "https://gateway.pinata.cloud/ipfs/QmXkZKkco9VLsQfqQWHBrwHRY2iSezUsxGx88fGBmF8qZ7/NightClub.png", + src: "https://gateway.pinata.cloud/ipfs/QmeobMV4X8WZNfQJhmUgMFh3gZ6rAsWD63wVuENazZM24Z", }, { id: 1, name: "ipfs1", - src: "https://gateway.pinata.cloud/ipfs/QmXkZKkco9VLsQfqQWHBrwHRY2iSezUsxGx88fGBmF8qZ7/NightClub2.png", + src: "https://gateway.pinata.cloud/ipfs/QmfSUfwXbc739ax7HSo5e6UHUJCh2P9necbULAZK5dBS45", }, { id: 2, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f94e5a5..56a90df 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,7 +19,7 @@ importers: version: link:packages/tsconfig turbo: specifier: latest - version: 1.12.5 + version: 1.10.13 apps/web: dependencies: @@ -32,6 +32,9 @@ importers: '@emotion/styled': specifier: ^11.11.5 version: 11.11.5(@emotion/react@11.11.4)(@types/react@18.3.1)(react@18.2.0) + '@headlessui/react': + specifier: ^2.0.3 + version: 2.0.3(react-dom@18.2.0)(react@18.2.0) '@mui/icons-material': specifier: ^5.15.15 version: 5.15.15(@mui/material@5.15.15)(@types/react@18.3.1)(react@18.2.0) @@ -2578,6 +2581,19 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false + /@floating-ui/react@0.26.13(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-kBa9wntpugzrZ8t/4yWelvSmEKZdeTXTJzrxqyrLmcU/n1SM4nvse8yQh2e1b37rJGvtu0EplV9+IkBrCJ1vkw==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + dependencies: + '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0)(react@18.2.0) + '@floating-ui/utils': 0.2.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + tabbable: 6.2.0 + dev: false + /@floating-ui/utils@0.2.1: resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} dev: false @@ -2592,6 +2608,21 @@ packages: '@hapi/hoek': 9.3.0 dev: false + /@headlessui/react@2.0.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Xd1h0YZgfhxZ7W1w4TvK0/TZ1c4qaX4liYVUkAXqW1HCLcXSqnMeYAUGJS/BBroBAUL9HErjyFcRpCWRQZ/0lA==} + engines: {node: '>=10'} + peerDependencies: + react: ^18 + react-dom: ^18 + dependencies: + '@floating-ui/react': 0.26.13(react-dom@18.2.0)(react@18.2.0) + '@react-aria/focus': 3.17.0(react@18.2.0) + '@react-aria/interactions': 3.21.2(react@18.2.0) + '@tanstack/react-virtual': 3.5.0(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /@humanwhocodes/config-array@0.11.14: resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} @@ -2903,7 +2934,7 @@ packages: qr-code-styling: 1.6.0-rc.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-i18next: 13.5.0(i18next@22.5.1)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0) + react-i18next: 13.5.0(i18next@23.11.4)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0) react-native: 0.74.0(@babel/core@7.24.0)(@babel/preset-env@7.24.4)(@types/react@18.3.1)(react@18.2.0) dev: false @@ -3959,6 +3990,54 @@ packages: resolution: {integrity: sha512-kJgqvXR6iyU7+N959RzggSFhBdnRuSDnc/bs8u6MzdWw7aYIUaAr+uMVdpP6Dheypjerd7sfJgFOs19FRFhscg==} dev: false + /@react-aria/focus@3.17.0(react@18.2.0): + resolution: {integrity: sha512-aRzBw1WTUkcIV3xFrqPA6aB8ZVt3XyGpTaSHAypU0Pgoy2wRq9YeJYpbunsKj9CJmskuffvTqXwAjTcaQish1Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/interactions': 3.21.2(react@18.2.0) + '@react-aria/utils': 3.24.0(react@18.2.0) + '@react-types/shared': 3.23.0(react@18.2.0) + '@swc/helpers': 0.5.5 + clsx: 2.1.0 + react: 18.2.0 + dev: false + + /@react-aria/interactions@3.21.2(react@18.2.0): + resolution: {integrity: sha512-Ju706DtoEmI/2vsfu9DCEIjDqsRBVLm/wmt2fr0xKbBca7PtmK8daajxFWz+eTq+EJakvYfLr7gWgLau9HyWXg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/ssr': 3.9.3(react@18.2.0) + '@react-aria/utils': 3.24.0(react@18.2.0) + '@react-types/shared': 3.23.0(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/ssr@3.9.3(react@18.2.0): + resolution: {integrity: sha512-5bUZ93dmvHFcmfUcEN7qzYe8yQQ8JY+nHN6m9/iSDCQ/QmCiE0kWXYwhurjw5ch6I8WokQzx66xKIMHBAa4NNA==} + engines: {node: '>= 12'} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/utils@3.24.0(react@18.2.0): + resolution: {integrity: sha512-JAxkPhK5fCvFVNY2YG3TW3m1nTzwRcbz7iyTSkUzLFat4N4LZ7Kzh7NMHsgeE/oMOxd8zLY+XsUxMu/E/2GujA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/ssr': 3.9.3(react@18.2.0) + '@react-stately/utils': 3.10.0(react@18.2.0) + '@react-types/shared': 3.23.0(react@18.2.0) + '@swc/helpers': 0.5.5 + clsx: 2.1.0 + react: 18.2.0 + dev: false + /@react-native-community/cli-clean@13.6.4: resolution: {integrity: sha512-nS1BJ+2Z+aLmqePxB4AYgJ+C/bgQt02xAgSYtCUv+lneRBGhL2tHRrK8/Iolp0y+yQoUtHHf4txYi90zGXLVfw==} dependencies: @@ -4320,6 +4399,23 @@ packages: react-native: 0.74.0(@babel/core@7.24.0)(@babel/preset-env@7.24.4)(@types/react@18.3.1)(react@18.2.0) dev: false + /@react-stately/utils@3.10.0(react@18.2.0): + resolution: {integrity: sha512-nji2i9fTYg65ZWx/3r11zR1F2tGya+mBubRCbMTwHyRnsSLFZaeq/W6lmrOyIy1uMJKBNKLJpqfmpT4x7rw6pg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-types/shared@3.23.0(react@18.2.0): + resolution: {integrity: sha512-GQm/iPiii3ikcaMNR4WdVkJ4w0mKtV3mLqeSfSqzdqbPr6vONkqXbh3RhPlPmAJs1b4QHnexd/wZQP3U9DHOwQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + react: 18.2.0 + dev: false + /@rnx-kit/chromium-edge-launcher@1.0.0: resolution: {integrity: sha512-lzD84av1ZQhYUS+jsGqJiCMaJO2dn9u+RTT9n9q6D3SaKVwWqv+7AoRKqBu19bkwyE+iFRl1ymr40QS90jVFYg==} engines: {node: '>=14.15'} @@ -4734,6 +4830,21 @@ packages: react: 18.2.0 dev: false + /@tanstack/react-virtual@3.5.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-rtvo7KwuIvqK9zb0VZ5IL7fiJAEnG+0EiFZz8FUOs+2mhGqdGmjKIaT1XU7Zq0eFqL0jonLlhbayJI/J2SA/Bw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@tanstack/virtual-core': 3.5.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@tanstack/virtual-core@3.5.0: + resolution: {integrity: sha512-KnPRCkQTyqhanNC0K63GBG3wA8I+D1fQuVnAvcBF8f13akOKeQp1gSbu6f77zCxhEk727iV5oQnbHLYzHrECLg==} + dev: false + /@tsconfig/node10@1.0.9: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} dev: true @@ -9469,6 +9580,12 @@ packages: '@babel/runtime': 7.24.0 dev: false + /i18next@23.11.4: + resolution: {integrity: sha512-CCUjtd5TfaCl+mLUzAA0uPSN+AVn4fP/kWCYt/hocPUwusTpMVczdrRyOBUwk6N05iH40qiKx6q1DoNJtBIwdg==} + dependencies: + '@babel/runtime': 7.24.0 + dev: false + /iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -12185,7 +12302,7 @@ packages: warning: 4.0.3 dev: false - /react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0): + /react-i18next@13.5.0(i18next@23.11.4)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0): resolution: {integrity: sha512-CFJ5NDGJ2MUyBohEHxljOq/39NQ972rh1ajnadG9BjTk+UXbHLq4z5DKEbEQBDoIhUmmbuS/fIMJKo6VOax1HA==} peerDependencies: i18next: '>= 23.2.3' @@ -12200,7 +12317,7 @@ packages: dependencies: '@babel/runtime': 7.24.0 html-parse-stringify: 3.0.1 - i18next: 22.5.1 + i18next: 23.11.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-native: 0.74.0(@babel/core@7.24.0)(@babel/preset-env@7.24.4)(@types/react@18.3.1)(react@18.2.0) @@ -13600,6 +13717,10 @@ packages: engines: {node: '>=18'} dev: false + /tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + dev: false + /table-layout@1.0.2: resolution: {integrity: sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==} engines: {node: '>=8.0.0'} @@ -13911,64 +14032,64 @@ packages: yargs: 17.7.2 dev: false - /turbo-darwin-64@1.12.5: - resolution: {integrity: sha512-0GZ8reftwNQgIQLHkHjHEXTc/Z1NJm+YjsrBP+qhM/7yIZ3TEy9gJhuogDt2U0xIWwFgisTyzbtU7xNaQydtoA==} + /turbo-darwin-64@1.10.13: + resolution: {integrity: sha512-vmngGfa2dlYvX7UFVncsNDMuT4X2KPyPJ2Jj+xvf5nvQnZR/3IeDEGleGVuMi/hRzdinoxwXqgk9flEmAYp0Xw==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-darwin-arm64@1.12.5: - resolution: {integrity: sha512-8WpOLNNzvH6kohQOjihD+gaWL+ZFNfjvBwhOF0rjEzvW+YR3Pa7KjhulrjWyeN2yMFqAPubTbZIGOz1EVXLuQA==} + /turbo-darwin-arm64@1.10.13: + resolution: {integrity: sha512-eMoJC+k7gIS4i2qL6rKmrIQGP6Wr9nN4odzzgHFngLTMimok2cGLK3qbJs5O5F/XAtEeRAmuxeRnzQwTl/iuAw==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-linux-64@1.12.5: - resolution: {integrity: sha512-INit73+bNUpwqGZCxgXCR3I+cQsdkQ3/LkfkgSOibkpg+oGqxJRzeXw3sp990d7SCoE8QOcs3iw+PtiFX/LDAA==} + /turbo-linux-64@1.10.13: + resolution: {integrity: sha512-0CyYmnKTs6kcx7+JRH3nPEqCnzWduM0hj8GP/aodhaIkLNSAGAa+RiYZz6C7IXN+xUVh5rrWTnU2f1SkIy7Gdg==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-arm64@1.12.5: - resolution: {integrity: sha512-6lkRBvxtI/GQdGtaAec9LvVQUoRw6nXFp0kM+Eu+5PbZqq7yn6cMkgDJLI08zdeui36yXhone8XGI8pHg8bpUQ==} + /turbo-linux-arm64@1.10.13: + resolution: {integrity: sha512-0iBKviSGQQlh2OjZgBsGjkPXoxvRIxrrLLbLObwJo3sOjIH0loGmVIimGS5E323soMfi/o+sidjk2wU1kFfD7Q==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-windows-64@1.12.5: - resolution: {integrity: sha512-gQYbOhZg5Ww0bQ/bC0w/4W6yQRwBumUUnkB+QPo15VznwxZe2a7bo6JM+9Xy9dKLa/kn+p7zTqme4OEp6M3/Yg==} + /turbo-windows-64@1.10.13: + resolution: {integrity: sha512-S5XySRfW2AmnTeY1IT+Jdr6Goq7mxWganVFfrmqU+qqq3Om/nr0GkcUX+KTIo9mPrN0D3p5QViBRzulwB5iuUQ==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /turbo-windows-arm64@1.12.5: - resolution: {integrity: sha512-auvhZ9FrhnvQ4mgBlY9O68MT4dIfprYGvd2uPICba/mHUZZvVy5SGgbHJ0KbMwaJfnnFoPgLJO6M+3N2gDprKw==} + /turbo-windows-arm64@1.10.13: + resolution: {integrity: sha512-nKol6+CyiExJIuoIc3exUQPIBjP9nIq5SkMJgJuxsot2hkgGrafAg/izVDRDrRduQcXj2s8LdtxJHvvnbI8hEQ==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /turbo@1.12.5: - resolution: {integrity: sha512-FATU5EnhrYG8RvQJYFJnDd18DpccDjyvd53hggw9T9JEg9BhWtIEoeaKtBjYbpXwOVrJQMDdXcIB4f2nD3QPPg==} + /turbo@1.10.13: + resolution: {integrity: sha512-vOF5IPytgQPIsgGtT0n2uGZizR2N3kKuPIn4b5p5DdeLoI0BV7uNiydT7eSzdkPRpdXNnO8UwS658VaI4+YSzQ==} hasBin: true optionalDependencies: - turbo-darwin-64: 1.12.5 - turbo-darwin-arm64: 1.12.5 - turbo-linux-64: 1.12.5 - turbo-linux-arm64: 1.12.5 - turbo-windows-64: 1.12.5 - turbo-windows-arm64: 1.12.5 + turbo-darwin-64: 1.10.13 + turbo-darwin-arm64: 1.10.13 + turbo-linux-64: 1.10.13 + turbo-linux-arm64: 1.10.13 + turbo-windows-64: 1.10.13 + turbo-windows-arm64: 1.10.13 dev: true /tweetnacl-util@0.15.1: