most-box 0.0.4 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +222 -182
- package/electron/main.js +67 -0
- package/out/404/index.html +2 -2
- package/out/404.html +2 -2
- package/out/__next.__PAGE__.txt +6 -4
- package/out/__next._full.txt +20 -17
- package/out/__next._head.txt +3 -3
- package/out/__next._index.txt +6 -5
- package/out/__next._tree.txt +4 -2
- package/out/_next/static/chunks/003jnm.v5tzw5.js +1 -0
- package/out/_next/static/chunks/00re8v.gbcywn.js +1 -0
- package/out/_next/static/chunks/00s106sbq8t9v.js +1 -0
- package/out/_next/static/chunks/012hi627qrdnn.js +1 -0
- package/out/_next/static/chunks/0174xh3wfsjm1.js +2 -0
- package/out/_next/static/chunks/01xlw8hd842-c.js +1 -0
- package/out/_next/static/chunks/02~o2nmo5pmy1.js +1 -0
- package/out/_next/static/chunks/07t.dhhokszz5.css +1 -0
- package/out/_next/static/chunks/0_wia9ofmsi1c.css +2 -0
- package/out/_next/static/chunks/0ah8fihozo2_u.js +5 -0
- package/out/_next/static/chunks/0bzupvr5gt3k9.js +31 -0
- package/out/_next/static/chunks/0d3shmwh5_nmn.js +1 -0
- package/out/_next/static/chunks/0e_h0d3ekzks8.css +1 -0
- package/out/_next/static/chunks/0gdluj423gso1.js +1 -0
- package/out/_next/static/chunks/0gmoiq06srjay.css +1 -0
- package/out/_next/static/chunks/0ho~log~~-jwp.css +1 -0
- package/out/_next/static/chunks/0imkasy7kb67u.js +1 -0
- package/out/_next/static/chunks/0jjc_b9q_ldi2.js +1 -0
- package/out/_next/static/chunks/0jl~j62iz2uvr.js +1 -0
- package/out/_next/static/chunks/0lqslm813wk_h.js +1 -0
- package/out/_next/static/chunks/{0bogtdbh.dcu1.js → 0n~dq4kpx9xxx.js} +1 -1
- package/out/_next/static/chunks/0pqt~8bl3ukh4.js +4 -0
- package/out/_next/static/chunks/0q782fxxd0lx~.js +1 -0
- package/out/_next/static/chunks/0qub_r0x_r-e9.css +1 -0
- package/out/_next/static/chunks/0slwj0c46k5cu.js +1 -0
- package/out/_next/static/chunks/0sorqk.oc6b7j.css +1 -0
- package/out/_next/static/chunks/0tapzqc6hgvx-.js +1 -0
- package/out/_next/static/chunks/0xsc7z5x8n7wg.js +1 -0
- package/out/_next/static/chunks/0zm~gys2jwl0g.js +1 -0
- package/out/_next/static/chunks/turbopack-0a_g3u0ud~jb8.js +1 -0
- package/out/_not-found/__next._full.txt +19 -15
- package/out/_not-found/__next._head.txt +3 -3
- package/out/_not-found/__next._index.txt +6 -5
- package/out/_not-found/__next._not-found.__PAGE__.txt +9 -0
- package/out/_not-found/__next._not-found.txt +3 -3
- package/out/_not-found/__next._tree.txt +2 -2
- package/out/_not-found/index.html +2 -2
- package/out/_not-found/index.txt +19 -15
- package/out/app/__next._full.txt +20 -0
- package/out/app/__next._head.txt +5 -0
- package/out/app/__next._index.txt +7 -0
- package/out/app/__next._tree.txt +2 -0
- package/out/app/__next.app.__PAGE__.txt +9 -0
- package/out/app/__next.app.txt +5 -0
- package/out/app/index.html +15 -0
- package/out/app/index.txt +20 -0
- package/out/changelog/__next._full.txt +22 -0
- package/out/changelog/__next._head.txt +5 -0
- package/out/changelog/__next._index.txt +7 -0
- package/out/changelog/__next._tree.txt +3 -0
- package/out/changelog/__next.changelog.__PAGE__.txt +10 -0
- package/out/changelog/__next.changelog.txt +5 -0
- package/out/changelog/index.html +15 -0
- package/out/changelog/index.txt +22 -0
- package/out/chat/__next._full.txt +20 -18
- package/out/chat/__next._head.txt +3 -3
- package/out/chat/__next._index.txt +6 -5
- package/out/chat/__next._tree.txt +3 -3
- package/out/chat/__next.chat.__PAGE__.txt +9 -0
- package/out/chat/__next.chat.txt +5 -4
- package/out/chat/index.html +2 -2
- package/out/chat/index.txt +20 -18
- package/out/docs/__next._full.txt +22 -0
- package/out/docs/__next._head.txt +5 -0
- package/out/docs/__next._index.txt +7 -0
- package/out/docs/__next._tree.txt +3 -0
- package/out/docs/__next.docs.__PAGE__.txt +10 -0
- package/out/docs/__next.docs.txt +5 -0
- package/out/docs/getting-started/__next._full.txt +22 -0
- package/out/docs/getting-started/__next._head.txt +5 -0
- package/out/docs/getting-started/__next._index.txt +7 -0
- package/out/docs/getting-started/__next._tree.txt +3 -0
- package/out/docs/getting-started/__next.docs.getting-started.__PAGE__.txt +10 -0
- package/out/docs/getting-started/__next.docs.getting-started.txt +5 -0
- package/out/docs/getting-started/__next.docs.txt +5 -0
- package/out/docs/getting-started/index.html +15 -0
- package/out/docs/getting-started/index.txt +22 -0
- package/out/docs/index.html +15 -0
- package/out/docs/index.txt +22 -0
- package/out/download/__next._full.txt +34 -0
- package/out/download/__next._head.txt +5 -0
- package/out/download/__next._index.txt +7 -0
- package/out/download/__next._tree.txt +4 -0
- package/out/download/__next.download.__PAGE__.txt +16 -0
- package/out/download/__next.download.txt +5 -0
- package/out/download/index.html +15 -0
- package/out/download/index.txt +34 -0
- package/out/fonts/jetbrains-mono-latin-400-normal.woff2 +0 -0
- package/out/fonts/jetbrains-mono-latin-500-normal.woff2 +0 -0
- package/out/fonts/jetbrains-mono-latin-600-normal.woff2 +0 -0
- package/out/fonts/jetbrains-mono-latin-700-normal.woff2 +0 -0
- package/out/index.html +2 -2
- package/out/index.txt +20 -17
- package/out/ping/__next._full.txt +21 -0
- package/out/ping/__next._head.txt +5 -0
- package/out/ping/__next._index.txt +7 -0
- package/out/ping/__next._tree.txt +4 -0
- package/out/ping/__next.ping.__PAGE__.txt +10 -0
- package/out/ping/__next.ping.txt +5 -0
- package/out/ping/index.html +15 -0
- package/out/ping/index.txt +21 -0
- package/out/pwa-512x512.png +0 -0
- package/out/web3/__next._full.txt +21 -0
- package/out/web3/__next._head.txt +5 -0
- package/out/web3/__next._index.txt +7 -0
- package/out/web3/__next._tree.txt +3 -0
- package/out/web3/__next.web3.__PAGE__.txt +9 -0
- package/out/web3/__next.web3.txt +6 -0
- package/out/web3/ed25519/__next._full.txt +20 -0
- package/out/web3/ed25519/__next._head.txt +5 -0
- package/out/web3/ed25519/__next._index.txt +7 -0
- package/out/web3/ed25519/__next._tree.txt +3 -0
- package/out/web3/ed25519/__next.web3.ed25519.__PAGE__.txt +6 -0
- package/out/web3/ed25519/__next.web3.ed25519.txt +5 -0
- package/out/web3/ed25519/__next.web3.txt +6 -0
- package/out/web3/ed25519/index.html +1 -0
- package/out/web3/ed25519/index.txt +20 -0
- package/out/web3/index.html +15 -0
- package/out/web3/index.txt +21 -0
- package/out/web3/tools/__next._full.txt +20 -0
- package/out/web3/tools/__next._head.txt +5 -0
- package/out/web3/tools/__next._index.txt +7 -0
- package/out/web3/tools/__next._tree.txt +3 -0
- package/out/web3/tools/__next.web3.tools.__PAGE__.txt +6 -0
- package/out/web3/tools/__next.web3.tools.txt +5 -0
- package/out/web3/tools/__next.web3.txt +6 -0
- package/out/web3/tools/index.html +1 -0
- package/out/web3/tools/index.txt +20 -0
- package/package.json +162 -53
- package/public/fonts/jetbrains-mono-latin-400-normal.woff2 +0 -0
- package/public/fonts/jetbrains-mono-latin-500-normal.woff2 +0 -0
- package/public/fonts/jetbrains-mono-latin-600-normal.woff2 +0 -0
- package/public/fonts/jetbrains-mono-latin-700-normal.woff2 +0 -0
- package/public/pwa-512x512.png +0 -0
- package/server/cli.js +3 -0
- package/server/index.js +995 -0
- package/{src → server/src}/config.js +51 -50
- package/{src → server/src}/core/cid.js +157 -150
- package/{src → server/src}/index.js +1952 -1669
- package/server/src/utils/api.js +68 -0
- package/server/src/utils/avatar.js +11 -0
- package/{src → server/src}/utils/errors.js +70 -66
- package/server/src/utils/mostWallet.js +42 -0
- package/server/src/utils/mp.js +105 -0
- package/{src → server/src}/utils/security.js +173 -169
- package/server/src/utils/userIdentity.js +93 -0
- package/cli.js +0 -2
- package/out/_next/static/chunks/00l-yd3t8dvwz.js +0 -5
- package/out/_next/static/chunks/03k8t3tgym~8~.js +0 -1
- package/out/_next/static/chunks/09vfh8lfuacc0.css +0 -1
- package/out/_next/static/chunks/0dbhjjzl8qfwv.js +0 -1
- package/out/_next/static/chunks/0f73psqhr8dre.css +0 -1
- package/out/_next/static/chunks/0fbi7z4_.4j1j.js +0 -1
- package/out/_next/static/chunks/0ht900cau6_ur.js +0 -31
- package/out/_next/static/chunks/0ohm.ia-4ec60.js +0 -1
- package/out/_next/static/chunks/0u5ydb-f0.vxl.js +0 -1
- package/out/_next/static/chunks/14t2m1on-s5v~.js +0 -1
- package/out/_next/static/chunks/turbopack-076ce9exut_h3.js +0 -1
- package/out/_not-found/__next._not-found/__PAGE__.txt +0 -5
- package/out/app.css +0 -1535
- package/out/bundle.js +0 -107
- package/out/bundle.js.map +0 -7
- package/out/chat/__next.chat/__PAGE__.txt +0 -9
- package/out/chat-page.js +0 -112
- package/out/chat.css +0 -378
- package/out/index.js +0 -148
- package/public/app.css +0 -1535
- package/public/bundle.js +0 -107
- package/public/bundle.js.map +0 -7
- package/public/chat-page.js +0 -112
- package/public/chat.css +0 -378
- package/public/index.js +0 -148
- package/server.js +0 -880
- package/src/utils/api.js +0 -6
- /package/out/_next/static/{0h4f4QFk_KC9FlSRfQACk → sV38nXrv3xVVO6wvSdFlZ}/_buildManifest.js +0 -0
- /package/out/_next/static/{0h4f4QFk_KC9FlSRfQACk → sV38nXrv3xVVO6wvSdFlZ}/_clientMiddlewareManifest.js +0 -0
- /package/out/_next/static/{0h4f4QFk_KC9FlSRfQACk → sV38nXrv3xVVO6wvSdFlZ}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,32061,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={BailoutToCSRError:function(){return o},isBailoutToCSRError:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i="BAILOUT_TO_CLIENT_SIDE_RENDERING";class o extends Error{constructor(e){super(`Bail out to client-side rendering: ${e}`),this.reason=e,this.digest=i}}function s(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===i}},54394,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={HTTPAccessErrorStatus:function(){return i},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return s},getAccessFallbackErrorTypeByStatus:function(){return l},getAccessFallbackHTTPStatus:function(){return c},isHTTPAccessFallbackError:function(){return u}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},o=new Set(Object.values(i)),s="NEXT_HTTP_ERROR_FALLBACK";function u(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===s&&o.has(Number(r))}function c(e){return Number(e.digest.split(";")[1])}function l(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},65713,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isNextRouterError",{enumerable:!0,get:function(){return i}});let n=e.r(54394),a=e.r(68391);function i(e){return(0,a.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},3680,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return a}});class n extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class a extends URLSearchParams{append(){throw new n}delete(){throw new n}set(){throw new n}sort(){throw new n}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},61994,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={NavigationPromisesContext:function(){return l},PathParamsContext:function(){return c},PathnameContext:function(){return u},ReadonlyURLSearchParams:function(){return o.ReadonlyURLSearchParams},SearchParamsContext:function(){return s},createDevToolsInstrumentedPromise:function(){return d}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(71645),o=e.r(3680),s=(0,i.createContext)(null),u=(0,i.createContext)(null),c=(0,i.createContext)(null),l=(0,i.createContext)(null);function d(e,t){let r=Promise.resolve(t);return r.status="fulfilled",r.value=t,r.displayName=`${e} (SSR)`,r}},45955,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workUnitAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},42852,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a={RenderStage:function(){return u},StagedRenderingController:function(){return c}};for(var i in a)Object.defineProperty(r,i,{enumerable:!0,get:a[i]});let o=e.r(12718),s=e.r(39470);var u=((n={})[n.Before=1]="Before",n[n.EarlyStatic=2]="EarlyStatic",n[n.Static=3]="Static",n[n.EarlyRuntime=4]="EarlyRuntime",n[n.Runtime=5]="Runtime",n[n.Dynamic=6]="Dynamic",n[n.Abandoned=7]="Abandoned",n);class c{constructor(e,t,r){this.abortSignal=e,this.abandonController=t,this.shouldTrackSyncIO=r,this.currentStage=1,this.syncInterruptReason=null,this.staticStageEndTime=1/0,this.runtimeStageEndTime=1/0,this.staticStageListeners=[],this.earlyRuntimeStageListeners=[],this.runtimeStageListeners=[],this.dynamicStageListeners=[],this.staticStagePromise=(0,s.createPromiseWithResolvers)(),this.earlyRuntimeStagePromise=(0,s.createPromiseWithResolvers)(),this.runtimeStagePromise=(0,s.createPromiseWithResolvers)(),this.dynamicStagePromise=(0,s.createPromiseWithResolvers)(),e&&e.addEventListener("abort",()=>{let{reason:t}=e;this.staticStagePromise.promise.catch(l),this.staticStagePromise.reject(t),this.earlyRuntimeStagePromise.promise.catch(l),this.earlyRuntimeStagePromise.reject(t),this.runtimeStagePromise.promise.catch(l),this.runtimeStagePromise.reject(t),this.dynamicStagePromise.promise.catch(l),this.dynamicStagePromise.reject(t)},{once:!0}),t&&t.signal.addEventListener("abort",()=>{this.abandonRender()},{once:!0})}onStage(e,t){if(this.currentStage>=e)t();else if(3===e)this.staticStageListeners.push(t);else if(4===e)this.earlyRuntimeStageListeners.push(t);else if(5===e)this.runtimeStageListeners.push(t);else if(6===e)this.dynamicStageListeners.push(t);else throw Object.defineProperty(new o.InvariantError(`Invalid render stage: ${e}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}shouldTrackSyncInterrupt(){if(!this.shouldTrackSyncIO)return!1;switch(this.currentStage){case 1:case 5:case 6:case 7:default:return!1;case 2:case 3:case 4:return!0}}syncInterruptCurrentStageWithReason(e){if(1!==this.currentStage&&7!==this.currentStage){if(this.abandonController)return void this.abandonController.abort();if(this.abortSignal){this.syncInterruptReason=e,this.currentStage=7;return}switch(this.currentStage){case 2:case 3:case 4:this.syncInterruptReason=e,this.advanceStage(6);return;case 5:return}}}getSyncInterruptReason(){return this.syncInterruptReason}getStaticStageEndTime(){return this.staticStageEndTime}getRuntimeStageEndTime(){return this.runtimeStageEndTime}abandonRender(){let{currentStage:e}=this;switch(e){case 2:this.resolveStaticStage();case 3:this.resolveEarlyRuntimeStage();case 4:this.resolveRuntimeStage();case 5:this.currentStage=7;return}}advanceStage(e){if(e<=this.currentStage)return;let t=this.currentStage;if(this.currentStage=e,t<3&&e>=3&&this.resolveStaticStage(),t<4&&e>=4&&this.resolveEarlyRuntimeStage(),t<5&&e>=5&&(this.staticStageEndTime=performance.now()+performance.timeOrigin,this.resolveRuntimeStage()),t<6&&e>=6){this.runtimeStageEndTime=performance.now()+performance.timeOrigin,this.resolveDynamicStage();return}}resolveStaticStage(){let e=this.staticStageListeners;for(let t=0;t<e.length;t++)e[t]();e.length=0,this.staticStagePromise.resolve()}resolveEarlyRuntimeStage(){let e=this.earlyRuntimeStageListeners;for(let t=0;t<e.length;t++)e[t]();e.length=0,this.earlyRuntimeStagePromise.resolve()}resolveRuntimeStage(){let e=this.runtimeStageListeners;for(let t=0;t<e.length;t++)e[t]();e.length=0,this.runtimeStagePromise.resolve()}resolveDynamicStage(){let e=this.dynamicStageListeners;for(let t=0;t<e.length;t++)e[t]();e.length=0,this.dynamicStagePromise.resolve()}getStagePromise(e){switch(e){case 3:return this.staticStagePromise.promise;case 4:return this.earlyRuntimeStagePromise.promise;case 5:return this.runtimeStagePromise.promise;case 6:return this.dynamicStagePromise.promise;default:throw Object.defineProperty(new o.InvariantError(`Invalid render stage: ${e}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}}waitForStage(e){return this.getStagePromise(e)}delayUntilStage(e,t,r){var n,a,i;let o,s=(n=this.getStagePromise(e),a=t,i=r,o=new Promise((e,t)=>{n.then(e.bind(null,i),t)}),void 0!==a&&(o.displayName=a),o);return this.abortSignal&&s.catch(l),s}}function l(){}},62141,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getCacheSignal:function(){return b},getDraftModeProviderForCacheScope:function(){return g},getHmrRefreshHash:function(){return m},getPrerenderResumeDataCache:function(){return d},getRenderResumeDataCache:function(){return f},getServerComponentsHmrCache:function(){return p},getStagedRenderingController:function(){return y},isHmrRefresh:function(){return h},isInEarlyRenderStage:function(){return u},throwForMissingRequestStore:function(){return c},throwInvariantForMissingStore:function(){return l},workUnitAsyncStorage:function(){return i.workUnitAsyncStorageInstance}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(45955);e.r(21768);let o=e.r(12718),s=e.r(42852);function u(e){let t=e.stagedRendering;return!!t&&(t.currentStage===s.RenderStage.EarlyStatic||t.currentStage===s.RenderStage.EarlyRuntime)}function c(e){throw Object.defineProperty(Error(`\`${e}\` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E251",enumerable:!1,configurable:!0})}function l(){throw Object.defineProperty(new o.InvariantError("Expected workUnitAsyncStorage to have a store."),"__NEXT_ERROR_CODE",{value:"E696",enumerable:!1,configurable:!0})}function d(e){switch(e.type){case"prerender":case"prerender-runtime":case"prerender-ppr":case"prerender-client":case"validation-client":return e.prerenderResumeDataCache;case"request":if(e.prerenderResumeDataCache)return e.prerenderResumeDataCache;case"prerender-legacy":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":return null;default:return e}}function f(e){switch(e.type){case"request":case"prerender":case"prerender-runtime":case"prerender-client":case"validation-client":if(e.renderResumeDataCache)return e.renderResumeDataCache;case"prerender-ppr":return e.prerenderResumeDataCache??null;case"cache":case"private-cache":case"unstable-cache":case"prerender-legacy":case"generate-static-params":return null;default:return e}}function m(e){}function h(e){return!1}function p(e){}function g(e,t){if(e.isDraftMode)switch(t.type){case"cache":case"private-cache":case"unstable-cache":case"prerender-runtime":case"request":return t.draftMode}}function y(e){switch(e.type){case"request":case"prerender-runtime":return e.stagedRendering??null;case"prerender":case"prerender-client":case"validation-client":case"prerender-ppr":case"prerender-legacy":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":return null;default:return e}}function b(e){switch(e.type){case"prerender":case"prerender-client":case"validation-client":case"prerender-runtime":return e.cacheSignal;case"request":if(e.cacheSignal)return e.cacheSignal;case"prerender-ppr":case"prerender-legacy":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":return null;default:return e}}},13957,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ServerInsertedHTMLContext:function(){return o},useServerInsertedHTML:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(90809)._(e.r(71645)),o=i.default.createContext(null);function s(e){let t=(0,i.useContext)(o);t&&t(e)}},22783,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"notFound",{enumerable:!0,get:function(){return i}});let n=e.r(54394),a=`${n.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function i(){let e=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw e.digest=a,e}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},79854,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"forbidden",{enumerable:!0,get:function(){return n}}),e.r(54394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},22683,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unauthorized",{enumerable:!0,get:function(){return n}}),e.r(54394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},15507,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,a.isNextRouterError)(t)||(0,n.isBailoutToCSRError)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=e.r(32061),a=e.r(65713);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},63138,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={delayUntilRuntimeStage:function(){return h},getRuntimeStage:function(){return m},isHangingPromiseRejectionError:function(){return o},makeDevtoolsIOAwarePromise:function(){return f},makeHangingPromise:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(42852);function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===s}let s="HANGING_PROMISE_REJECTION";class u extends Error{constructor(e,t){super(`During prerendering, ${t} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${t} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${e}".`),this.route=e,this.expression=t,this.digest=s}}let c=new WeakMap;function l(e,t,r){if(e.aborted)return Promise.reject(new u(t,r));{let n=new Promise((n,a)=>{let i=a.bind(null,new u(t,r)),o=c.get(e);if(o)o.push(i);else{let t=[i];c.set(e,t),e.addEventListener("abort",()=>{for(let e=0;e<t.length;e++)t[e]()},{once:!0})}});return n.catch(d),n}}function d(){}function f(e,t,r){return t.stagedRendering?t.stagedRendering.delayUntilStage(r,void 0,e):new Promise(t=>{setTimeout(()=>{t(e)},0)})}function m(e){return e.currentStage===i.RenderStage.EarlyStatic||e.currentStage===i.RenderStage.EarlyRuntime?i.RenderStage.EarlyRuntime:i.RenderStage.Runtime}function h(e,t){let{stagedRendering:r}=e;return r?r.waitForStage(m(r)).then(()=>t):t}},67287,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isPostpone",{enumerable:!0,get:function(){return a}});let n=Symbol.for("react.postpone");function a(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}},76353,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DynamicServerError:function(){return o},isDynamicServerError:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i="DYNAMIC_SERVER_USAGE";class o extends Error{constructor(e){super(`Dynamic server usage: ${e}`),this.description=e,this.digest=i}}function s(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===i}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},43248,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={StaticGenBailoutError:function(){return o},isStaticGenBailoutError:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i="NEXT_STATIC_GEN_BAILOUT";class o extends Error{constructor(...e){super(...e),this.code=i}}function s(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===i}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},54839,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={METADATA_BOUNDARY_NAME:function(){return i},OUTLET_BOUNDARY_NAME:function(){return s},ROOT_LAYOUT_BOUNDARY_NAME:function(){return u},VIEWPORT_BOUNDARY_NAME:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i="__next_metadata_boundary__",o="__next_viewport_boundary__",s="__next_outlet_boundary__",u="__next_root_layout_boundary__"},29419,(e,t,r)=>{"use strict";var n=e.i(47167);Object.defineProperty(r,"__esModule",{value:!0});var a={atLeastOneTask:function(){return u},scheduleImmediate:function(){return s},scheduleOnNextTick:function(){return o},waitAtLeastOneReactRenderTask:function(){return c}};for(var i in a)Object.defineProperty(r,i,{enumerable:!0,get:a[i]});let o=e=>{Promise.resolve().then(()=>{n.default.nextTick(e)})},s=e=>{setImmediate(e)};function u(){return new Promise(e=>s(e))}function c(){return new Promise(e=>setImmediate(e))}},2897,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"INSTANT_VALIDATION_BOUNDARY_NAME",{enumerable:!0,get:function(){return n}});let n="__next_instant_validation_boundary__"},67673,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a,i,o={DynamicHoleKind:function(){return Z},Postpone:function(){return T},PreludeState:function(){return ei},abortAndThrowOnSynchronousRequestDataAccess:function(){return D},abortOnSynchronousPlatformIOAccess:function(){return j},accessedDynamicData:function(){return L},annotateDynamicAccess:function(){return H},consumeDynamicAccess:function(){return $},createDynamicTrackingState:function(){return E},createDynamicValidationState:function(){return R},createHangingInputAbortSignal:function(){return X},createInstantValidationState:function(){return Q},createRenderInBrowserAbortSignal:function(){return B},formatDynamicAPIAccesses:function(){return U},getFirstDynamicReason:function(){return v},getNavigationDisallowedDynamicReasons:function(){return ec},getStaticShellDisallowedDynamicReasons:function(){return eu},isDynamicPostpone:function(){return C},isPrerenderInterruptedError:function(){return I},logDisallowedDynamicError:function(){return eo},markCurrentScopeAsDynamic:function(){return S},postponeWithTracking:function(){return x},throwIfDisallowedDynamic:function(){return es},throwToInterruptStaticGeneration:function(){return O},trackAllowedDynamicAccess:function(){return J},trackDynamicDataInDynamicRender:function(){return w},trackDynamicHoleInNavigation:function(){return ee},trackDynamicHoleInRuntimeShell:function(){return er},trackDynamicHoleInStaticShell:function(){return en},trackThrownErrorInNavigation:function(){return et},useDynamicRouteParams:function(){return F},useDynamicSearchParams:function(){return W}};for(var s in o)Object.defineProperty(r,s,{enumerable:!0,get:o[s]});let u=(n=e.r(71645))&&n.__esModule?n:{default:n},c=e.r(76353),l=e.r(43248),d=e.r(62141),f=e.r(63599),m=e.r(63138),h=e.r(54839),p=e.r(29419),g=e.r(32061),y=e.r(12718),b=e.r(2897),_="function"==typeof u.default.unstable_postpone;function E(e){return{isDebugDynamicAccesses:e,dynamicAccesses:[],syncDynamicErrorWithStack:null}}function R(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function v(e){var t;return null==(t=e.dynamicAccesses[0])?void 0:t.expression}function S(e,t,r){if(t)switch(t.type){case"cache":case"unstable-cache":case"private-cache":return}if(!e.forceDynamic&&!e.forceStatic){if(e.dynamicShouldError)throw Object.defineProperty(new l.StaticGenBailoutError(`Route ${e.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${r}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(t)switch(t.type){case"prerender-ppr":return x(e.route,r,t.dynamicTracking);case"prerender-legacy":t.revalidate=0;let n=Object.defineProperty(new c.DynamicServerError(`Route ${e.route} couldn't be rendered statically because it used ${r}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw e.dynamicUsageDescription=r,e.dynamicUsageStack=n.stack,n}}}function O(e,t,r){let n=Object.defineProperty(new c.DynamicServerError(`Route ${t.route} couldn't be rendered statically because it used \`${e}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw r.revalidate=0,t.dynamicUsageDescription=e,t.dynamicUsageStack=n.stack,n}function w(e){switch(e.type){case"cache":case"unstable-cache":case"private-cache":return}}function P(e,t,r){let n=M(`Route ${e} needs to bail out of prerendering at this point because it used ${t}.`);r.controller.abort(n);let a=r.dynamicTracking;a&&a.dynamicAccesses.push({stack:a.isDebugDynamicAccesses?Error().stack:void 0,expression:t})}function j(e,t,r,n){let a=n.dynamicTracking;P(e,t,n),a&&null===a.syncDynamicErrorWithStack&&(a.syncDynamicErrorWithStack=r)}function D(e,t,r,n){if(!1===n.controller.signal.aborted){P(e,t,n);let a=n.dynamicTracking;a&&null===a.syncDynamicErrorWithStack&&(a.syncDynamicErrorWithStack=r)}throw M(`Route ${e} needs to bail out of prerendering at this point because it used ${t}.`)}function T({reason:e,route:t}){let r=d.workUnitAsyncStorage.getStore();x(t,e,r&&"prerender-ppr"===r.type?r.dynamicTracking:null)}function x(e,t,r){(function(){if(!_)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:t}),u.default.unstable_postpone(A(e,t))}function A(e,t){return`Route ${e} needs to bail out of prerendering at this point because it used ${t}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}function C(e){return"object"==typeof e&&null!==e&&"string"==typeof e.message&&N(e.message)}function N(e){return e.includes("needs to bail out of prerendering at this point because it used")&&e.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===N(A("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let k="NEXT_PRERENDER_INTERRUPTED";function M(e){let t=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t.digest=k,t}function I(e){return"object"==typeof e&&null!==e&&e.digest===k&&"name"in e&&"message"in e&&e instanceof Error}function L(e){return e.length>0}function $(e,t){return e.dynamicAccesses.push(...t.dynamicAccesses),e.dynamicAccesses}function U(e){return e.filter(e=>"string"==typeof e.stack&&e.stack.length>0).map(({expression:e,stack:t})=>(t=t.split("\n").slice(4).filter(e=>!(e.includes("node_modules/next/")||e.includes(" (<anonymous>)")||e.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${e}:
|
|
2
|
+
${t}`))}function B(){let e=new AbortController;return e.abort(Object.defineProperty(new g.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),e.signal}function X(e){switch(e.type){case"prerender":case"prerender-runtime":let t=new AbortController;if(e.cacheSignal)e.cacheSignal.inputReady().then(()=>{t.abort()});else if("prerender-runtime"===e.type&&e.stagedRendering){let{stagedRendering:r}=e;r.waitForStage((0,m.getRuntimeStage)(r)).then(()=>(0,p.scheduleOnNextTick)(()=>t.abort()))}else(0,p.scheduleOnNextTick)(()=>t.abort());return t.signal;case"prerender-client":case"validation-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":return}}function H(e,t){let r=t.dynamicTracking;r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:e})}function F(e){let t=f.workAsyncStorage.getStore(),r=d.workUnitAsyncStorage.getStore();if(t&&r)switch(r.type){case"prerender-client":case"prerender":{let n=r.fallbackRouteParams;n&&n.size>0&&u.default.use((0,m.makeHangingPromise)(r.renderSignal,t.route,e));break}case"prerender-ppr":{let n=r.fallbackRouteParams;if(n&&n.size>0)return x(t.route,e,r.dynamicTracking);break}case"validation-client":case"prerender-legacy":case"request":case"unstable-cache":break;case"prerender-runtime":throw Object.defineProperty(new y.InvariantError(`\`${e}\` was called during a runtime prerender. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new y.InvariantError(`\`${e}\` was called inside a cache scope. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new y.InvariantError(`\`${e}\` was called in \`generateStaticParams\`. Next.js should be preventing ${e} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}function W(e){let t=f.workAsyncStorage.getStore(),r=d.workUnitAsyncStorage.getStore();if(t)switch(!r&&(0,d.throwForMissingRequestStore)(e),r.type){case"validation-client":case"request":return;case"prerender-client":u.default.use((0,m.makeHangingPromise)(r.renderSignal,t.route,e));break;case"prerender-legacy":case"prerender-ppr":if(t.forceStatic)return;throw Object.defineProperty(new g.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":throw Object.defineProperty(new y.InvariantError(`\`${e}\` was called from a Server Component. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"cache":case"unstable-cache":case"private-cache":throw Object.defineProperty(new y.InvariantError(`\`${e}\` was called inside a cache scope. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new y.InvariantError(`\`${e}\` was called in \`generateStaticParams\`. Next.js should be preventing ${e} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}let z=/\n\s+at Suspense \(<anonymous>\)/,V=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${h.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),q=RegExp(`\\n\\s+at ${h.METADATA_BOUNDARY_NAME}[\\n\\s]`),G=RegExp(`\\n\\s+at ${h.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),Y=RegExp(`\\n\\s+at ${h.OUTLET_BOUNDARY_NAME}[\\n\\s]`),K=RegExp(`\\n\\s+at ${b.INSTANT_VALIDATION_BOUNDARY_NAME}[\\n\\s]`);function J(e,t,r,n){if(!Y.test(t)){if(q.test(t)){r.hasDynamicMetadata=!0;return}if(G.test(t)){r.hasDynamicViewport=!0;return}if(V.test(t)){r.hasAllowedDynamic=!0,r.hasSuspenseAboveBody=!0;return}else if(z.test(t)){r.hasAllowedDynamic=!0;return}else{if(n.syncDynamicErrorWithStack)return void r.dynamicErrors.push(n.syncDynamicErrorWithStack);let a=ea(Object.defineProperty(Error(`Route "${e.route}": Uncached data was accessed outside of <Suspense>. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1079",enumerable:!1,configurable:!0}),t,null);return void r.dynamicErrors.push(a)}}}var Z=((a={})[a.Runtime=1]="Runtime",a[a.Dynamic=2]="Dynamic",a);function Q(e){return{hasDynamicMetadata:!1,hasAllowedClientDynamicAboveBoundary:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[],validationPreventingErrors:[],thrownErrorsOutsideBoundary:[],createInstantStack:e}}function ee(e,t,r,n,a,i){if(Y.test(t))return;if(q.test(t)){let n=ea(Object.defineProperty(Error(`Route "${e.route}": ${1===a?"Runtime data such as `cookies()`, `headers()`, `params`, or `searchParams` was accessed inside `generateMetadata` or you have file-based metadata such as icons that depend on dynamic params segments.":"Uncached data or `connection()` was accessed inside `generateMetadata`."} Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),"__NEXT_ERROR_CODE",{value:"E1076",enumerable:!1,configurable:!0}),t,r.createInstantStack);r.dynamicMetadata=n;return}if(G.test(t)){let n=ea(Object.defineProperty(Error(`Route "${e.route}": ${1===a?"Runtime data such as `cookies()`, `headers()`, `params`, or `searchParams` was accessed inside `generateViewport`.":"Uncached data or `connection()` was accessed inside `generateViewport`."} This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),"__NEXT_ERROR_CODE",{value:"E1086",enumerable:!1,configurable:!0}),t,r.createInstantStack);r.dynamicErrors.push(n);return}let o=K.exec(t);if(o){let e=z.exec(t);if(e&&e.index<o.index){r.hasAllowedDynamic=!0;return}}else if(i.expectedIds.size===i.renderedIds.size){r.hasAllowedClientDynamicAboveBoundary=!0,r.hasAllowedDynamic=!0;return}else{let n=ea(Object.defineProperty(Error(`Route "${e.route}": Could not validate \`unstable_instant\` because a Client Component in a parent segment prevented the page from rendering.`),"__NEXT_ERROR_CODE",{value:"E1082",enumerable:!1,configurable:!0}),t,r.createInstantStack);r.validationPreventingErrors.push(n);return}if(n.syncDynamicErrorWithStack){let e=n.syncDynamicErrorWithStack;null!==r.createInstantStack&&void 0===e.cause&&(e.cause=r.createInstantStack()),r.dynamicErrors.push(e);return}let s=ea(Object.defineProperty(Error(`Route "${e.route}": ${1===a?"Runtime data such as `cookies()`, `headers()`, `params`, or `searchParams` was accessed outside of `<Suspense>`.":"Uncached data or `connection()` was accessed outside of `<Suspense>`."} This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1078",enumerable:!1,configurable:!0}),t,r.createInstantStack);r.dynamicErrors.push(s)}function et(e,t,r,n){let a=K.exec(n);if(a){let i=z.exec(n);if(i&&i.index<a.index)return;let o=ea(Object.defineProperty(Error(`Route "${e.route}": Could not validate \`unstable_instant\` because an error prevented the target segment from rendering.`,{cause:r}),"__NEXT_ERROR_CODE",{value:"E1112",enumerable:!1,configurable:!0}),n,null);t.validationPreventingErrors.push(o)}else{let e=ea(Object.defineProperty(Error("An error occurred while attempting to validate instant UI. This error may be preventing the validation from completing.",{cause:r}),"__NEXT_ERROR_CODE",{value:"E1118",enumerable:!1,configurable:!0}),n,null);t.thrownErrorsOutsideBoundary.push(e)}}function er(e,t,r,n){if(Y.test(t))return;if(q.test(t)){r.dynamicMetadata=ea(Object.defineProperty(Error(`Route "${e.route}": Uncached data or \`connection()\` was accessed inside \`generateMetadata\`. Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),"__NEXT_ERROR_CODE",{value:"E1080",enumerable:!1,configurable:!0}),t,null);return}if(G.test(t)){let n=ea(Object.defineProperty(Error(`Route "${e.route}": Uncached data or \`connection()\` was accessed inside \`generateViewport\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),"__NEXT_ERROR_CODE",{value:"E1077",enumerable:!1,configurable:!0}),t,null);r.dynamicErrors.push(n);return}if(V.test(t)){r.hasAllowedDynamic=!0,r.hasSuspenseAboveBody=!0;return}if(z.test(t)){r.hasAllowedDynamic=!0;return}else if(n.syncDynamicErrorWithStack)return void r.dynamicErrors.push(n.syncDynamicErrorWithStack);let a=ea(Object.defineProperty(Error(`Route "${e.route}": Uncached data or \`connection()\` was accessed outside of \`<Suspense>\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1084",enumerable:!1,configurable:!0}),t,null);r.dynamicErrors.push(a)}function en(e,t,r,n){if(!Y.test(t)){if(q.test(t)){r.dynamicMetadata=ea(Object.defineProperty(Error(`Route "${e.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed inside \`generateMetadata\` or you have file-based metadata such as icons that depend on dynamic params segments. Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),"__NEXT_ERROR_CODE",{value:"E1085",enumerable:!1,configurable:!0}),t,null);return}if(G.test(t)){let n=ea(Object.defineProperty(Error(`Route "${e.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed inside \`generateViewport\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),"__NEXT_ERROR_CODE",{value:"E1081",enumerable:!1,configurable:!0}),t,null);r.dynamicErrors.push(n);return}if(V.test(t)){r.hasAllowedDynamic=!0,r.hasSuspenseAboveBody=!0;return}else if(z.test(t)){r.hasAllowedDynamic=!0;return}else{if(n.syncDynamicErrorWithStack)return void r.dynamicErrors.push(n.syncDynamicErrorWithStack);let a=ea(Object.defineProperty(Error(`Route "${e.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed outside of \`<Suspense>\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1083",enumerable:!1,configurable:!0}),t,null);return void r.dynamicErrors.push(a)}}}function ea(e,t,r){return null!==r&&(e.cause=r()),e.stack=e.name+": "+e.message+t,e}var ei=((i={})[i.Full=0]="Full",i[i.Empty=1]="Empty",i[i.Errored=2]="Errored",i);function eo(e,t){console.error(t),console.error(`To get a more detailed stack trace and pinpoint the issue, try one of the following:
|
|
3
|
+
- Start the app in development mode by running \`next dev\`, then open "${e.route}" in your browser to investigate the error.
|
|
4
|
+
- Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`)}function es(e,t,r,n){if(n.syncDynamicErrorWithStack)throw eo(e,n.syncDynamicErrorWithStack),new l.StaticGenBailoutError;if(0!==t){if(r.hasSuspenseAboveBody)return;let n=r.dynamicErrors;if(n.length>0){for(let t=0;t<n.length;t++)eo(e,n[t]);throw new l.StaticGenBailoutError}if(r.hasDynamicViewport)throw console.error(`Route "${e.route}" has a \`generateViewport\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),new l.StaticGenBailoutError;if(1===t)throw console.error(`Route "${e.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new l.StaticGenBailoutError}else if(!1===r.hasAllowedDynamic&&r.hasDynamicMetadata)throw console.error(`Route "${e.route}" has a \`generateMetadata\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),new l.StaticGenBailoutError}function eu(e,t,r,n){if(n||r.hasSuspenseAboveBody)return[];if(0!==t){let n=r.dynamicErrors;if(n.length>0)return n;if(1===t)return[Object.defineProperty(new y.InvariantError(`Route "${e.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}else if(!1===r.hasAllowedDynamic&&0===r.dynamicErrors.length&&r.dynamicMetadata)return[r.dynamicMetadata];return[]}function ec(e,t,r,n,a){if(n){let{missingSampleErrors:e}=n;if(e.length>0)return e}let{validationPreventingErrors:i}=r;if(i.length>0)return i;if(a.renderedIds.size<a.expectedIds.size){let{thrownErrorsOutsideBoundary:t,createInstantStack:n}=r;if(0===t.length){let t=`Route "${e.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering for an unknown reason.`,r=null!==n?n():Error();return r.name="Error",r.message=t,[r]}if(1===t.length){let r=`Route "${e.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering, likely due to the following error.`,a=null!==n?n():Error();return a.name="Error",a.message=r,[a,t[0]]}{let r=`Route "${e.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering, likely due to one of the following errors.`,a=null!==n?n():Error();return a.name="Error",a.message=r,[a,...t]}}if(0!==t){let n=r.dynamicErrors;if(n.length>0)return n;if(1===t)return r.hasAllowedClientDynamicAboveBoundary?[]:[Object.defineProperty(new y.InvariantError(`Route "${e.route}" failed to render during instant validation and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E1055",enumerable:!1,configurable:!0})]}else{let e=r.dynamicErrors;if(e.length>0)return e;if(!1===r.hasAllowedDynamic&&r.dynamicMetadata)return[r.dynamicMetadata]}return[]}},91414,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,o.isNextRouterError)(t)||(0,i.isBailoutToCSRError)(t)||(0,u.isDynamicServerError)(t)||(0,s.isDynamicPostpone)(t)||(0,a.isPostpone)(t)||(0,n.isHangingPromiseRejectionError)(t)||(0,s.isPrerenderInterruptedError)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=e.r(63138),a=e.r(67287),i=e.r(32061),o=e.r(65713),s=e.r(67673),u=e.r(76353);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},90508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return n}});let n="u"<typeof window?e.r(91414).unstable_rethrow:e.r(15507).unstable_rethrow;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},92805,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ReadonlyURLSearchParams:function(){return i.ReadonlyURLSearchParams},RedirectType:function(){return f},forbidden:function(){return u.forbidden},notFound:function(){return s.notFound},permanentRedirect:function(){return o.permanentRedirect},redirect:function(){return o.redirect},unauthorized:function(){return c.unauthorized},unstable_isUnrecognizedActionError:function(){return d},unstable_rethrow:function(){return l.unstable_rethrow}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(3680),o=e.r(24063),s=e.r(22783),u=e.r(79854),c=e.r(22683),l=e.r(90508);function d(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let f={push:"push",replace:"replace"};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},76562,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ReadonlyURLSearchParams:function(){return s.ReadonlyURLSearchParams},RedirectType:function(){return d.RedirectType},ServerInsertedHTMLContext:function(){return c.ServerInsertedHTMLContext},forbidden:function(){return d.forbidden},notFound:function(){return d.notFound},permanentRedirect:function(){return d.permanentRedirect},redirect:function(){return d.redirect},unauthorized:function(){return d.unauthorized},unstable_isUnrecognizedActionError:function(){return l.unstable_isUnrecognizedActionError},unstable_rethrow:function(){return d.unstable_rethrow},useParams:function(){return E},usePathname:function(){return b},useRouter:function(){return _},useSearchParams:function(){return y},useSelectedLayoutSegment:function(){return v},useSelectedLayoutSegments:function(){return R},useServerInsertedHTML:function(){return c.useServerInsertedHTML}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(90809)._(e.r(71645)),o=e.r(8372),s=e.r(61994),u=e.r(13258),c=e.r(13957),l=e.r(92838),d=e.r(92805),f="u"<typeof window?e.r(67673).useDynamicRouteParams:void 0,m="u"<typeof window?e.r(67673).useDynamicSearchParams:void 0,{instrumentParamsForClientValidation:h,instrumentSearchParamsForClientValidation:p,expectCompleteParamsInClientValidation:g}={};function y(){m?.("useSearchParams()");let e=(0,i.useContext)(s.SearchParamsContext);return(0,i.useMemo)(()=>e?new s.ReadonlyURLSearchParams(e):null,[e])}function b(){return f?.("usePathname()"),(0,i.useContext)(s.PathnameContext)}function _(){let e=(0,i.useContext)(o.AppRouterContext);if(null===e)throw Object.defineProperty(Error("invariant expected app router to be mounted"),"__NEXT_ERROR_CODE",{value:"E238",enumerable:!1,configurable:!0});return e}function E(){return f?.("useParams()"),(0,i.useContext)(s.PathParamsContext)}function R(e="children"){f?.("useSelectedLayoutSegments()");let t=(0,i.useContext)(o.LayoutRouterContext);return t?(0,u.getSelectedLayoutSegmentPath)(t.parentTree,e):null}function v(e="children"){f?.("useSelectedLayoutSegment()"),(0,i.useContext)(s.NavigationPromisesContext);let t=R(e);return(0,u.computeSelectedLayoutSegment)(t,e)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return i},formatWithValidation:function(){return c},urlObjectKeys:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let l=e.r(90809)._(e.r(98183)),o=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:r}=e,n=e.protocol||"",a=e.pathname||"",i=e.hash||"",s=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),s&&"object"==typeof s&&(s=String(l.urlQueryToSearchParams(s)));let u=e.search||s&&`?${s}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||o.test(n))&&!1!==c?(c="//"+(c||""),a&&"/"!==a[0]&&(a="/"+a)):c||(c=""),i&&"#"!==i[0]&&(i="#"+i),u&&"?"!==u[0]&&(u="?"+u),a=a.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${n}${c}${a}${u}${i}`}let s=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return i(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return a}});let n=e.r(71645);function a(e,t){let r=(0,n.useRef)(null),a=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(r.current=l(e,n)),t&&(a.current=l(t,n))},[e,t])}function l(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return l}});let n=e.r(18967),a=e.r(52817);function l(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,a.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return y},useLinkStatus:function(){return x}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let l=e.r(90809),o=e.r(43476),i=l._(e.r(71645)),s=e.r(95057),c=e.r(8372),u=e.r(18581),d=e.r(18967),h=e.r(5550);e.r(33525);let f=e.r(88540),p=e.r(91949),m=e.r(73668),g=e.r(9396);function y(t){var r,n;let a,l,y,[x,b]=(0,i.useOptimistic)(p.IDLE_LINK_STATUS),j=(0,i.useRef)(null),{href:k,as:S,children:P,prefetch:w=null,passHref:C,replace:M,shallow:O,scroll:_,onClick:T,onMouseEnter:L,onTouchStart:N,legacyBehavior:A=!1,onNavigate:R,transitionTypes:E,ref:I,unstable_dynamicOnHover:U,...B}=t;a=P,A&&("string"==typeof a||"number"==typeof a)&&(a=(0,o.jsx)("a",{children:a}));let W=i.default.useContext(c.AppRouterContext),z=!1!==w,$=!1!==w?null===(n=w)||"auto"===n?g.FetchStrategy.PPR:g.FetchStrategy.Full:g.FetchStrategy.PPR,D="string"==typeof(r=S||k)?r:(0,s.formatUrl)(r);if(A){if(a?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});l=i.default.Children.only(a)}let K=A?l&&"object"==typeof l&&l.ref:I,F=i.default.useCallback(e=>(null!==W&&(j.current=(0,p.mountLinkInstance)(e,D,W,$,z,b)),()=>{j.current&&((0,p.unmountLinkForCurrentNavigation)(j.current),j.current=null),(0,p.unmountPrefetchableInstance)(e)}),[z,D,W,$,b]),H={ref:(0,u.useMergedRef)(F,K),onClick(t){A||"function"!=typeof T||T(t),A&&l.props&&"function"==typeof l.props.onClick&&l.props.onClick(t),!W||t.defaultPrevented||function(t,r,n,a,l,o,s){if("u">typeof window){let c,{nodeName:u}=t.currentTarget;if("A"===u.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,m.isLocalURL)(r)){a&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),o){let e=!1;if(o({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(99781);i.default.startTransition(()=>{d(r,a?"replace":"push",!1===l?f.ScrollBehavior.NoScroll:f.ScrollBehavior.Default,n.current,s)})}}(t,D,j,M,_,R,E)},onMouseEnter(e){A||"function"!=typeof L||L(e),A&&l.props&&"function"==typeof l.props.onMouseEnter&&l.props.onMouseEnter(e),W&&z&&(0,p.onNavigationIntent)(e.currentTarget,!0===U)},onTouchStart:function(e){A||"function"!=typeof N||N(e),A&&l.props&&"function"==typeof l.props.onTouchStart&&l.props.onTouchStart(e),W&&z&&(0,p.onNavigationIntent)(e.currentTarget,!0===U)}};return(0,d.isAbsoluteUrl)(D)?H.href=D:A&&!C&&("a"!==l.type||"href"in l.props)||(H.href=(0,h.addBasePath)(D)),y=A?i.default.cloneElement(l,H):(0,o.jsx)("a",{...B,...H,children:a}),(0,o.jsx)(v.Provider,{value:x,children:y})}e.r(84508);let v=(0,i.createContext)(p.IDLE_LINK_STATUS),x=()=>(0,i.useContext)(v);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},96661,e=>{"use strict";e.s(["mergeClasses",0,(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()])},71987,88973,e=>{"use strict";e.s(["default",0,{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}],71987),e.s(["hasA11yProp",0,e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1}],88973)},5014,e=>{"use strict";var t=e.i(71645),r=e.i(71987),n=e.i(88973),a=e.i(96661);let l=(0,t.createContext)({}),o=(0,t.forwardRef)(({color:e,size:o,strokeWidth:i,absoluteStrokeWidth:s,className:c="",children:u,iconNode:d,...h},f)=>{let{size:p=24,strokeWidth:m=2,absoluteStrokeWidth:g=!1,color:y="currentColor",className:v=""}=(0,t.useContext)(l)??{},x=s??g?24*Number(i??m)/Number(o??p):i??m;return(0,t.createElement)("svg",{ref:f,...r.default,width:o??p??r.default.width,height:o??p??r.default.height,stroke:e??y,strokeWidth:x,className:(0,a.mergeClasses)("lucide",v,c),...!u&&!(0,n.hasA11yProp)(h)&&{"aria-hidden":"true"},...h},[...d.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(u)?u:[u]])});e.s(["default",0,o],5014)},56420,e=>{"use strict";var t=e.i(71645),r=e.i(96661);let n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var a=e.i(5014);e.s(["default",0,(e,l)=>{let o=(0,t.forwardRef)(({className:o,...i},s)=>(0,t.createElement)(a.default,{ref:s,iconNode:l,className:(0,r.mergeClasses)(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,o),...i}));return o.displayName=n(e),o}],56420)},35965,96699,93583,e=>{"use strict";var t=e.i(56420);let r=(0,t.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);e.s(["Sun",0,r],35965);let n=(0,t.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);e.s(["Moon",0,n],96699);let a=(0,t.default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);e.s(["Menu",0,a],93583)},40983,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(22016),a=e.i(35965),l=e.i(96699),o=e.i(93583);function i({size:e=24}){return(0,t.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,t.jsx)("rect",{x:"2",y:"2",width:"8",height:"8",rx:"2",fill:"var(--accent)",opacity:"0.4"}),(0,t.jsx)("rect",{x:"14",y:"2",width:"8",height:"8",rx:"2",fill:"var(--accent)",opacity:"0.7"}),(0,t.jsx)("rect",{x:"2",y:"14",width:"8",height:"8",rx:"2",fill:"var(--accent)",opacity:"0.7"}),(0,t.jsx)("rect",{x:"14",y:"14",width:"8",height:"8",rx:"2",fill:"var(--accent)"})]})}let s=[{href:"/docs/getting-started/",label:"文档"},{href:"/changelog/",label:"更新日志"}];function c(){let[e,c]=(0,r.useState)(!1),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let e=localStorage.getItem("theme"),t=window.matchMedia("(prefers-color-scheme: dark)").matches;("dark"===e||!e&&t)&&d(!0)},[]),(0,r.useEffect)(()=>{document.documentElement.setAttribute("data-theme",u?"dark":"light"),localStorage.setItem("theme",u?"dark":"light")},[u]),(0,t.jsx)(t.Fragment,{children:(0,t.jsx)("nav",{className:"mkt-nav",children:(0,t.jsxs)("div",{className:"mkt-nav-inner",children:[(0,t.jsxs)(n.default,{href:"/",className:"mkt-nav-logo",children:[(0,t.jsx)(i,{}),"MOST PEOPLE"]}),(0,t.jsxs)("div",{className:`mkt-nav-links ${e?"open":""}`,children:[s.map(e=>(0,t.jsx)(n.default,{href:e.href,onClick:()=>c(!1),children:e.label},e.href)),(0,t.jsxs)("button",{className:"mkt-theme-toggle mkt-mobile-only",onClick:()=>{d(!u),c(!1)},"aria-label":"切换主题",children:[u?(0,t.jsx)(a.Sun,{size:16}):(0,t.jsx)(l.Moon,{size:16}),u?" 亮色模式":" 暗色模式"]})]}),(0,t.jsxs)("div",{className:"mkt-nav-cta",children:[(0,t.jsx)("button",{className:"mkt-theme-toggle mkt-desktop-only",onClick:()=>d(!u),"aria-label":"切换主题",children:u?(0,t.jsx)(a.Sun,{size:16}):(0,t.jsx)(l.Moon,{size:16})}),(0,t.jsx)(n.default,{href:"/app/",className:"mkt-btn-primary",children:"开始使用"}),(0,t.jsx)("button",{className:"mkt-nav-mobile-toggle",onClick:()=>c(!e),"aria-label":"菜单",children:(0,t.jsx)(o.Menu,{size:24})})]})]})})})}let u=[{href:"/",label:"关于"},{href:"/docs/getting-started/",label:"文档"},{href:"/changelog/",label:"更新日志"},{href:"/ping/",label:"网络"},{href:"https://github.com/most-people/most",label:"GitHub",external:!0}];function d(){return(0,t.jsx)("footer",{className:"mkt-footer",children:(0,t.jsx)("div",{className:"mkt-container",children:(0,t.jsxs)("div",{className:"mkt-footer-inner",children:[(0,t.jsx)("div",{className:"mkt-footer-links",children:u.map(e=>(0,t.jsx)(n.default,{href:e.href,...e.external?{target:"_blank",rel:"noopener noreferrer"}:{},children:e.label},e.href))}),(0,t.jsxs)("span",{className:"mkt-footer-copy",children:["© ",new Date().getFullYear()," MOST PEOPLE · MIT License"]})]})})})}e.s(["MarketingLayout",0,function({children:e}){return(0,t.jsxs)("div",{className:"mkt-layout",children:[(0,t.jsx)(c,{}),(0,t.jsx)("main",{className:"mkt-layout-main",children:e}),(0,t.jsx)(d,{})]})}],40983)},58734,e=>{"use strict";var t=e.i(43476),r=e.i(22016);let n=[{version:"0.0.6",date:"2026-04-30",categories:{新增:["桌面客户端下载页 (/download)","Web 端 Mock 数据展示(文件管理器、聊天)"],重构:["Web 端与桌面端职责分离:Web 端仅用于功能展示,完整功能引导至桌面客户端","移除后端连接引导面板 (BackendGuidePanel),改为下载引导","移除 PWA 支持 (PwaInstallPrompt、manifest.json)","SettingsDrawer 改为关于页面,展示下载入口","文档页 (docs/getting-started) 更新为桌面客户端下载引导","功能门户 (FeaturePortal) 步骤更新为下载客户端引导","移除远程访问配置和后端地址设置 UI"]}},{version:"0.0.5",date:"2026-04-21",categories:{新增:["全界面 Apple Liquid Glass 设计重构","暗色模式更新为 Linear 风格,移除 Tailwind CSS","全局应用状态管理 (AppProvider) 与设置抽屉 (SettingsDrawer)","支持自定义后端 URL 及连接状态检测","智能首页:通过 API 检测自动切换应用/营销模式","路由重构:首页 → /,应用 → /app,官网合并到主项目","用户身份系统:头像、显示名、P2P 身份绑定","聊天频道新增头像显示和 UI 优化","PWA 安装提示(全局状态 + 路由感知)","网络连接测试页"],修复:["统一 ModalOverlay 玻璃弹窗容器,防止遮罩重叠和宽度溢出","增加弹窗遮罩和玻璃透明度,减少内容重叠","WebSocket 广播失效与频道订阅空处理器","加强安全、清理代码、完善测试覆盖","补充 TypeScript 类型定义,修复构建类型错误","API 路径规范化,移除重复 /api/peer-id 端点","添加 API 输入验证"],重构:["前后端解耦:后端移至 server/,使用 Hono 框架","通用组件样式统一,消除页面级 CSS 重复","使用 AppShell 统一应用布局,合并 Web3 页面","跨路由样式按需加载"]}},{version:"0.0.4",date:"2026-04-13",categories:{新增:["远程访问支持:服务器默认监听 0.0.0.0,支持局域网直接访问","设置页新增网络地址展示(本机/局域网/Tailscale/ZeroTier)","设置页新增折叠式远程访问指引","CORS 改为动态反射 Origin 头,支持跨域访问","官网 most.box:首页、文档、更新日志"],修复:["修复前端硬编码 localhost URL 导致远程访问下载失败","修复自动开浏览器 URL 在 HOST 为 0.0.0.0 时无法打开","移除欢迎引导弹窗(功能已整合到设置页)"]}},{version:"0.0.2",date:"2026-04-04",categories:{新增:["busboy multipart 解析,支持文件上传","WebSocket 重构,支持实时事件广播","API 速率限制(120 请求/分钟)","文件 Range 请求支持,优化预览体验","文件预览功能和移动端交互改进","移动端响应式布局(≤768px / ≤480px 断点)"],修复:["大文件上传 OOM(改为 stream 写入临时文件)","元数据写入损坏(原子写入 tmp + renameSync)","启动时自动清理残留临时上传文件","busboy 中文文件名乱码","下载完成后无法预览"],重构:["解耦 Hyperdrive 存储与目录结构","关闭服务按钮移入设置弹窗"]}},{version:"0.0.1",date:"2026-01-01",categories:{新增:["首次发布","基于 Hyperswarm/Hyperdrive 的 P2P 文件分享","确定性 CID v1 文件发布","大文件流式传输支持(GB 级以上)","CID 完整性验证","自定义 most:// 链接格式用于分享","基于 React 的 Web UI","命令行界面"]}}];var a=e.i(40983);e.s(["default",0,function(){return(0,t.jsx)(a.MarketingLayout,{children:(0,t.jsx)("main",{style:{paddingTop:64},children:(0,t.jsxs)("div",{style:{maxWidth:720,margin:"0 auto",padding:"48px 24px 80px"},children:[(0,t.jsx)("h1",{style:{fontSize:32,fontWeight:700,marginBottom:8},children:"更新日志"}),(0,t.jsxs)("p",{style:{color:"var(--text-secondary)",marginBottom:48},children:["本项目所有重要变更将记录在此文件中。格式遵循"," ",(0,t.jsx)("a",{href:"https://keepachangelog.com/en/1.0.0/",target:"_blank",rel:"noopener",children:"Keep a Changelog"}),"。"]}),n.map(e=>(0,t.jsxs)("div",{style:{marginBottom:48,paddingBottom:48,borderBottom:"1px solid var(--border-color)"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:12,marginBottom:24},children:[(0,t.jsx)("span",{style:{fontSize:20,fontWeight:600},children:e.version}),(0,t.jsx)("span",{style:{fontSize:14,color:"var(--text-muted)"},children:e.date})]}),Object.entries(e.categories).map(([e,t])=>({name:e,items:t})).map(e=>(0,t.jsxs)("div",{style:{marginBottom:20},children:[(0,t.jsx)("h3",{style:{fontSize:12,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em",color:"var(--text-muted)",marginBottom:8},children:e.name}),(0,t.jsx)("ul",{style:{listStyle:"none",padding:0},children:e.items.map(e=>(0,t.jsxs)("li",{style:{padding:"4px 0",paddingLeft:16,position:"relative",color:"var(--text-secondary)",fontSize:14},children:[(0,t.jsx)("span",{style:{position:"absolute",left:0},children:"•"}),e]},e))})]},e.name))]},e.version)),(0,t.jsx)("div",{style:{marginTop:48},children:(0,t.jsx)(r.default,{href:"/",style:{color:"var(--accent)",fontSize:14},children:"← 返回首页"})})]})})})}],58734)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ping-page{max-width:1200px;margin:0 auto;padding:40px 24px 80px}.ping-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.ping-title-wrap{align-items:flex-start;gap:14px;display:flex}.ping-title-icon{color:var(--accent);flex-shrink:0;margin-top:2px}.ping-title{color:var(--text-primary);margin-bottom:8px;font-size:28px;font-weight:700;line-height:1.2}.ping-subtitle{color:var(--text-secondary);max-width:600px;font-size:14px;line-height:1.5}.ping-refresh-btn{border-radius:var(--radius-full);background:var(--glass-bg);width:40px;height:40px;-webkit-backdrop-filter:var(--blur-md);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ping-refresh-btn:hover{background:var(--glass-bg-solid);transform:rotate(30deg)}.ping-refresh-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.ping-spin{animation:1s linear infinite spin}.ping-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.ping-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--blur-lg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);transition:transform var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;gap:20px;padding:16px;display:flex}.ping-card:hover{box-shadow:var(--glass-shadow-lg);transform:translateY(-2px)}.ping-card-top{align-items:center;gap:10px;display:flex}.ping-card-icon{color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.ping-card-name{color:var(--text-primary);cursor:pointer;transition:color var(--transition-fast);flex:1;font-size:15px;font-weight:600;text-decoration:none}.ping-card-name:hover{color:var(--accent)}.ping-card-refresh{border-radius:var(--radius-full);background:var(--glass-bg-subtle);border:1px solid var(--glass-border);width:26px;height:26px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ping-card-refresh:hover{background:var(--glass-bg-solid);color:var(--text-primary)}.ping-card-refresh:disabled{opacity:.5;cursor:not-allowed}.ping-card-bottom{justify-content:space-between;align-items:center;min-height:20px;display:flex}.ping-status-label{font-size:13px;font-weight:500}.ping-latency{font-variant-numeric:tabular-nums;font-size:14px;font-weight:500}.brand-icon-wrap{justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:relative}.brand-icon-fallback{justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.brand-icon-fallback.hidden{opacity:0;pointer-events:none}.brand-icon-real{opacity:0;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.brand-icon-real.visible{opacity:1}.brand-icon-real svg{fill:currentColor}.ping-pulse-dot{border-radius:var(--radius-full);background:var(--accent);width:8px;height:8px;animation:1.2s ease-in-out infinite pulse}.ping-card.pending .ping-card-icon{opacity:.5}@media (max-width:1024px){.ping-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.ping-grid{grid-template-columns:repeat(2,1fr)}.ping-title{font-size:22px}}@media (max-width:480px){.ping-grid{grid-template-columns:1fr}.ping-page{padding:24px 16px 60px}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,96661,e=>{"use strict";e.s(["mergeClasses",0,(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()])},71987,88973,e=>{"use strict";e.s(["default",0,{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}],71987),e.s(["hasA11yProp",0,e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1}],88973)},5014,e=>{"use strict";var t=e.i(71645),r=e.i(71987),a=e.i(88973),n=e.i(96661);let s=(0,t.createContext)({}),l=(0,t.forwardRef)(({color:e,size:l,strokeWidth:o,absoluteStrokeWidth:i,className:c="",children:u,iconNode:d,...f},p)=>{let{size:h=24,strokeWidth:m=2,absoluteStrokeWidth:y=!1,color:x="currentColor",className:v=""}=(0,t.useContext)(s)??{},j=i??y?24*Number(o??m)/Number(l??h):o??m;return(0,t.createElement)("svg",{ref:p,...r.default,width:l??h??r.default.width,height:l??h??r.default.height,stroke:e??x,strokeWidth:j,className:(0,n.mergeClasses)("lucide",v,c),...!u&&!(0,a.hasA11yProp)(f)&&{"aria-hidden":"true"},...f},[...d.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(u)?u:[u]])});e.s(["default",0,l],5014)},95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={formatUrl:function(){return o},formatWithValidation:function(){return c},urlObjectKeys:function(){return i}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let s=e.r(90809)._(e.r(98183)),l=/https?|ftp|gopher|file/;function o(e){let{auth:t,hostname:r}=e,a=e.protocol||"",n=e.pathname||"",o=e.hash||"",i=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),i&&"object"==typeof i&&(i=String(s.urlQueryToSearchParams(i)));let u=e.search||i&&`?${i}`||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||l.test(a))&&!1!==c?(c="//"+(c||""),n&&"/"!==n[0]&&(n="/"+n)):c||(c=""),o&&"#"!==o[0]&&(o="#"+o),u&&"?"!==u[0]&&(u="?"+u),n=n.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${a}${c}${n}${u}${o}`}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return o(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return n}});let a=e.r(71645);function n(e,t){let r=(0,a.useRef)(null),n=(0,a.useRef)(null);return(0,a.useCallback)(a=>{if(null===a){let e=r.current;e&&(r.current=null,e());let t=n.current;t&&(n.current=null,t())}else e&&(r.current=s(e,a)),t&&(n.current=s(t,a))},[e,t])}function s(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return s}});let a=e.r(18967),n=e.r(52817);function s(e){if(!(0,a.isAbsoluteUrl)(e))return!0;try{let t=(0,a.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,n.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={default:function(){return x},useLinkStatus:function(){return j}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let s=e.r(90809),l=e.r(43476),o=s._(e.r(71645)),i=e.r(95057),c=e.r(8372),u=e.r(18581),d=e.r(18967),f=e.r(5550);e.r(33525);let p=e.r(88540),h=e.r(91949),m=e.r(73668),y=e.r(9396);function x(t){var r,a;let n,s,x,[j,g]=(0,o.useOptimistic)(h.IDLE_LINK_STATUS),b=(0,o.useRef)(null),{href:w,as:k,children:C,prefetch:N=null,passHref:E,replace:P,shallow:A,scroll:T,onClick:O,onMouseEnter:S,onTouchStart:_,legacyBehavior:M=!1,onNavigate:L,transitionTypes:R,ref:D,unstable_dynamicOnHover:U,...I}=t;n=C,M&&("string"==typeof n||"number"==typeof n)&&(n=(0,l.jsx)("a",{children:n}));let $=o.default.useContext(c.AppRouterContext),K=!1!==N,z=!1!==N?null===(a=N)||"auto"===a?y.FetchStrategy.PPR:y.FetchStrategy.Full:y.FetchStrategy.PPR,B="string"==typeof(r=k||w)?r:(0,i.formatUrl)(r);if(M){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});s=o.default.Children.only(n)}let W=M?s&&"object"==typeof s&&s.ref:D,F=o.default.useCallback(e=>(null!==$&&(b.current=(0,h.mountLinkInstance)(e,B,$,z,K,g)),()=>{b.current&&((0,h.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,h.unmountPrefetchableInstance)(e)}),[K,B,$,z,g]),H={ref:(0,u.useMergedRef)(F,W),onClick(t){M||"function"!=typeof O||O(t),M&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t),!$||t.defaultPrevented||function(t,r,a,n,s,l,i){if("u">typeof window){let c,{nodeName:u}=t.currentTarget;if("A"===u.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,m.isLocalURL)(r)){n&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(99781);o.default.startTransition(()=>{d(r,n?"replace":"push",!1===s?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,a.current,i)})}}(t,B,b,P,T,L,R)},onMouseEnter(e){M||"function"!=typeof S||S(e),M&&s.props&&"function"==typeof s.props.onMouseEnter&&s.props.onMouseEnter(e),$&&K&&(0,h.onNavigationIntent)(e.currentTarget,!0===U)},onTouchStart:function(e){M||"function"!=typeof _||_(e),M&&s.props&&"function"==typeof s.props.onTouchStart&&s.props.onTouchStart(e),$&&K&&(0,h.onNavigationIntent)(e.currentTarget,!0===U)}};return(0,d.isAbsoluteUrl)(B)?H.href=B:M&&!E&&("a"!==s.type||"href"in s.props)||(H.href=(0,f.addBasePath)(B)),x=M?o.default.cloneElement(s,H):(0,l.jsx)("a",{...I,...H,children:n}),(0,l.jsx)(v.Provider,{value:j,children:x})}e.r(84508);let v=(0,o.createContext)(h.IDLE_LINK_STATUS),j=()=>(0,o.useContext)(v);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},56420,e=>{"use strict";var t=e.i(71645),r=e.i(96661);let a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var n=e.i(5014);e.s(["default",0,(e,s)=>{let l=(0,t.forwardRef)(({className:l,...o},i)=>(0,t.createElement)(n.default,{ref:i,iconNode:s,className:(0,r.mergeClasses)(`lucide-${a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,l),...o}));return l.displayName=a(e),l}],56420)},62368,e=>{"use strict";let t=(0,e.i(56420).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["Download",0,t],62368)},63676,e=>{"use strict";let t=(0,e.i(56420).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",0,t],63676)},85539,e=>{"use strict";var t=e.i(43476),r=e.i(63676),a=e.i(62368),n=e.i(56420);let s=(0,n.default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]),l=(0,n.default)("apple",[["path",{d:"M12 6.528V3a1 1 0 0 1 1-1h0",key:"11qiee"}],["path",{d:"M18.237 21A15 15 0 0 0 22 11a6 6 0 0 0-10-4.472A6 6 0 0 0 2 11a15.1 15.1 0 0 0 3.763 10 3 3 0 0 0 3.648.648 5.5 5.5 0 0 1 5.178 0A3 3 0 0 0 18.237 21",key:"110c12"}]]),o=(0,n.default)("laptop",[["path",{d:"M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z",key:"1pdavp"}],["path",{d:"M20.054 15.987H3.946",key:"14rxg9"}]]);var i=e.i(22016);e.s(["default",0,function({onClose:e,addToast:n,isDarkMode:c}){let u=[{name:"Windows",icon:(0,t.jsx)(s,{size:16}),ext:".exe"},{name:"macOS",icon:(0,t.jsx)(l,{size:16}),ext:".dmg"},{name:"Linux",icon:(0,t.jsx)(o,{size:16}),ext:".AppImage"}];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"drawer-backdrop",onClick:e}),(0,t.jsxs)("div",{className:"settings-drawer",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"drawer-header",children:[(0,t.jsx)("h2",{className:"drawer-title",children:"关于"}),(0,t.jsx)("button",{onClick:e,className:"drawer-close-btn",children:(0,t.jsx)(r.X,{size:18})})]}),(0,t.jsxs)("div",{className:"drawer-content",children:[(0,t.jsxs)("div",{className:"drawer-section drawer-about",children:[(0,t.jsx)("h3",{children:"MostBox"}),(0,t.jsx)("p",{children:"版本 0.0.6"}),(0,t.jsx)("p",{className:"drawer-subtitle",children:"Hyperswarm · Hyperdrive · IPFS"})]}),(0,t.jsx)("div",{className:"drawer-divider"}),(0,t.jsxs)("div",{className:"drawer-section",children:[(0,t.jsxs)("label",{className:"drawer-label",children:[(0,t.jsx)(a.Download,{size:14,className:"icon-inline"}),"下载桌面客户端"]}),(0,t.jsx)("p",{className:"drawer-hint",style:{marginBottom:"12px"},children:"Web 端仅用于界面展示。下载桌面客户端获得完整的 P2P 文件分享和加密聊天体验。"}),(0,t.jsx)("div",{className:"download-platforms-mini",children:u.map(r=>(0,t.jsxs)(i.default,{href:"/download",className:"download-platform-mini",onClick:e,children:[r.icon,(0,t.jsx)("span",{children:r.name}),(0,t.jsx)("span",{className:"download-platform-mini-ext",children:r.ext})]},r.name))})]}),(0,t.jsx)("div",{className:"drawer-divider"}),(0,t.jsxs)("div",{className:"drawer-section",children:[(0,t.jsx)("label",{className:"drawer-label",children:"说明"}),(0,t.jsxs)("div",{className:"drawer-note",children:[(0,t.jsx)("p",{children:"桌面客户端提供以下完整功能:"}),(0,t.jsxs)("ul",{children:[(0,t.jsx)("li",{children:"P2P 文件分享与下载"}),(0,t.jsx)("li",{children:"加密频道聊天"}),(0,t.jsx)("li",{children:"本地持久化存储"}),(0,t.jsx)("li",{children:"离线消息同步"}),(0,t.jsx)("li",{children:"大文件无限制传输"})]})]})]})]})]})]})}],85539)},4121,57667,80809,88361,47910,e=>{"use strict";var t=e.i(43476);let r={" ":"space",ArrowLeft:"arrowleft",ArrowRight:"arrowright",ArrowUp:"arrowup",ArrowDown:"arrowdown",Escape:"escape",Esc:"escape",esc:"escape",Enter:"enter",Tab:"tab",Backspace:"backspace",Delete:"delete",Insert:"insert",Home:"home",End:"end",PageUp:"pageup",PageDown:"pagedown","+":"plus","-":"minus","*":"asterisk","/":"slash"};function a(e){let t=e.replace("Key","").toLowerCase();return r[e]||t}var n=e.i(71645);function s({children:e,onClose:r,closeOnOverlayClick:l=!1}){return!function(e,t=["INPUT","TEXTAREA","SELECT"],r=!1){let s=(0,n.useEffectEvent)(n=>{e.forEach(([e,s,l={preventDefault:!0,usePhysicalKeys:!1}])=>{var o;(o=l.usePhysicalKeys,t=>{let r,n,s,l;return function(e,t,r){let{alt:n,ctrl:s,meta:l,mod:o,shift:i,key:c}=e,{altKey:u,ctrlKey:d,metaKey:f,shiftKey:p,key:h,code:m}=t;if(n!==u)return!1;if(o){if(!d&&!f)return!1}else if(s!==d||l!==f)return!1;return i===p&&!!c&&(r?a(m)===a(c):a(h??m)===a(c))}((n={alt:(r=e.toLowerCase().split("+").map(e=>e.trim())).includes("alt"),ctrl:r.includes("ctrl"),meta:r.includes("meta"),mod:r.includes("mod"),shift:r.includes("shift")},s=["alt","ctrl","meta","shift","mod"],l=r.find(e=>!s.includes(e)),{...n,key:"[plus]"===l?"+":l}),t,o)})(n)&&function(e,t,r=!1){return!(e.target instanceof HTMLElement)||(r?!t.includes(e.target.tagName):!e.target.isContentEditable&&!t.includes(e.target.tagName))}(n,t,r)&&(l.preventDefault&&n.preventDefault(),s(n))})});(0,n.useEffect)(()=>(document.documentElement.addEventListener("keydown",s),()=>document.documentElement.removeEventListener("keydown",s)),[])}(r?[["Escape",r]]:[]),(0,t.jsxs)("div",{className:"modal-overlay",onClick:e=>{l&&e.target===e.currentTarget&&r?.()},children:[(0,t.jsx)("div",{className:"modal-overlay-backdrop"}),(0,t.jsx)("div",{className:"modal-glass",children:e})]})}e.s(["ModalOverlay",0,s],57667),e.s(["Toast",0,function({message:e,type:r,onDone:a,index:s}){return(0,n.useEffect)(()=>{let e=setTimeout(a,3e3);return()=>clearTimeout(e)},[]),(0,t.jsx)("div",{className:`toast ${r}`,style:{bottom:24+60*s},children:e})}],80809);var l=e.i(63676);e.s(["ConfirmModal",0,function({title:e,message:r,confirmText:a,onConfirm:n,onClose:o,danger:i,closeOnOverlayClick:c}){return(0,t.jsx)(s,{onClose:o,closeOnOverlayClick:c,children:(0,t.jsxs)("div",{className:"confirm-modal",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"modal-header",children:[(0,t.jsx)("h3",{children:e}),(0,t.jsx)("button",{onClick:o,className:"modal-close-btn",children:(0,t.jsx)(l.X,{size:18})})]}),(0,t.jsx)("p",{children:r}),(0,t.jsxs)("div",{className:"modal-actions",children:[(0,t.jsx)("button",{onClick:o,className:"btn secondary",children:"取消"}),(0,t.jsx)("button",{onClick:n,className:`btn ${i?"danger":"primary"}`,children:a})]})]})})}],88361),e.s(["InputModal",0,function({title:e,placeholder:r,defaultValue:a,confirmText:o,onConfirm:i,onClose:c,isLoading:u,loadingText:d}){let[f,p]=(0,n.useState)(a||"");return(0,t.jsx)(s,{onClose:c,children:(0,t.jsxs)("div",{className:"input-modal",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"modal-header",children:[(0,t.jsx)("h3",{children:e}),(0,t.jsx)("button",{onClick:c,className:"modal-close-btn",children:(0,t.jsx)(l.X,{size:18})})]}),(0,t.jsx)("input",{type:"text",value:f,onChange:e=>p(e.target.value),placeholder:r,autoFocus:!0,onKeyDown:e=>{"Enter"===e.key&&f.trim()&&!u&&i(f.trim())},className:"modal-input"}),(0,t.jsxs)("div",{className:"modal-actions",children:[(0,t.jsx)("button",{onClick:c,disabled:u,className:"btn secondary",children:"取消"}),(0,t.jsx)("button",{onClick:()=>f.trim()&&i(f.trim()),disabled:!f.trim()||u,className:"btn primary",style:{opacity:u?.7:1},children:u?d||"处理中...":o})]})]})})}],47910),e.s([],4121)},5142,e=>{"use strict";var t=e.i(71645);e.s(["useDisclosure",0,function(e=!1,r={}){let[a,n]=(0,t.useState)(e),s=(0,t.useCallback)(()=>{n(e=>e||(r.onOpen?.(),!0))},[r.onOpen]),l=(0,t.useCallback)(()=>{n(e=>e?(r.onClose?.(),!1):e)},[r.onClose]);return[a,{open:s,close:l,toggle:(0,t.useCallback)(()=>{a?l():s()},[l,s,a]),set:n}]}])},9817,e=>{"use strict";var t=e.i(43476),r=e.i(71645),a=e.i(85539);e.i(4121);var n=e.i(80809),s=e.i(5142);let l=(0,r.createContext)(null);e.s(["default",0,function({children:e}){let[o,i]=(0,r.useState)(!1),[c,{open:u,close:d}]=(0,s.useDisclosure)(!1),[f,p]=(0,r.useState)([]),h=(0,r.useCallback)((e,t="info")=>{p(r=>[...r,{id:Date.now(),message:e,type:t}])},[]),m=(0,r.useCallback)(e=>{p(t=>t.filter(t=>t.id!==e))},[]);return(0,r.useEffect)(()=>{let e=localStorage.getItem("theme"),t=window.matchMedia("(prefers-color-scheme: dark)").matches;("dark"===e||!e&&t)&&i(!0)},[]),(0,r.useEffect)(()=>{document.documentElement.setAttribute("data-theme",o?"dark":"light"),localStorage.setItem("theme",o?"dark":"light")},[o]),(0,t.jsxs)(l.Provider,{value:{isDarkMode:o,setIsDarkMode:i,openSettings:u,closeSettings:d,addToast:h},children:[e,f.map((e,r)=>(0,t.jsx)(n.Toast,{message:e.message,type:e.type,onDone:()=>m(e.id),index:r},e.id)),c&&(0,t.jsx)(a.default,{onClose:d,addToast:h,isDarkMode:o})]})},"useApp",0,function(){let e=(0,r.useContext)(l);if(!e)throw Error("useApp must be used within AppProvider");return e}])}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[data-theme=dark]{--chat-bg-secondary:#1c1c1e99;--chat-bg-tertiary:#2c2c2e66;--chat-border:#ffffff14}.chat-messages{background:0 0;flex-direction:column;flex:1;gap:16px;padding:20px 24px;display:flex;overflow-y:auto}.chat-messages-empty{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.chat-messages-empty .empty-icon{border-radius:var(--radius-lg);background:var(--glass-bg-subtle);width:64px;height:64px;-webkit-backdrop-filter:var(--blur-md);border:1px solid var(--glass-border);color:var(--text-muted);justify-content:center;align-items:center;display:flex}.chat-messages-empty p{font-size:14px}.chat-message{align-items:flex-start;gap:10px;max-width:70%;animation:.25s fadeIn;display:flex}.chat-message.self{flex-direction:row-reverse;align-self:flex-end}.chat-message.self .msg-content{align-items:flex-end}.chat-message.self .message-bubble{background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 75%, var(--info)));color:#fff;border:1px solid #ffffff1a;border-radius:18px 4px 18px 18px;box-shadow:0 4px 16px #5e6ad240}.chat-message.self .message-author{color:var(--accent)}.chat-message.self .message-time{color:var(--text-muted)}.chat-message.other{align-self:flex-start}.chat-message.other .msg-content{align-items:flex-start}.chat-message.other .message-bubble{background:var(--glass-bg);-webkit-backdrop-filter:var(--blur-md);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow), var(--glass-shadow-inset);border-radius:4px 18px 18px}.chat-message .msg-avatar{flex-shrink:0}.chat-message .msg-content{flex-direction:column;gap:4px;max-width:100%;display:flex}.chat-message .message-author{color:var(--text-muted);font-size:11px;font-weight:500}.chat-message .message-bubble{word-break:break-word;padding:10px 14px;font-size:14px;line-height:1.5}.chat-message .message-time{color:var(--text-muted);opacity:.7;font-size:10px}.chat-message.pending .message-bubble{opacity:.6}.chat-input-area{border-top:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:var(--blur-xl);gap:12px;padding:16px 24px;display:flex}.chat-input-area .chat-input{border-radius:var(--radius-full);border:1px solid var(--glass-border);background:var(--glass-bg-subtle);color:var(--text-primary);transition:all var(--transition-fast);outline:none;flex:1;padding:12px 18px;font-size:14px}.chat-input-area .chat-input::placeholder{color:var(--text-muted)}.chat-input-area .chat-input:focus{border-color:var(--accent);background:var(--glass-bg);box-shadow:0 0 0 3px var(--accent-soft)}.chat-input-area .send-btn{border:1px solid var(--glass-border);background:var(--accent);color:#fff;cursor:pointer;width:44px;height:44px;transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-input-area .send-btn:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.05);box-shadow:0 4px 16px #5e6ad24d}.chat-input-area .send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-toast{z-index:200;border-radius:var(--radius-lg);background:var(--glass-bg-heavy);-webkit-backdrop-filter:var(--blur-xl);color:var(--text-primary);box-shadow:var(--glass-shadow-lg), var(--glass-shadow-inset);border:1px solid var(--glass-border);padding:12px 24px;font-size:13px;font-weight:500;animation:.3s toastIn;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.chat-welcome{text-align:center;background:0 0;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.chat-welcome .welcome-icon{border-radius:var(--radius-xl);background:var(--glass-bg-heavy);width:80px;height:80px;-webkit-backdrop-filter:var(--blur-2xl);border:1px solid var(--glass-border);color:var(--accent);box-shadow:var(--glass-shadow-lg), var(--glass-shadow-inset);justify-content:center;align-items:center;margin-bottom:20px;display:flex}.chat-welcome h2{margin-bottom:8px;font-size:22px;font-weight:700}.chat-welcome p{color:var(--text-secondary);max-width:320px;font-size:14px;line-height:1.6}.create-channel-btn{border-radius:var(--radius-md);border:1.5px dashed var(--glass-border);background:var(--glass-bg-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);justify-content:center;align-items:center;gap:6px;margin:8px;padding:10px;font-size:13px;font-weight:500;display:flex}.create-channel-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.peer-info{color:var(--text-secondary);align-items:center;gap:8px;font-size:11px;display:flex}.peer-info .peer-dot{background:var(--success);border-radius:50%;width:6px;height:6px}.peer-info .peer-id{font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.leave-channel-btn{opacity:0;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;padding:4px;display:flex}.sidebar-nav-btn:hover .leave-channel-btn{opacity:1}.leave-channel-btn:hover{color:var(--danger);background:#ff3b301a}.chat-sidebar-overlay{display:none}@media (max-width:768px){.chat-sidebar{z-index:50;transition:left var(--transition);position:fixed;top:0;bottom:0;left:-240px}.chat-sidebar.open{left:0}.chat-sidebar-overlay{z-index:40;opacity:0;pointer-events:none;transition:opacity var(--transition);background:#0006;display:block;position:fixed;inset:0}.chat-sidebar-overlay.visible{opacity:1;pointer-events:auto}.chat-messages{padding:16px}.chat-message{max-width:85%}.chat-input-area{padding:12px 16px}.sidebar-nav-btn .leave-channel-btn{opacity:1}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,62368,e=>{"use strict";let t=(0,e.i(56420).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["Download",0,t],62368)},95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var s={formatUrl:function(){return i},formatWithValidation:function(){return c},urlObjectKeys:function(){return l}};for(var o in s)Object.defineProperty(r,o,{enumerable:!0,get:s[o]});let a=e.r(90809)._(e.r(98183)),n=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:r}=e,s=e.protocol||"",o=e.pathname||"",i=e.hash||"",l=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),l&&"object"==typeof l&&(l=String(a.urlQueryToSearchParams(l)));let u=e.search||l&&`?${l}`||"";return s&&!s.endsWith(":")&&(s+=":"),e.slashes||(!s||n.test(s))&&!1!==c?(c="//"+(c||""),o&&"/"!==o[0]&&(o="/"+o)):c||(c=""),i&&"#"!==i[0]&&(i="#"+i),u&&"?"!==u[0]&&(u="?"+u),o=o.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${s}${c}${o}${u}${i}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return i(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let s=e.r(71645);function o(e,t){let r=(0,s.useRef)(null),o=(0,s.useRef)(null);return(0,s.useCallback)(s=>{if(null===s){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=a(e,s)),t&&(o.current=a(t,s))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let s=e.r(18967),o=e.r(52817);function a(e){if(!(0,s.isAbsoluteUrl)(e))return!0;try{let t=(0,s.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return s}});let s=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var s={default:function(){return g},useLinkStatus:function(){return w}};for(var o in s)Object.defineProperty(r,o,{enumerable:!0,get:s[o]});let a=e.r(90809),n=e.r(43476),i=a._(e.r(71645)),l=e.r(95057),c=e.r(8372),u=e.r(18581),h=e.r(18967),d=e.r(5550);e.r(33525);let p=e.r(88540),f=e.r(91949),m=e.r(73668),y=e.r(9396);function g(t){var r,s;let o,a,g,[w,x]=(0,i.useOptimistic)(f.IDLE_LINK_STATUS),v=(0,i.useRef)(null),{href:R,as:k,children:j,prefetch:T=null,passHref:P,replace:S,shallow:q,scroll:E,onClick:N,onMouseEnter:C,onTouchStart:O,legacyBehavior:A=!1,onNavigate:M,transitionTypes:L,ref:B,unstable_dynamicOnHover:U,...D}=t;o=j,A&&("string"==typeof o||"number"==typeof o)&&(o=(0,n.jsx)("a",{children:o}));let z=i.default.useContext(c.AppRouterContext),H=!1!==T,_=!1!==T?null===(s=T)||"auto"===s?y.FetchStrategy.PPR:y.FetchStrategy.Full:y.FetchStrategy.PPR,$="string"==typeof(r=k||R)?r:(0,l.formatUrl)(r);if(A){if(o?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});a=i.default.Children.only(o)}let F=A?a&&"object"==typeof a&&a.ref:B,I=i.default.useCallback(e=>(null!==z&&(v.current=(0,f.mountLinkInstance)(e,$,z,_,H,x)),()=>{v.current&&((0,f.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,f.unmountPrefetchableInstance)(e)}),[H,$,z,_,x]),W={ref:(0,u.useMergedRef)(I,F),onClick(t){A||"function"!=typeof N||N(t),A&&a.props&&"function"==typeof a.props.onClick&&a.props.onClick(t),!z||t.defaultPrevented||function(t,r,s,o,a,n,l){if("u">typeof window){let c,{nodeName:u}=t.currentTarget;if("A"===u.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,m.isLocalURL)(r)){o&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),n){let e=!1;if(n({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:h}=e.r(99781);i.default.startTransition(()=>{h(r,o?"replace":"push",!1===a?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,s.current,l)})}}(t,$,v,S,E,M,L)},onMouseEnter(e){A||"function"!=typeof C||C(e),A&&a.props&&"function"==typeof a.props.onMouseEnter&&a.props.onMouseEnter(e),z&&H&&(0,f.onNavigationIntent)(e.currentTarget,!0===U)},onTouchStart:function(e){A||"function"!=typeof O||O(e),A&&a.props&&"function"==typeof a.props.onTouchStart&&a.props.onTouchStart(e),z&&H&&(0,f.onNavigationIntent)(e.currentTarget,!0===U)}};return(0,h.isAbsoluteUrl)($)?W.href=$:A&&!P&&("a"!==a.type||"href"in a.props)||(W.href=(0,d.addBasePath)($)),g=A?i.default.cloneElement(a,W):(0,n.jsx)("a",{...D,...W,children:o}),(0,n.jsx)(b.Provider,{value:w,children:g})}e.r(84508);let b=(0,i.createContext)(f.IDLE_LINK_STATUS),w=()=>(0,i.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},96661,e=>{"use strict";e.s(["mergeClasses",0,(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()])},71987,88973,e=>{"use strict";e.s(["default",0,{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}],71987),e.s(["hasA11yProp",0,e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1}],88973)},5014,e=>{"use strict";var t=e.i(71645),r=e.i(71987),s=e.i(88973),o=e.i(96661);let a=(0,t.createContext)({}),n=(0,t.forwardRef)(({color:e,size:n,strokeWidth:i,absoluteStrokeWidth:l,className:c="",children:u,iconNode:h,...d},p)=>{let{size:f=24,strokeWidth:m=2,absoluteStrokeWidth:y=!1,color:g="currentColor",className:b=""}=(0,t.useContext)(a)??{},w=l??y?24*Number(i??m)/Number(n??f):i??m;return(0,t.createElement)("svg",{ref:p,...r.default,width:n??f??r.default.width,height:n??f??r.default.height,stroke:e??g,strokeWidth:w,className:(0,o.mergeClasses)("lucide",b,c),...!u&&!(0,s.hasA11yProp)(d)&&{"aria-hidden":"true"},...d},[...h.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(u)?u:[u]])});e.s(["default",0,n],5014)},56420,e=>{"use strict";var t=e.i(71645),r=e.i(96661);let s=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var o=e.i(5014);e.s(["default",0,(e,a)=>{let n=(0,t.forwardRef)(({className:n,...i},l)=>(0,t.createElement)(o.default,{ref:l,iconNode:a,className:(0,r.mergeClasses)(`lucide-${s(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,n),...i}));return n.displayName=s(e),n}],56420)},35965,96699,93583,e=>{"use strict";var t=e.i(56420);let r=(0,t.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);e.s(["Sun",0,r],35965);let s=(0,t.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);e.s(["Moon",0,s],96699);let o=(0,t.default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);e.s(["Menu",0,o],93583)},40983,e=>{"use strict";var t=e.i(43476),r=e.i(71645),s=e.i(22016),o=e.i(35965),a=e.i(96699),n=e.i(93583);function i({size:e=24}){return(0,t.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,t.jsx)("rect",{x:"2",y:"2",width:"8",height:"8",rx:"2",fill:"var(--accent)",opacity:"0.4"}),(0,t.jsx)("rect",{x:"14",y:"2",width:"8",height:"8",rx:"2",fill:"var(--accent)",opacity:"0.7"}),(0,t.jsx)("rect",{x:"2",y:"14",width:"8",height:"8",rx:"2",fill:"var(--accent)",opacity:"0.7"}),(0,t.jsx)("rect",{x:"14",y:"14",width:"8",height:"8",rx:"2",fill:"var(--accent)"})]})}let l=[{href:"/docs/getting-started/",label:"文档"},{href:"/changelog/",label:"更新日志"}];function c(){let[e,c]=(0,r.useState)(!1),[u,h]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let e=localStorage.getItem("theme"),t=window.matchMedia("(prefers-color-scheme: dark)").matches;("dark"===e||!e&&t)&&h(!0)},[]),(0,r.useEffect)(()=>{document.documentElement.setAttribute("data-theme",u?"dark":"light"),localStorage.setItem("theme",u?"dark":"light")},[u]),(0,t.jsx)(t.Fragment,{children:(0,t.jsx)("nav",{className:"mkt-nav",children:(0,t.jsxs)("div",{className:"mkt-nav-inner",children:[(0,t.jsxs)(s.default,{href:"/",className:"mkt-nav-logo",children:[(0,t.jsx)(i,{}),"MOST PEOPLE"]}),(0,t.jsxs)("div",{className:`mkt-nav-links ${e?"open":""}`,children:[l.map(e=>(0,t.jsx)(s.default,{href:e.href,onClick:()=>c(!1),children:e.label},e.href)),(0,t.jsxs)("button",{className:"mkt-theme-toggle mkt-mobile-only",onClick:()=>{h(!u),c(!1)},"aria-label":"切换主题",children:[u?(0,t.jsx)(o.Sun,{size:16}):(0,t.jsx)(a.Moon,{size:16}),u?" 亮色模式":" 暗色模式"]})]}),(0,t.jsxs)("div",{className:"mkt-nav-cta",children:[(0,t.jsx)("button",{className:"mkt-theme-toggle mkt-desktop-only",onClick:()=>h(!u),"aria-label":"切换主题",children:u?(0,t.jsx)(o.Sun,{size:16}):(0,t.jsx)(a.Moon,{size:16})}),(0,t.jsx)(s.default,{href:"/app/",className:"mkt-btn-primary",children:"开始使用"}),(0,t.jsx)("button",{className:"mkt-nav-mobile-toggle",onClick:()=>c(!e),"aria-label":"菜单",children:(0,t.jsx)(n.Menu,{size:24})})]})]})})})}let u=[{href:"/",label:"关于"},{href:"/docs/getting-started/",label:"文档"},{href:"/changelog/",label:"更新日志"},{href:"/ping/",label:"网络"},{href:"https://github.com/most-people/most",label:"GitHub",external:!0}];function h(){return(0,t.jsx)("footer",{className:"mkt-footer",children:(0,t.jsx)("div",{className:"mkt-container",children:(0,t.jsxs)("div",{className:"mkt-footer-inner",children:[(0,t.jsx)("div",{className:"mkt-footer-links",children:u.map(e=>(0,t.jsx)(s.default,{href:e.href,...e.external?{target:"_blank",rel:"noopener noreferrer"}:{},children:e.label},e.href))}),(0,t.jsxs)("span",{className:"mkt-footer-copy",children:["© ",new Date().getFullYear()," MOST PEOPLE · MIT License"]})]})})})}e.s(["MarketingLayout",0,function({children:e}){return(0,t.jsxs)("div",{className:"mkt-layout",children:[(0,t.jsx)(c,{}),(0,t.jsx)("main",{className:"mkt-layout-main",children:e}),(0,t.jsx)(h,{})]})}],40983)},89664,e=>{"use strict";let t=(0,e.i(56420).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",0,t],89664)},68590,e=>{"use strict";let t=(0,e.i(56420).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);e.s(["MessageSquare",0,t],68590)},68877,26913,e=>{"use strict";let t=(0,e.i(56420).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",0,t],68877);class r extends Error{name="KyError";get isKyError(){return!0}}class s extends r{name="HTTPError";response;request;options;data;constructor(e,t,r){const s=e.status||0===e.status?e.status:"",o=e.statusText??"",a=`${s} ${o}`.trim(),n=a?`status code ${a}`:"an unknown error";super(`Request failed with ${n}: ${t.method} ${t.url}`),this.response=e,this.request=t,this.options=r}}class o extends r{name="NetworkError";request;constructor(e,t){super(`Request failed due to a network error: ${e.method} ${e.url}`,t),this.request=e}}class a extends Error{name="NonError";value;constructor(e){let t="Non-error value was thrown";try{"string"==typeof e?t=e:e&&"object"==typeof e&&"message"in e&&"string"==typeof e.message&&(t=e.message)}catch{}super(t),this.value=e}}class n extends r{name="ForceRetryError";customDelay;code;customRequest;constructor(e){const t=e?.cause?e.cause instanceof Error?e.cause:new a(e.cause):void 0;super(e?.code?`Forced retry: ${e.code}`:"Forced retry",t?{cause:t}:void 0),this.customDelay=e?.delay,this.code=e?.code,this.customRequest=e?.request}}class i extends Error{name="SchemaValidationError";issues;constructor(e){super("Response schema validation failed"),this.issues=e}}class l extends r{name="TimeoutError";request;constructor(e){super(`Request timed out: ${e.method} ${e.url}`),this.request=e}}let c=(()=>{let e=!1,t=!1,r="function"==typeof globalThis.Request;if("function"==typeof globalThis.ReadableStream&&r)try{t=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type")}catch(e){if(e instanceof Error&&"unsupported BodyInit type"===e.message)return!1;throw e}return e&&!t})(),u="function"==typeof globalThis.AbortController,h="function"==typeof globalThis.AbortSignal&&"function"==typeof globalThis.AbortSignal.any,d="function"==typeof globalThis.ReadableStream,p="function"==typeof globalThis.FormData,f=["get","post","put","patch","head","delete"],m={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*",bytes:"*/*"},y=Symbol("stop");class g{options;constructor(e){this.options=e}}let b=e=>new g(e),w={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,baseUrl:!0,prefix:!0,retry:!0,timeout:!0,totalTimeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0,context:!0},x={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,duplex:!0},v=new TextEncoder,R=(e,t,r)=>{let s,o=0;return e.pipeThrough(new TransformStream({transform(e,a){if(a.enqueue(e),s){o+=s.byteLength;let e=0===t?0:o/t;e>=1&&(e=1-Number.EPSILON),r?.({percent:e,totalBytes:Math.max(t,o),transferredBytes:o},s)}s=e},flush(){s&&(o+=s.byteLength,r?.({percent:1,totalBytes:Math.max(t,o),transferredBytes:o},s))}}))},k=e=>null!==e&&"object"==typeof e,j=Symbol("replaceOption"),T=e=>k(e)&&!0===e[j]?{isReplace:!0,value:e.value}:{isReplace:!1,value:e},P=(...e)=>{for(let t of e)if((!k(t)||Array.isArray(t))&&void 0!==t)throw TypeError("The `options` argument must be an object");return L({},...e)},S=(e={},t={})=>{let r=new globalThis.Headers(e),s=t instanceof globalThis.Headers;for(let[e,o]of new globalThis.Headers(t).entries())s&&"undefined"===o||void 0===o?r.delete(e):r.set(e,o);return r},q=e=>{if(!k(e)||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||null===t},E=e=>{if(e instanceof URLSearchParams){let t=new URLSearchParams(e),r=e[A];return r&&(t[A]=new Set(r)),t}return e instanceof globalThis.Headers?new globalThis.Headers(e):Array.isArray(e)?[...e]:q(e)?{...e}:e},N=(e,t)=>q(e)&&q(t)?Object.fromEntries(Object.entries({...e,...t}).filter(e=>void 0!==e[1])):S(e,t);function C(e,t,r){return Object.hasOwn(t,r)&&void 0===t[r]?[]:L(e[r]??[],t[r]??[])}let O=(e={},t={})=>({init:C(e,t,"init"),beforeRequest:C(e,t,"beforeRequest"),beforeRetry:C(e,t,"beforeRetry"),beforeError:C(e,t,"beforeError"),afterResponse:C(e,t,"afterResponse")}),A=Symbol("deletedParameters"),M=(e,t)=>{let r=new URLSearchParams,s=new Set;for(let o of[e,t])if(void 0!==o)if(o instanceof URLSearchParams){for(let[e,t]of o.entries())r.append(e,t),s.delete(e);let e=o[A];if(e)for(let t of e)r.delete(t),s.add(t)}else if(Array.isArray(o))for(let e of o){if(!Array.isArray(e)||2!==e.length)throw TypeError("Array search parameters must be provided in [[key, value], ...] format");r.append(String(e[0]),String(e[1])),s.delete(String(e[0]))}else if(k(o))for(let[e,t]of Object.entries(o))void 0===t?(r.delete(e),s.add(e)):(r.append(e,String(t)),s.delete(e));else for(let[e,t]of new URLSearchParams(o).entries())r.append(e,t),s.delete(e);return s.size>0&&(r[A]=s),r},L=(...e)=>{let t,r={},s={},o={},a=[];for(let n of e)if(Array.isArray(n))Array.isArray(r)||(r=[]),r=[...r,...n];else if(k(n)){for(let[e,s]of Object.entries(n)){if("signal"===e&&s instanceof globalThis.AbortSignal){a.push(s);continue}let o=T(s),{isReplace:n}=o;if(s=o.value,"context"===e){if(null!=s&&(!k(s)||Array.isArray(s)))throw TypeError("The `context` option must be an object");r={...r,context:null==s?{}:n?{...s}:{...r.context,...s}};continue}if("searchParams"===e){t=null==s?void 0:n||void 0===t?s:M(t,s);continue}k(s)&&!n&&e in r&&(s=L(r[e],s)),r={...r,[e]:s}}if(k(n.hooks)){let{value:e,isReplace:t}=T(n.hooks);o=t?O({},e):O(o,e),r.hooks=o}if(k(n.headers)){let{value:e,isReplace:t}=T(n.headers);s=t?E(e):N(s,e),r.headers=s}}return void 0!==t&&(r.searchParams=t),a.length>0&&(1===a.length?r.signal=a[0]:h?r.signal=AbortSignal.any(a):r.signal=a.at(-1)),r},B={limit:2,methods:["get","put","head","delete","options","trace"],statusCodes:[408,413,429,500,502,503,504],afterStatusCodes:[413,429,503],maxRetryAfter:1/0,backoffLimit:1/0,delay:e=>.3*2**(e-1)*1e3,jitter:void 0,retryOnTimeout:!1};async function U(e,t,r,s){return new Promise((o,a)=>{let n=setTimeout(()=>{r&&r.abort(),a(new l(e))},s.timeout);s.fetch(e,t).then(o).catch(a).then(()=>{clearTimeout(n)})})}async function D(e,{signal:t}){return new Promise((r,s)=>{function o(){clearTimeout(a),s(t.reason)}t&&(t.throwIfAborted(),t.addEventListener("abort",o,{once:!0}));let a=setTimeout(()=>{t?.removeEventListener("abort",o),r()},e)})}let z=Object.prototype.toString,H=new Set(["network error","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed","fetch failed","terminated"," A network error occurred.","Network connection lost"]),_=(e,t)=>e instanceof t||e?.name===t.name,$=Symbol("timedOutResponseData"),F="The `schema` argument must follow the Standard Schema specification",I=Object.prototype.toString,W=e=>e instanceof globalThis.Request||"[object Request]"===I.call(e),J=e=>e instanceof globalThis.Response||"[object Response]"===I.call(e),K=async(e,t)=>{if("object"!=typeof t&&"function"!=typeof t||null===t)throw TypeError(F);let r=t["~standard"];if("object"!=typeof r||null===r||"function"!=typeof r.validate)throw TypeError(F);let s=await r.validate(e);if(s.issues)throw new i(s.issues);return s.value};class V{static create(e,t){var r,o;let a,i=t.hooks?.init??[],l=i.length>0?(a={...t,json:E(t.json),context:E(t.context),headers:E(t.headers),searchParams:Array.isArray(r=t.searchParams)?r.map(e=>[...e]):E(r)},void 0!==t.retry&&(a.retry="object"!=typeof(o=t.retry)?o:{...o,...o.methods&&{methods:[...o.methods]},...o.statusCodes&&{statusCodes:[...o.statusCodes]},...o.afterStatusCodes&&{afterStatusCodes:[...o.afterStatusCodes]}}),a):t;for(let e of i)e(l);let c=new V(e,l),u=async()=>{if("number"==typeof c.#e.timeout&&c.#e.timeout>0x7fffffff)throw RangeError("The `timeout` option cannot be greater than 2147483647");if("number"==typeof c.#e.totalTimeout&&c.#e.totalTimeout>0x7fffffff)throw RangeError("The `totalTimeout` option cannot be greater than 2147483647");await Promise.resolve();let e=await c.#t(),t=e??await c.#r(async()=>c.#s()),r=void 0!==e||c.#o();for(;;){if(void 0===t)return t;if(J(t))try{t=await c.#a(t)}catch(s){if(!(s instanceof n))throw s;let e=await c.#n(s,async()=>c.#s());if(void 0===e)return e;t=e,r=c.#o();continue}let e=t;if(!e.ok&&"opaque"!==e.type&&("function"==typeof c.#e.throwHttpErrors?c.#e.throwHttpErrors(e.status):c.#e.throwHttpErrors)){let o=new s(e,c.#i(e),c.#l());if(o.data=await c.#c(e),r)throw o;let a=await c.#n(o,async()=>c.#s());if(void 0===a)return a;t=a,r=c.#o();continue}break}if(!J(t))return t;if(c.#u(t),c.#e.onDownloadProgress){if("function"!=typeof c.#e.onDownloadProgress)throw TypeError("The `onDownloadProgress` option must be a function");if(!d)throw Error("Streams are not supported in your environment. `ReadableStream` is missing.");let e=t.clone();c.#h(t);var o=c.#e.onDownloadProgress;if(!e.body)return e;let r={status:e.status,statusText:e.statusText,headers:e.headers};if(204===e.status)return new Response(null,r);let s=Math.max(0,Number(e.headers.get("content-length"))||0);return new Response(R(e.body,s,o),r)}return t},h=(async()=>{try{return await u()}catch(t){if(!(t instanceof Error)||c.#d.has(t))throw t;let e=t;for(let t of c.#e.hooks.beforeError){let r=await t({request:c.request,options:c.#l(),error:e,retryCount:c.#p});r instanceof Error&&(e=r)}throw e}finally{let e=c.#f;c.#m(e?.body??void 0),c.request!==e&&c.#m(c.request.body??void 0)}})();for(let[e,t]of Object.entries(m))("bytes"!==e||"function"==typeof globalThis.Response?.prototype?.bytes)&&(h[e]=async r=>{c.request.headers.set("accept",c.request.headers.get("accept")||t);let s=await h;if("json"!==e)return s[e]();let o=await s.text();if(""===o)return void 0!==r?K(void 0,r):JSON.parse(o);let a=l.parseJson?await l.parseJson(o,{request:c.#i(s),response:s}):JSON.parse(o);return void 0===r?a:K(a,r)});return h}static #y(e){return!e||"object"!=typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.fromEntries(Object.entries(e).filter(([,e])=>void 0!==e))}request;#g;#p=0;#b;#e;#f;#w;#d=new WeakSet;#x;#v;#R=!1;#k=new WeakMap;constructor(e,t={}){if(this.#b=e,Object.hasOwn(t,"prefixUrl"))throw Error("The `prefixUrl` option has been renamed `prefix` in v2 and enhanced to allow slashes in input. See also the new `baseUrl` option for improved flexibility with standard URL resolution: https://github.com/sindresorhus/ky#baseurl");if(this.#e={...t,headers:S(this.#b.headers,t.headers),hooks:O({},t.hooks),method:(e=>f.includes(e)?e.toUpperCase():e)(t.method??this.#b.method??"GET"),prefix:String(t.prefix||""),retry:((e={})=>{if("number"==typeof e)return{...B,limit:e};if(e.methods&&!Array.isArray(e.methods))throw Error("retry.methods must be an array");if(e.statusCodes&&!Array.isArray(e.statusCodes))throw Error("retry.statusCodes must be an array");let t=Object.fromEntries(Object.entries({...e,methods:e.methods?.map(e=>e.toLowerCase())}).filter(([,e])=>void 0!==e));return{...B,...t}})(t.retry),throwHttpErrors:t.throwHttpErrors??!0,timeout:t.timeout??1e4,totalTimeout:t.totalTimeout??!1,fetch:t.fetch??globalThis.fetch.bind(globalThis),context:t.context??{}},"string"!=typeof this.#b&&!(this.#b instanceof URL||this.#b instanceof globalThis.Request))throw TypeError("`input` must be a string, URL, or Request");if("string"==typeof this.#b){if(this.#e.prefix){const e=this.#e.prefix.replace(/\/+$/,""),t=this.#b.replace(/^\/+/,"");this.#b=`${e}/${t}`}if(this.#e.baseUrl){let e;try{e=new URL(this.#b)}catch{}e||(this.#b=new URL(this.#b,new Request(this.#e.baseUrl).url))}}u&&h&&(this.#w=this.#e.signal??this.#b.signal,this.#g=new globalThis.AbortController,this.#e.signal=this.#j()),c&&(this.#e.duplex="half"),void 0!==this.#e.json&&(this.#e.body=this.#e.stringifyJson?.(this.#e.json)??JSON.stringify(this.#e.json),this.#e.headers.set("content-type",this.#e.headers.get("content-type")??"application/json"));const r=t.headers&&new globalThis.Headers(t.headers).has("content-type");if(this.#b instanceof globalThis.Request&&(p&&this.#e.body instanceof globalThis.FormData||this.#e.body instanceof URLSearchParams)&&!r&&this.#e.headers.delete("content-type"),this.request=new globalThis.Request(this.#b,this.#e),(e=>void 0!==e&&(Array.isArray(e)?e.length>0:e instanceof URLSearchParams?e.size>0||!!e[A]?.size:"object"==typeof e?Object.keys(e).length>0:"string"==typeof e?e.trim().length>0:!!e))(this.#e.searchParams)){const e=new URL(this.request.url),t=this.#e.searchParams?.[A];if(t)for(const r of t)e.searchParams.delete(r);if("string"==typeof this.#e.searchParams){const t=this.#e.searchParams.replace(/^\?/,"");""!==t&&(e.search=e.search?`${e.search}&${t}`:`?${t}`)}else for(const[t,r]of new URLSearchParams(V.#y(this.#e.searchParams)).entries())e.searchParams.append(t,r);if(this.#e.searchParams&&"object"==typeof this.#e.searchParams&&!Array.isArray(this.#e.searchParams)&&!(this.#e.searchParams instanceof URLSearchParams))for(const[t,r]of Object.entries(this.#e.searchParams))void 0===r&&e.searchParams.delete(t);this.request=new globalThis.Request(e,this.#e)}if(this.#e.onUploadProgress&&"function"!=typeof this.#e.onUploadProgress)throw TypeError("The `onUploadProgress` option must be a function");this.#v="number"==typeof this.#e.totalTimeout?this.#T():void 0}#P(){let e=this.#e.retry.delay(this.#p+1),t=e;return!0===this.#e.retry.jitter?t=Math.random()*e:"function"==typeof this.#e.retry.jitter&&(!Number.isFinite(t=this.#e.retry.jitter(e))||t<0)&&(t=e),Math.min(this.#e.retry.backoffLimit,t)}async #S(e){if(this.#p>=this.#e.retry.limit)throw e;let t=e instanceof Error?e:new a(e);if(t instanceof n)return t.customDelay??this.#P();if(!this.#e.retry.methods.includes(this.request.method.toLowerCase()))throw e;if(void 0!==this.#e.retry.shouldRetry){let r=await this.#e.retry.shouldRetry({error:t,retryCount:this.#p+1});if(!1===r)throw e;if(!0===r)return this.#P()}if(_(e,l)){if(!this.#e.retry.retryOnTimeout)throw e;return this.#P()}if(_(e,s)){if(!this.#e.retry.statusCodes.includes(e.response.status))throw e;let t=e.response.headers.get("Retry-After")??e.response.headers.get("RateLimit-Reset")??e.response.headers.get("X-RateLimit-Retry-After")??e.response.headers.get("X-RateLimit-Reset")??e.response.headers.get("X-Rate-Limit-Reset");if(t&&this.#e.retry.afterStatusCodes.includes(e.response.status)){let e=1e3*Number(t);return(Number.isNaN(e)?e=Date.parse(t)-Date.now():e>=Date.parse("2024-01-01")&&(e-=Date.now()),Number.isFinite(e))?(e=Math.max(0,e),Math.min(this.#e.retry.maxRetryAfter,e)):Math.min(this.#e.retry.maxRetryAfter,this.#P())}if(413===e.response.status)throw e;return this.#P()}if(!_(e,o))throw e;return this.#P()}#u(e){let t=this.#i(e);return this.#e.parseJson&&(e.json=async()=>{let r=await e.text();return""===r?JSON.parse(r):this.#e.parseJson(r,{request:t,response:e})}),e}async #c(e){let t=await this.#q(e,this.#E());if(t===$)return void this.#N();if(!t)return;if(!this.#C(e.headers.get("content-type")??""))return t;let r=await this.#O(t,e,this.#E(),this.#i(e));return r===$?void this.#N():r}#E(){let e=!1===this.#e.timeout?1e4:this.#e.timeout,t=this.#A();if(void 0===t)return e;if(t<=0)throw new l(this.request);return Math.min(e,t)}#C(e){let t=(e.split(";",1)[0]??"").trim().toLowerCase();return/\/(?:.*[.+-])?json$/.test(t)}async #q(e,t){let r,{body:s}=e;if(!s)try{return await e.text()}catch{return}try{r=s.getReader()}catch{return}let o=(e=>{let t=/;\s*charset\s*=\s*(?:"([^"]+)"|([^;,\s]+))/i.exec(e),r=t?.[1]??t?.[2];if(r)try{return new TextDecoder(r)}catch{}return new TextDecoder})(e.headers.get("content-type")??""),a=[],n=0,i=(async()=>{try{for(;;){let{done:e,value:t}=await r.read();if(e)break;if((n+=t.byteLength)>0xa00000)return void r.cancel().catch(()=>void 0);a.push(o.decode(t,{stream:!0}))}}catch{return}return a.push(o.decode()),a.join("")})(),l=new Promise(e=>{let r=setTimeout(()=>{e($)},t);i.finally(()=>{clearTimeout(r)})}),c=await Promise.race([i,l]);return c===$&&r.cancel().catch(()=>void 0),c}async #O(e,t,r,s){let o;try{return await Promise.race([Promise.resolve().then(()=>this.#e.parseJson?this.#e.parseJson(e,{request:s,response:t}):JSON.parse(e)),new Promise(e=>{o=setTimeout(()=>{e($)},r)})])}catch{return}finally{clearTimeout(o)}}#m(e){e&&e.cancel().catch(()=>void 0)}#h(e){this.#m(e.body??void 0)}#j(){return this.#w?AbortSignal.any([this.#w,this.#g.signal]):this.#g.signal}#N(){let e=this.#A();if(void 0!==e&&e<=0)throw new l(this.request)}async #t(){for(let e of this.#e.hooks.beforeRequest){let t=await e({request:this.request,options:this.#l(),retryCount:0});if(W(t))this.#M(t);else if(J(t))return t}}async #a(e){let t=this.#i(e);for(let r of this.#e.hooks.afterResponse){let s,o=this.#L(e.clone(),t);this.#u(o);try{s=await r({request:this.request,options:this.#l(),response:o,retryCount:this.#p})}catch(t){throw o!==e&&this.#h(o),this.#h(e),t}if(s instanceof g)throw o!==e&&this.#h(o),this.#h(e),new n(s.options);let a=J(s)?this.#L(s,t):e;o!==e&&o!==a&&o.body!==a.body&&this.#h(o),e!==a&&e.body!==a.body&&this.#h(e),e=a}return e}async #r(e){try{return await e()}catch(t){return this.#n(t,e)}}async #n(e,t){this.#R=!1;let r=Math.min(await this.#S(e),0x7fffffff),s={signal:this.#w},o=this.#A();if(void 0!==o){if(o<=0)throw new l(this.request);if(r>=o)throw await D(o,s),new l(this.request)}if(await D(r,s),this.#N(),e instanceof n&&e.customRequest){let t=new globalThis.Request(e.customRequest,this.#e.signal?{signal:this.#e.signal}:void 0);this.#M(t)}for(let t of this.#e.hooks.beforeRetry){let r;try{r=await t({request:this.request,options:this.#l(),error:e,retryCount:this.#p+1})}catch(t){throw t instanceof Error&&t!==e&&this.#d.add(t),t}if(W(r)){this.#M(r);break}if(J(r))return this.#R=!0,this.#p++,r;if(r===y)return}return this.#N(),this.#p++,this.#r(t)}#o(){let e=this.#R;return this.#R=!1,e}async #s(){this.#g?.signal.aborted&&(this.#g=new globalThis.AbortController,this.#e.signal=this.#j(),this.request=new globalThis.Request(this.request,{signal:this.#e.signal}));let e=(e=>{let t={};for(let r in e)Object.hasOwn(e,r)&&(r in x||r in w||(t[r]=e[r]));return t})(this.#e),t=this.#e.retry.limit>0?this.request.clone():void 0,r=this.#B(this.request,this.#e.body??void 0);this.#f=r,t&&(this.request=t);try{let t=this.#A();if(void 0!==t&&t<=0)throw new l(this.request);let s=!1===this.#e.timeout?t:void 0===t?this.#e.timeout:Math.min(this.#e.timeout,t),o=void 0===s?await this.#e.fetch(r,e):await U(r,e,this.#g,{timeout:s,fetch:this.#e.fetch});return this.#L(o,r)}catch(e){if(function(e){if(!(e&&"[object Error]"===z.call(e)&&"TypeError"===e.name&&"string"==typeof e.message))return!1;let{message:t,stack:r}=e;return"Load failed"===t?void 0===r||"__sentry_captured__"in e:!!(t.startsWith("error sending request for url")||"Failed to fetch"===t||t.startsWith("Failed to fetch (")&&t.endsWith(")"))||H.has(t)}(e))throw new o(this.request,{cause:e});throw e}}#A(){if(void 0===this.#v)return;let e=this.#T()-this.#v;return Math.max(0,this.#e.totalTimeout-e)}#T(){return globalThis.performance?.now()??Date.now()}#l(){if(!this.#x){let{hooks:e,json:t,parseJson:r,stringifyJson:s,searchParams:o,timeout:a,totalTimeout:n,throwHttpErrors:i,fetch:l,...c}=this.#e;this.#x=Object.freeze(c)}return this.#x}#M(e){this.#x=void 0,this.request=e}#i(e){return this.#k.get(e)??this.request}#L(e,t){return this.#k.set(e,t),e}#B(e,t){return this.#e.onUploadProgress&&e.body&&c?((e,t,r)=>{if(!e.body)return e;let s=(e=>{if(!e)return 0;if(e instanceof FormData){let t=0;for(let[r,s]of e)t+=40,t+=v.encode(`Content-Disposition: form-data; name="${r}"`).byteLength,t+="string"==typeof s?v.encode(s).byteLength:s.size;return t}return e instanceof Blob?e.size:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:"string"==typeof e?v.encode(e).byteLength:e instanceof URLSearchParams?v.encode(e.toString()).byteLength:0})(r??e.body);return new Request(e,{duplex:"half",body:R(e.body,s,t)})})(e,this.#e.onUploadProgress,t??this.#e.body??void 0):e}}let G=e=>{let t=(t,r)=>V.create(t,P(e,r));for(let r of f)t[r]=(t,s)=>V.create(t,P(e,s,{method:r}));return t.create=e=>G(P(e)),t.extend=t=>("function"==typeof t&&(t=t(e??{})),G(P(e,t))),t.stop=y,t.retry=b,t},X=G(),Z="mostbox_backend_url";function Q(){let e=localStorage.getItem(Z)||"";return X.create({prefix:e})}let Y=Q();async function ee(){try{return(await fetch("/api/node-id",{method:"GET",signal:AbortSignal.timeout(2e3)})).ok}catch{return!1}}async function et(){try{return(await fetch("http://localhost:1976/api/node-id",{method:"GET",signal:AbortSignal.timeout(2e3)})).ok}catch{return!1}}e.s(["api",()=>Y,"detectLocalhostBackend",0,et,"detectSameOriginBackend",0,ee,"setBackendUrl",0,function(e){let t=(e||"").trim().replace(/\/+$/,"");t?localStorage.setItem(Z,t):localStorage.removeItem(Z),Y=Q()}],26913)},70904,e=>{"use strict";let t=(0,e.i(56420).default)("wallet",[["path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1",key:"18etb6"}],["path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4",key:"xoc0q4"}]]);e.s(["Wallet",0,t],70904)},82022,e=>{"use strict";let t=(0,e.i(56420).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",0,t],82022)},31713,e=>{"use strict";var t=e.i(43476),r=e.i(71645),s=e.i(22016),o=e.i(56420);let a=(0,o.default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);var n=e.i(68590),i=e.i(70904),l=e.i(68877);let c=(0,o.default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var u=e.i(89664),h=e.i(82022),d=e.i(62368),p=e.i(26913);let f=[{id:"app",title:"MostBox",subtitle:"P2P 文件分享",icon:(0,t.jsx)(a,{size:28}),path:"/app/",requiresBackend:!0,hero:"P2P 文件分享,无需注册",desc:"基于 Hyperswarm 的去中心化文件传输,让文件分享回归点对点。不限速、不限量、不追踪。",features:["无需注册,打开浏览器即用","Hyperswarm P2P 直连传输","GB 级大文件流式处理","相同文件 = 相同 CID,链接永久有效","频道加密聊天,实时通讯","MIT 开源,数据完全自主掌控"],steps:[{num:"1",title:"下载桌面客户端",desc:"支持 Windows、macOS 和 Linux。",link:"/download",linkText:"前往下载页"},{num:"2",title:"安装并运行",desc:"安装后打开应用,即可使用。"},{num:"3",title:"开始分享",desc:"上传文件,复制链接,发给朋友即可。"}]},{id:"chat",title:"P2P 聊天",subtitle:"频道加密通讯",icon:(0,t.jsx)(n.MessageSquare,{size:28}),path:"/chat/",requiresBackend:!0,hero:"去中心化频道聊天",desc:"基于 Hypercore 的 P2P 加密即时通讯。创建频道,邀请朋友,端到端加密,无需服务器中转。",features:["P2P 加密频道消息","匿名 / 实名身份切换","消息通过 Hyperswarm 网络同步","离线消息自动同步","无需注册即可使用"],steps:[{num:"1",title:"下载桌面客户端",desc:"支持 Windows、macOS 和 Linux。",link:"/download",linkText:"前往下载页"},{num:"2",title:"创建频道",desc:"输入任意频道名即可加入或创建。"},{num:"3",title:"开始聊天",desc:"发送消息,P2P 网络自动同步给所有在线节点。"}]},{id:"web3",title:"Web3",subtitle:"账户工具箱",icon:(0,t.jsx)(i.Wallet,{size:28}),path:"/web3/",requiresBackend:!1,hero:"确定性密钥派生工具箱",desc:"纯前端运行的 Web3 账户工具。输入用户名和密码,即可生成 Ed25519 / x25519 密钥对、助记词、以太坊地址,支持 PEM 导出和地址派生。",features:["纯前端运行,无需后端","Ed25519 / x25519 密钥对生成","BIP-39 助记词派生","以太坊地址与私钥导出","PEM 格式密钥导出","二维码展示地址与助记词"],steps:[{num:"1",title:"输入用户名",desc:"用户名 + 密码(可选)作为种子。"},{num:"2",title:"查看密钥",desc:"即时生成 Ed25519、x25519 公钥与 IPNS ID。"},{num:"3",title:"导出使用",desc:"复制地址、导出 PEM、派生子地址。"}]}];function m(){let[e,o]=(0,r.useState)("app"),[a,n]=(0,r.useState)(null),[i,m]=(0,r.useState)(!0);(0,r.useEffect)(()=>{!async function(){if(await (0,p.detectSameOriginBackend)()){(0,p.setBackendUrl)(""),n(!0),m(!1);return}if(await (0,p.detectLocalhostBackend)()){(0,p.setBackendUrl)("http://localhost:1976"),n(!0),m(!1);return}n(!1),m(!1)}()},[]);let y=f.find(t=>t.id===e)||f[0];return(0,t.jsxs)("div",{className:"portal-page",children:[(0,t.jsx)("section",{className:"portal-hero",children:(0,t.jsxs)("div",{className:"mkt-container",children:[(0,t.jsx)("h1",{className:"portal-hero-title",children:"MOST PEOPLE"}),(0,t.jsx)("p",{className:"portal-hero-subtitle",children:"去中心化 P2P 工具箱"})]})}),(0,t.jsx)("section",{className:"portal-cards-section",children:(0,t.jsx)("div",{className:"mkt-container",children:(0,t.jsx)("div",{className:"portal-cards",children:f.map(r=>{let n=e===r.id,l=r.requiresBackend,u=i?"checking":l?a?"connected":"disconnected":"none";return(0,t.jsxs)("button",{className:`portal-card ${n?"active":""}`,onClick:()=>o(r.id),children:[(0,t.jsx)(s.default,{href:r.path,className:"portal-card-open-btn",onClick:e=>e.stopPropagation(),title:`打开${r.title}`,children:(0,t.jsx)(c,{size:16})}),(0,t.jsx)("div",{className:"portal-card-icon",children:r.icon}),(0,t.jsx)("div",{className:"portal-card-title",children:r.title}),(0,t.jsx)("div",{className:"portal-card-subtitle",children:r.subtitle}),l?(0,t.jsxs)("div",{className:`portal-card-status ${u}`,children:["checking"===u&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"status-dot checking"}),"检测中"]}),"connected"===u&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"status-dot connected"}),"已连接"]}),"disconnected"===u&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"status-dot disconnected"}),"需下载"]})]}):(0,t.jsxs)("div",{className:"portal-card-status ready",children:[(0,t.jsx)("span",{className:"status-dot ready"}),"已就绪"]})]},r.id)})})})}),(0,t.jsx)("section",{className:"portal-marketing",children:(0,t.jsx)("div",{className:"mkt-container",children:(0,t.jsx)("div",{className:"portal-marketing-inner",children:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"portal-marketing-header",children:[(0,t.jsx)("h2",{children:y.hero}),(0,t.jsx)("p",{children:y.desc})]}),(0,t.jsx)("div",{className:"portal-marketing-features",children:y.features.map((e,r)=>(0,t.jsxs)("div",{className:"portal-feature-item",children:[(0,t.jsx)("span",{className:"portal-feature-icon",children:(0,t.jsx)(u.Check,{size:14,strokeWidth:3})}),(0,t.jsx)("span",{children:e})]},r))}),(0,t.jsx)("div",{className:"portal-marketing-steps",children:y.steps.map(e=>(0,t.jsxs)("div",{className:"portal-step",children:[(0,t.jsx)("span",{className:"portal-step-num",children:e.num}),(0,t.jsxs)("div",{className:"portal-step-content",children:[(0,t.jsx)("strong",{children:e.title}),(0,t.jsx)("p",{children:e.desc}),e.code&&(0,t.jsx)("code",{className:"portal-step-code",children:e.code}),e.link&&(0,t.jsx)("p",{className:"portal-step-link",children:(0,t.jsxs)("a",{href:e.link,target:"_blank",rel:"noopener noreferrer",children:[e.linkText," ",(0,t.jsx)(h.ExternalLink,{size:12})]})})]})]},e.num))}),(0,t.jsxs)("div",{className:"portal-actions",children:[(0,t.jsxs)(s.default,{href:y.path,className:"mkt-btn-primary",children:["进入 ",y.title,(0,t.jsx)(l.ArrowRight,{size:16})]}),y.requiresBackend&&!1===a&&(0,t.jsxs)(s.default,{href:"/download",className:"mkt-btn-secondary",children:[(0,t.jsx)(d.Download,{size:16}),"下载桌面客户端"]})]})]})})})})]})}var y=e.i(40983);e.s(["default",0,function(){return(0,t.jsx)(y.MarketingLayout,{children:(0,t.jsx)(m,{})})}],31713)}]);
|