most-box 0.1.4 → 0.1.5

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.
Files changed (186) hide show
  1. package/README.md +7 -4
  2. package/electron/main.js +31 -10
  3. package/out/404/index.html +2 -2
  4. package/out/404.html +2 -2
  5. package/out/__next.__PAGE__.txt +6 -6
  6. package/out/__next._full.txt +15 -15
  7. package/out/__next._head.txt +3 -3
  8. package/out/__next._index.txt +7 -7
  9. package/out/__next._tree.txt +4 -4
  10. package/out/_next/static/chunks/{0hpev4am9jpmu.css → 0.4ov9319fecg.css} +1 -1
  11. package/out/_next/static/chunks/0._8s6pbfw.xk.js +1 -0
  12. package/out/_next/static/chunks/02jvyg27pp0mz.js +1 -0
  13. package/out/_next/static/chunks/{0pt.5cg1t09qs.js → 08qqf0rsi3oot.js} +1 -1
  14. package/out/_next/static/chunks/{0adx~d-j05c9d.css → 09h7l4i38xc7q.css} +1 -1
  15. package/out/_next/static/chunks/09hqx79-jkvm_.css +1 -0
  16. package/out/_next/static/chunks/09vcm1ku9k7o8.js +1 -0
  17. package/out/_next/static/chunks/0c6e_d2jq179x.js +1 -0
  18. package/out/_next/static/chunks/0ccalho416.d7.js +1 -0
  19. package/out/_next/static/chunks/0exj_tg.ew-t3.js +1 -0
  20. package/out/_next/static/chunks/0f-wz5d~tv-r4.js +1 -0
  21. package/out/_next/static/chunks/0f0jhsujtf-61.js +1 -0
  22. package/out/_next/static/chunks/0ig8a4sazk3~2.css +1 -0
  23. package/out/_next/static/chunks/0iq1h7g4dudg8.js +1 -0
  24. package/out/_next/static/chunks/0knnzo9aih48r.js +1 -0
  25. package/out/_next/static/chunks/0nzyk~sg_tn._.js +1 -0
  26. package/out/_next/static/chunks/0w~2fjq86t7c7.css +1 -0
  27. package/out/_next/static/chunks/0xrqerhosrp9~.js +1 -0
  28. package/out/_next/static/chunks/14-fm9r_mom81.js +1 -0
  29. package/out/_next/static/chunks/14jhy~xia8lh8.js +1 -0
  30. package/out/_next/static/chunks/{turbopack-0xta0kqwzkf28.js → turbopack-05qngmxam3ar~.js} +1 -1
  31. package/out/_not-found/__next._full.txt +12 -12
  32. package/out/_not-found/__next._head.txt +3 -3
  33. package/out/_not-found/__next._index.txt +7 -7
  34. package/out/_not-found/__next._not-found.__PAGE__.txt +4 -4
  35. package/out/_not-found/__next._not-found.txt +3 -3
  36. package/out/_not-found/__next._tree.txt +2 -2
  37. package/out/_not-found/index.html +2 -2
  38. package/out/_not-found/index.txt +12 -12
  39. package/out/admin/__next._full.txt +14 -14
  40. package/out/admin/__next._head.txt +3 -3
  41. package/out/admin/__next._index.txt +7 -7
  42. package/out/admin/__next._tree.txt +3 -3
  43. package/out/admin/__next.admin.__PAGE__.txt +4 -4
  44. package/out/admin/__next.admin.txt +4 -4
  45. package/out/admin/index.html +2 -2
  46. package/out/admin/index.txt +14 -14
  47. package/out/app/__next._full.txt +13 -13
  48. package/out/app/__next._head.txt +3 -3
  49. package/out/app/__next._index.txt +7 -7
  50. package/out/app/__next._tree.txt +2 -2
  51. package/out/app/__next.app.__PAGE__.txt +4 -4
  52. package/out/app/__next.app.txt +3 -3
  53. package/out/app/index.html +2 -2
  54. package/out/app/index.txt +13 -13
  55. package/out/chat/__next._full.txt +14 -14
  56. package/out/chat/__next._head.txt +3 -3
  57. package/out/chat/__next._index.txt +7 -7
  58. package/out/chat/__next._tree.txt +3 -3
  59. package/out/chat/__next.chat.__PAGE__.txt +4 -4
  60. package/out/chat/__next.chat.txt +4 -4
  61. package/out/chat/index.html +2 -2
  62. package/out/chat/index.txt +14 -14
  63. package/out/chat/join/__next._full.txt +14 -14
  64. package/out/chat/join/__next._head.txt +3 -3
  65. package/out/chat/join/__next._index.txt +7 -7
  66. package/out/chat/join/__next._tree.txt +3 -3
  67. package/out/chat/join/__next.chat.join.__PAGE__.txt +4 -4
  68. package/out/chat/join/__next.chat.join.txt +3 -3
  69. package/out/chat/join/__next.chat.txt +4 -4
  70. package/out/chat/join/index.html +2 -2
  71. package/out/chat/join/index.txt +14 -14
  72. package/out/download/__next._full.txt +33 -35
  73. package/out/download/__next._head.txt +3 -3
  74. package/out/download/__next._index.txt +7 -7
  75. package/out/download/__next._tree.txt +3 -3
  76. package/out/download/__next.download.__PAGE__.txt +6 -6
  77. package/out/download/__next.download.txt +3 -3
  78. package/out/download/index.html +2 -2
  79. package/out/download/index.txt +33 -35
  80. package/out/favicon.ico +0 -0
  81. package/out/game/__next._full.txt +11 -11
  82. package/out/game/__next._head.txt +3 -3
  83. package/out/game/__next._index.txt +7 -7
  84. package/out/game/__next._tree.txt +2 -2
  85. package/out/game/__next.game.__PAGE__.txt +2 -2
  86. package/out/game/__next.game.txt +3 -3
  87. package/out/game/gandengyan/__next._full.txt +13 -13
  88. package/out/game/gandengyan/__next._head.txt +3 -3
  89. package/out/game/gandengyan/__next._index.txt +7 -7
  90. package/out/game/gandengyan/__next._tree.txt +2 -2
  91. package/out/game/gandengyan/__next.game.gandengyan.__PAGE__.txt +4 -4
  92. package/out/game/gandengyan/__next.game.gandengyan.txt +3 -3
  93. package/out/game/gandengyan/__next.game.txt +3 -3
  94. package/out/game/gandengyan/index.html +2 -2
  95. package/out/game/gandengyan/index.txt +13 -13
  96. package/out/game/index.html +1 -1
  97. package/out/game/index.txt +11 -11
  98. package/out/game/zhajinhua/__next._full.txt +13 -13
  99. package/out/game/zhajinhua/__next._head.txt +3 -3
  100. package/out/game/zhajinhua/__next._index.txt +7 -7
  101. package/out/game/zhajinhua/__next._tree.txt +2 -2
  102. package/out/game/zhajinhua/__next.game.txt +3 -3
  103. package/out/game/zhajinhua/__next.game.zhajinhua.__PAGE__.txt +4 -4
  104. package/out/game/zhajinhua/__next.game.zhajinhua.txt +3 -3
  105. package/out/game/zhajinhua/index.html +2 -2
  106. package/out/game/zhajinhua/index.txt +13 -13
  107. package/out/index.html +2 -2
  108. package/out/index.txt +15 -15
  109. package/out/logo-512.png +0 -0
  110. package/out/logo.ico +0 -0
  111. package/out/logo.svg +12 -0
  112. package/out/note/__next._full.txt +13 -13
  113. package/out/note/__next._head.txt +3 -3
  114. package/out/note/__next._index.txt +7 -7
  115. package/out/note/__next._tree.txt +2 -2
  116. package/out/note/__next.note.__PAGE__.txt +4 -4
  117. package/out/note/__next.note.txt +3 -3
  118. package/out/note/index.html +2 -2
  119. package/out/note/index.txt +13 -13
  120. package/out/ping/__next._full.txt +14 -14
  121. package/out/ping/__next._head.txt +3 -3
  122. package/out/ping/__next._index.txt +7 -7
  123. package/out/ping/__next._tree.txt +3 -3
  124. package/out/ping/__next.ping.__PAGE__.txt +5 -5
  125. package/out/ping/__next.ping.txt +3 -3
  126. package/out/ping/index.html +2 -2
  127. package/out/ping/index.txt +14 -14
  128. package/out/web3/__next._full.txt +13 -13
  129. package/out/web3/__next._head.txt +3 -3
  130. package/out/web3/__next._index.txt +7 -7
  131. package/out/web3/__next._tree.txt +2 -2
  132. package/out/web3/__next.web3.__PAGE__.txt +4 -4
  133. package/out/web3/__next.web3.txt +3 -3
  134. package/out/web3/ed25519/__next._full.txt +11 -11
  135. package/out/web3/ed25519/__next._head.txt +3 -3
  136. package/out/web3/ed25519/__next._index.txt +7 -7
  137. package/out/web3/ed25519/__next._tree.txt +2 -2
  138. package/out/web3/ed25519/__next.web3.ed25519.__PAGE__.txt +2 -2
  139. package/out/web3/ed25519/__next.web3.ed25519.txt +3 -3
  140. package/out/web3/ed25519/__next.web3.txt +3 -3
  141. package/out/web3/ed25519/index.html +1 -1
  142. package/out/web3/ed25519/index.txt +11 -11
  143. package/out/web3/index.html +2 -2
  144. package/out/web3/index.txt +13 -13
  145. package/out/web3/tools/__next._full.txt +11 -11
  146. package/out/web3/tools/__next._head.txt +3 -3
  147. package/out/web3/tools/__next._index.txt +7 -7
  148. package/out/web3/tools/__next._tree.txt +2 -2
  149. package/out/web3/tools/__next.web3.tools.__PAGE__.txt +2 -2
  150. package/out/web3/tools/__next.web3.tools.txt +3 -3
  151. package/out/web3/tools/__next.web3.txt +3 -3
  152. package/out/web3/tools/index.html +1 -1
  153. package/out/web3/tools/index.txt +11 -11
  154. package/package.json +5 -5
  155. package/public/favicon.ico +0 -0
  156. package/public/logo-512.png +0 -0
  157. package/public/logo.ico +0 -0
  158. package/public/logo.svg +12 -0
  159. package/server/src/games/gandengyan.js +9 -5
  160. package/server/src/http/app.js +15 -13
  161. package/server/src/http/uploads.js +1 -0
  162. package/server/src/index.js +266 -89
  163. package/server/src/utils/avatar.js +3 -2
  164. package/out/_next/static/chunks/03gsbg0fr00ey.js +0 -1
  165. package/out/_next/static/chunks/0ao1lbi4b.sfa.js +0 -1
  166. package/out/_next/static/chunks/0fo9-h4knidcz.js +0 -1
  167. package/out/_next/static/chunks/0g_a~e050bgzg.css +0 -1
  168. package/out/_next/static/chunks/0i9sfdypwuw8~.js +0 -1
  169. package/out/_next/static/chunks/0olqjomda37-e.js +0 -1
  170. package/out/_next/static/chunks/0puk.7e.tr2zy.js +0 -1
  171. package/out/_next/static/chunks/0qgx9t4jx16ua.css +0 -1
  172. package/out/_next/static/chunks/0s1k6rlwy02c2.js +0 -1
  173. package/out/_next/static/chunks/0sgltmtk_9s8p.css +0 -1
  174. package/out/_next/static/chunks/0snehvtvu1n4q.js +0 -1
  175. package/out/_next/static/chunks/0s~g.l~x049o2.js +0 -1
  176. package/out/_next/static/chunks/0u38kke9vhobe.js +0 -1
  177. package/out/_next/static/chunks/0vd4_a5x-wpdh.js +0 -1
  178. package/out/_next/static/chunks/10f-t2n4y1zx8.js +0 -1
  179. package/out/_next/static/chunks/13jdyag9a-~kk.js +0 -1
  180. package/out/_next/static/chunks/153-sz7s.qml2.js +0 -1
  181. package/out/_next/static/chunks/17cwkb2yn_akx.js +0 -1
  182. /package/out/_next/static/{sSvbBrwXZY-4lBmcHshga → 2smv1H9Y4Z2Ri-SL-UFgR}/_buildManifest.js +0 -0
  183. /package/out/_next/static/{sSvbBrwXZY-4lBmcHshga → 2smv1H9Y4Z2Ri-SL-UFgR}/_clientMiddlewareManifest.js +0 -0
  184. /package/out/_next/static/{sSvbBrwXZY-4lBmcHshga → 2smv1H9Y4Z2Ri-SL-UFgR}/_ssgManifest.js +0 -0
  185. /package/out/{pwa-512x512.png → avatar.png} +0 -0
  186. /package/public/{pwa-512x512.png → avatar.png} +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,95057,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={formatUrl:function(){return o},formatWithValidation:function(){return c},urlObjectKeys:function(){return s}};for(var i in r)Object.defineProperty(n,i,{enumerable:!0,get:r[i]});let a=e.r(90809)._(e.r(98183)),l=/https?|ftp|gopher|file/;function o(e){let{auth:t,hostname:n}=e,r=e.protocol||"",i=e.pathname||"",o=e.hash||"",s=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:n&&(c=t+(~n.indexOf(":")?`[${n}]`:n),e.port&&(c+=":"+e.port)),s&&"object"==typeof s&&(s=String(a.urlQueryToSearchParams(s)));let u=e.search||s&&`?${s}`||"";return r&&!r.endsWith(":")&&(r+=":"),e.slashes||(!r||l.test(r))&&!1!==c?(c="//"+(c||""),i&&"/"!==i[0]&&(i="/"+i)):c||(c=""),o&&"#"!==o[0]&&(o="#"+o),u&&"?"!==u[0]&&(u="?"+u),i=i.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${r}${c}${i}${u}${o}`}let s=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return o(e)}},18581,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"useMergedRef",{enumerable:!0,get:function(){return i}});let r=e.r(71645);function i(e,t){let n=(0,r.useRef)(null),i=(0,r.useRef)(null);return(0,r.useCallback)(r=>{if(null===r){let e=n.current;e&&(n.current=null,e());let t=i.current;t&&(i.current=null,t())}else e&&(n.current=a(e,r)),t&&(i.current=a(t,r))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let n=e(t);return"function"==typeof n?n:()=>e(null)}}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},73668,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"isLocalURL",{enumerable:!0,get:function(){return a}});let r=e.r(18967),i=e.r(52817);function a(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),n=new URL(e,t);return n.origin===t&&(0,i.hasBasePath)(n.pathname)}catch(e){return!1}}},84508,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"errorOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},22016,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return y},useLinkStatus:function(){return x}};for(var i in r)Object.defineProperty(n,i,{enumerable:!0,get:r[i]});let a=e.r(90809),l=e.r(18050),o=a._(e.r(71645)),s=e.r(95057),c=e.r(8372),u=e.r(18581),f=e.r(18967),d=e.r(5550);e.r(33525);let h=e.r(88540),p=e.r(91949),g=e.r(73668),m=e.r(9396);function y(t){var n,r;let i,a,y,[x,k]=(0,o.useOptimistic)(p.IDLE_LINK_STATUS),v=(0,o.useRef)(null),{href:j,as:w,children:M,prefetch:S=null,passHref:E,replace:O,shallow:T,scroll:N,onClick:C,onMouseEnter:z,onTouchStart:P,legacyBehavior:_=!1,onNavigate:L,transitionTypes:I,ref:A,unstable_dynamicOnHover:F,...R}=t;i=M,_&&("string"==typeof i||"number"==typeof i)&&(i=(0,l.jsx)("a",{children:i}));let $=o.default.useContext(c.AppRouterContext),U=!1!==S,D=!1!==S?null===(r=S)||"auto"===r?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,H="string"==typeof(n=w||j)?n:(0,s.formatUrl)(n);if(_){if(i?.$$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=o.default.Children.only(i)}let q=_?a&&"object"==typeof a&&a.ref:A,V=o.default.useCallback(e=>(null!==$&&(v.current=(0,p.mountLinkInstance)(e,H,$,D,U,k)),()=>{v.current&&((0,p.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,p.unmountPrefetchableInstance)(e)}),[U,H,$,D,k]),B={ref:(0,u.useMergedRef)(V,q),onClick(t){_||"function"!=typeof C||C(t),_&&a.props&&"function"==typeof a.props.onClick&&a.props.onClick(t),!$||t.defaultPrevented||function(t,n,r,i,a,l,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,g.isLocalURL)(n)){i&&(t.preventDefault(),location.replace(n));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(99781);o.default.startTransition(()=>{f(n,i?"replace":"push",!1===a?h.ScrollBehavior.NoScroll:h.ScrollBehavior.Default,r.current,s)})}}(t,H,v,O,N,L,I)},onMouseEnter(e){_||"function"!=typeof z||z(e),_&&a.props&&"function"==typeof a.props.onMouseEnter&&a.props.onMouseEnter(e),$&&U&&(0,p.onNavigationIntent)(e.currentTarget,!0===F)},onTouchStart:function(e){_||"function"!=typeof P||P(e),_&&a.props&&"function"==typeof a.props.onTouchStart&&a.props.onTouchStart(e),$&&U&&(0,p.onNavigationIntent)(e.currentTarget,!0===F)}};return(0,f.isAbsoluteUrl)(H)?B.href=H:_&&!E&&("a"!==a.type||"href"in a.props)||(B.href=(0,d.addBasePath)(H)),y=_?o.default.cloneElement(a,B):(0,l.jsx)("a",{...R,...B,children:i}),(0,l.jsx)(b.Provider,{value:x,children:y})}e.r(84508);let b=(0,o.createContext)(p.IDLE_LINK_STATUS),x=()=>(0,o.useContext)(b);("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},31214,e=>{"use strict";let t=(0,e.i(56420).default)("cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]);e.s(["Cloud",0,t],31214)},66595,e=>{"use strict";let t=(0,e.i(56420).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",0,t],66595)},30274,e=>{"use strict";let t=(0,e.i(56420).default)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);e.s(["Send",0,t],30274)},21357,e=>{"use strict";let t=(0,e.i(56420).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",0,t],21357)},96699,e=>{"use strict";let t=(0,e.i(56420).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,t],96699)},35965,e=>{"use strict";let t=(0,e.i(56420).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,t],35965)},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)},51921,e=>{"use strict";let t=(0,e.i(56420).default)("music",[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]]);e.s(["Music",0,t],51921)},66627,e=>{"use strict";let t=(0,e.i(56420).default)("wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);e.s(["Wifi",0,t],66627)},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)},40983,e=>{"use strict";var t=e.i(18050),n=e.i(71645),r=e.i(22016),i=e.i(62368),a=e.i(96699),l=e.i(35965);function o({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)"})]})}function s(){let[e,s]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{let e=localStorage.getItem("theme"),t=window.matchMedia("(prefers-color-scheme: dark)").matches;("dark"===e||!e&&t)&&s(!0)},[]),(0,n.useEffect)(()=>{document.documentElement.setAttribute("data-theme",e?"dark":"light"),localStorage.setItem("theme",e?"dark":"light")},[e]),(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)(r.default,{href:"/",className:"mkt-nav-logo",children:[(0,t.jsx)(o,{}),"MOST PEOPLE"]}),(0,t.jsxs)("div",{className:"mkt-nav-cta",children:[(0,t.jsx)("button",{className:"mkt-theme-toggle",onClick:()=>s(!e),"aria-label":"切换主题",children:e?(0,t.jsx)(l.Sun,{size:16}):(0,t.jsx)(a.Moon,{size:16})}),(0,t.jsxs)(r.default,{href:"/download/",className:"btn btn-secondary mkt-nav-preview",children:[(0,t.jsx)(i.Download,{size:16}),"下载客户端"]}),(0,t.jsx)(r.default,{href:"/app/",className:"btn btn-primary",children:"开始使用"})]})]})})})}let c=[{href:"/",label:"关于"},{href:"/ping/",label:"网络"},{href:"https://github.com/most-people/most",label:"GitHub",external:!0}];function u(){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:c.map(e=>(0,t.jsx)(r.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)(s,{}),(0,t.jsx)("main",{className:"mkt-layout-main",children:e}),(0,t.jsx)(u,{})]})}],40983)},23449,e=>{"use strict";let t;var n,r=e.i(18050),i=e.i(71645);let a=Object.freeze({left:0,top:0,width:16,height:16}),l=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),o=Object.freeze({...a,...l}),s=Object.freeze({...o,body:"",hidden:!1});function c(e,t){let n,r,i=(n={},!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0),(r=((e.rotate||0)+(t.rotate||0))%4)&&(n.rotate=r),n);for(let n in s)n in l?n in e&&!(n in i)&&(i[n]=l[n]):n in t?i[n]=t[n]:n in e&&(i[n]=e[n]);return i}function u(e,t){let n,r,i,a=[];if("object"!=typeof e||"object"!=typeof e.icons)return a;e.not_found instanceof Array&&e.not_found.forEach(e=>{t(e,null),a.push(e)});let l=(n=e.icons,r=e.aliases||Object.create(null),i=Object.create(null),Object.keys(n).concat(Object.keys(r)).forEach(function e(t){if(n[t])return i[t]=[];if(!(t in i)){i[t]=null;let n=r[t]&&r[t].parent,a=n&&e(n);a&&(i[t]=[n].concat(a))}return i[t]}),i);for(let n in l){let r=l[n];r&&(t(n,function(e,t,n){let r=e.icons,i=e.aliases||Object.create(null),a={};function l(e){a=c(r[e]||i[e],a)}return l(t),n.forEach(l),c(e,a)}(e,n,r)),a.push(n))}return a}let f={provider:"",aliases:{},not_found:{},...a};function d(e,t){for(let n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function h(e){if("object"!=typeof e||null===e||"string"!=typeof e.prefix||!e.icons||"object"!=typeof e.icons||!d(e,f))return null;let t=e.icons;for(let e in t){let n=t[e];if(!e||"string"!=typeof n.body||!d(n,s))return null}let n=e.aliases||Object.create(null);for(let e in n){let r=n[e],i=r.parent;if(!e||"string"!=typeof i||!t[i]&&!n[i]||!d(r,s))return null}return e}let p=Object.create(null);function g(e,t){let n=p[e]||(p[e]=Object.create(null));return n[t]||(n[t]={provider:e,prefix:t,icons:Object.create(null),missing:new Set})}function m(e,t){return h(t)?u(t,(t,n)=>{n?e.icons[t]=n:e.missing.add(t)}):[]}let y=/^[a-z0-9]+(-[a-z0-9]+)*$/,b=(e,t,n,r="")=>{let i=e.split(":");if("@"===e.slice(0,1)){if(i.length<2||i.length>3)return null;r=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){let e=i.pop(),n=i.pop(),a={provider:i.length>0?i[0]:r,prefix:n,name:e};return t&&!x(a)?null:a}let a=i[0],l=a.split("-");if(l.length>1){let e={provider:r,prefix:l.shift(),name:l.join("-")};return t&&!x(e)?null:e}if(n&&""===r){let e={provider:r,prefix:"",name:a};return t&&!x(e,n)?null:e}return null},x=(e,t)=>!!e&&!!((t&&""===e.prefix||e.prefix)&&e.name),k=!1;function v(e){return"boolean"==typeof e&&(k=e),k}function j(e){let t="string"==typeof e?b(e,!0,k):e;if(t){let e=g(t.provider,t.prefix),n=t.name;return e.icons[n]||(e.missing.has(n)?null:void 0)}}let w=Object.freeze({width:null,height:null}),M=Object.freeze({...w,...l}),S=/(-?[0-9.]*[0-9]+[0-9.]*)/g,E=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function O(e,t,n){if(1===t)return e;if(n=n||100,"number"==typeof e)return Math.ceil(e*t*n)/n;if("string"!=typeof e)return e;let r=e.split(S);if(null===r||!r.length)return e;let i=[],a=r.shift(),l=E.test(a);for(;;){if(l){let e=parseFloat(a);isNaN(e)?i.push(a):i.push(Math.ceil(e*t*n)/n)}else i.push(a);if(void 0===(a=r.shift()))return i.join("");l=!l}}let T=/\sid="(\S+)"/g,N="IconifyId"+Date.now().toString(16)+(0x1000000*Math.random()|0).toString(16),C=0,z=Object.create(null);function P(e){return z[e]||z[""]}function _(e){let t;if("string"==typeof e.resources)t=[e.resources];else if(!((t=e.resources)instanceof Array)||!t.length)return null;return{resources:t,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:!0===e.random,index:e.index||0,dataAfterTimeout:!1!==e.dataAfterTimeout}}let L=Object.create(null),I=["https://api.simplesvg.com","https://api.unisvg.com"],A=[];for(;I.length>0;)1===I.length||Math.random()>.5?A.push(I.shift()):A.push(I.pop());L[""]=_({resources:["https://api.iconify.design"].concat(A)});let F=(()=>{let e;try{if(e=fetch,"function"==typeof e)return e}catch(e){}})();function R(e,t){e.forEach(e=>{let n=e.loaderCallbacks;n&&(e.loaderCallbacks=n.filter(e=>e.id!==t))})}let $=0,U={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function D(e){let t={...U,...e},n=[];function r(){n=n.filter(e=>"pending"===e().status)}return{query:function(e,i,a){let l=function(e,t,n,r){let i,a,l=e.resources.length,o=e.random?Math.floor(Math.random()*l):e.index;if(e.random){let t=e.resources.slice(0);for(i=[];t.length>1;){let e=Math.floor(Math.random()*t.length);i.push(t[e]),t=t.slice(0,e).concat(t.slice(e+1))}i=i.concat(t)}else i=e.resources.slice(o).concat(e.resources.slice(0,o));let s=Date.now(),c="pending",u=0,f=null,d=[],h=[];function p(){f&&(clearTimeout(f),f=null)}function g(){"pending"===c&&(c="aborted"),p(),d.forEach(e=>{"pending"===e.status&&(e.status="aborted")}),d=[]}function m(e,t){t&&(h=[]),"function"==typeof e&&h.push(e)}function y(){c="failed",h.forEach(e=>{e(void 0,a)})}function b(){d.forEach(e=>{"pending"===e.status&&(e.status="aborted")}),d=[]}return"function"==typeof r&&h.push(r),setTimeout(function r(){if("pending"!==c)return;p();let l=i.shift();if(void 0===l){if(d.length){f=setTimeout(()=>{p(),"pending"===c&&(b(),y())},e.timeout);return}y();return}let o={status:"pending",resource:l,callback:(t,n)=>{!function(t,n,l){let o="success"!==n;switch(d=d.filter(e=>e!==t),c){case"pending":break;case"failed":if(o||!e.dataAfterTimeout)return;break;default:return}if("abort"===n){a=l,y();return}if(o){a=l,d.length||(i.length?r():y());return}if(p(),b(),!e.random){let n=e.resources.indexOf(t.resource);-1!==n&&n!==e.index&&(e.index=n)}c="completed",h.forEach(e=>{e(l)})}(o,t,n)}};d.push(o),u++,f=setTimeout(r,e.rotate),n(l,t,o.callback)}),function(){return{startTime:s,payload:t,status:c,queriesSent:u,queriesPending:d.length,subscribe:m,abort:g}}}(t,e,i,(e,t)=>{r(),a&&a(e,t)});return n.push(l),l},find:function(e){return n.find(t=>e(t))||null},setIndex:e=>{t.index=e},getIndex:()=>t.index,cleanup:r}}let H=Object.create(null);function q(){}function V(e,t,n){function r(){let n=e.pendingIcons;t.forEach(t=>{n&&n.delete(t),e.icons[t]||e.missing.add(t)})}if(n&&"object"==typeof n)try{if(!m(e,n).length)return void r()}catch(e){console.error(e)}r(),e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;let t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1,r=e.provider,i=e.prefix;t.forEach(t=>{let a=t.icons,l=a.pending.length;a.pending=a.pending.filter(t=>{if(t.prefix!==i)return!0;let l=t.name;if(e.icons[l])a.loaded.push({provider:r,prefix:i,name:l});else{if(!e.missing.has(l))return n=!0,!0;a.missing.push({provider:r,prefix:i,name:l})}return!1}),a.pending.length!==l&&(n||R([e],t.id),t.callback(a.loaded.slice(0),a.missing.slice(0),a.pending.slice(0),t.abort))})}))}))}function B(e,t){e instanceof Promise?e.then(e=>{t(e)}).catch(()=>{t(null)}):t(e)}let K=/[\s,]+/,W={...M,inline:!1},G={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},Q={display:"inline-block"},X={backgroundColor:"currentColor"},J={backgroundColor:"transparent"},Y={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},Z={WebkitMask:X,mask:X,background:J};for(let e in Z){let t=Z[e];for(let n in Y)t[e+n]=Y[n]}let ee={...W,inline:!0};function et(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}if(v(!0),n={prepare:(e,t,n)=>{let r=[],i=function(e,t){let n,r=L[e];if(!r)return 0;if(r.maxURL){let e=0;r.resources.forEach(t=>{e=Math.max(e,t.length)}),n=r.maxURL-e-r.path.length-(t+".json?icons=").length}else n=0;return n}(e,t),a="icons",l={type:a,provider:e,prefix:t,icons:[]},o=0;return n.forEach((n,s)=>{(o+=n.length+1)>=i&&s>0&&(r.push(l),l={type:a,provider:e,prefix:t,icons:[]},o=n.length),l.icons.push(n)}),r.push(l),r},send:(e,t,n)=>{if(!F)return void n("abort",424);let r=function(e){if("string"==typeof e){let t=L[e];if(t)return t.path}return"/"}(t.provider);switch(t.type){case"icons":r+=t.prefix+".json?"+new URLSearchParams({icons:t.icons.join(",")}).toString();break;case"custom":{let e=t.uri;r+="/"===e.slice(0,1)?e.slice(1):e;break}default:n("abort",400);return}let i=503;F(e+r).then(e=>{let t=e.status;return 200!==t?void setTimeout(()=>{n(404===t?"abort":"next",t)}):(i=501,e.json())}).then(e=>{"object"!=typeof e||null===e?setTimeout(()=>{404===e?n("abort",e):n("next",i)}):setTimeout(()=>{n("success",e)})}).catch(()=>{n("next",i)})}},z[""]=n,"u">typeof document&&"u">typeof window){let e=window;if(void 0!==e.IconifyPreload){let t=e.IconifyPreload,n="Invalid IconifyPreload syntax.";"object"==typeof t&&null!==t&&(t instanceof Array?t:[t]).forEach(e=>{try{("object"!=typeof e||null===e||e instanceof Array||"object"!=typeof e.icons||"string"!=typeof e.prefix||!function(e,t){if("object"!=typeof e)return!1;if("string"!=typeof t&&(t=e.provider||""),k&&!t&&!e.prefix){let t=!1;return h(e)&&(e.prefix="",u(e,(e,n)=>{(function(e,t){let n=b(e,!0,k);if(!n)return!1;let r=g(n.provider,n.prefix);if(!t)return r.missing.add(n.name),!0;var i=n.name;try{if("string"==typeof t.body)return r.icons[i]={...t},!0}catch(e){}return!1})(e,n)&&(t=!0)})),t}let n=e.prefix;return!!x({prefix:n,name:"a"})&&!!m(g(t,n),e)}(e))&&console.error(n)}catch(e){console.error(n)}})}if(void 0!==e.IconifyProviders){let t=e.IconifyProviders;if("object"==typeof t&&null!==t)for(let e in t){let n="IconifyProviders["+e+"] is invalid.";try{let r=t[e];if("object"!=typeof r||!r||void 0===r.resources)continue;!function(e,t){let n=_(t);return null!==n&&(L[e]=n,!0)}(e,r)&&console.error(n)}catch(e){console.error(n)}}}}function en(e){let[n,r]=(0,i.useState)(!!e.ssr),[a,l]=(0,i.useState)({}),[s,c]=(0,i.useState)(function(t){if(t){let t=e.icon;if("object"==typeof t)return{name:"",data:t};let n=j(t);if(n)return{name:t,data:n}}return{name:""}}(!!e.ssr));function u(){let e=a.callback;e&&(e(),l({}))}function f(e){if(JSON.stringify(s)!==JSON.stringify(e))return u(),c(e),!0}(0,i.useEffect)(()=>(r(!0),u),[]),(0,i.useEffect)(()=>{n&&function t(){var n;let r=e.icon;if("object"==typeof r)return void f({name:"",data:r});let i=j(r);f({name:r,data:i})&&(void 0===i?l({callback:((e,t)=>{var n;let r,i,a,l,o,s=(n=function(e,t=!0,n=!1){let r=[];return e.forEach(e=>{let i="string"==typeof e?b(e,t,n):e;i&&r.push(i)}),r}(e,!0,v()),a={loaded:[],missing:[],pending:[]},l=Object.create(null),n.sort((e,t)=>e.provider!==t.provider?e.provider.localeCompare(t.provider):e.prefix!==t.prefix?e.prefix.localeCompare(t.prefix):e.name.localeCompare(t.name)),o={provider:"",prefix:"",name:""},n.forEach(e=>{if(o.name===e.name&&o.prefix===e.prefix&&o.provider===e.provider)return;o=e;let t=e.provider,n=e.prefix,r=e.name,i=l[t]||(l[t]=Object.create(null)),s=i[n]||(i[n]=g(t,n));(r in s.icons?a.loaded:""===n||s.missing.has(r)?a.missing:a.pending).push({provider:t,prefix:n,name:r})}),a);if(!s.pending.length){let e=!0;return t&&setTimeout(()=>{e&&t(s.loaded,s.missing,s.pending,q)}),()=>{e=!1}}let c=Object.create(null),u=[];return s.pending.forEach(e=>{let{provider:t,prefix:n}=e;if(n===i&&t===r)return;r=t,i=n,u.push(g(t,n));let a=c[t]||(c[t]=Object.create(null));a[n]||(a[n]=[])}),s.pending.forEach(e=>{let{provider:t,prefix:n,name:r}=e,i=g(t,n),a=i.pendingIcons||(i.pendingIcons=new Set);a.has(r)||(a.add(r),c[t][n].push(r))}),u.forEach(e=>{let t=c[e.provider][e.prefix];t.length&&(e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{let t,n;e.iconsQueueFlag=!1;let{provider:r,prefix:i}=e,a=e.iconsToLoad;if(delete e.iconsToLoad,!a||!a.length)return;let l=e.loadIcon;if(e.loadIcons&&(a.length>1||!l))return void B(e.loadIcons(a,i,r),t=>{V(e,a,t)});if(l)return void a.forEach(t=>{B(l(t,i,r),n=>{let r=n?{prefix:i,icons:{[t]:n}}:null;V(e,[t],r)})});let{valid:o,invalid:s}=(t=[],n=[],a.forEach(e=>{(e.match(y)?t:n).push(e)}),{valid:t,invalid:n});if(s.length&&V(e,s,null),!o.length)return;let c=i.match(y)?P(r):null;c?c.prepare(r,i,o).forEach(t=>{!function(e,t,n){let r,i;if("string"==typeof e){let t=P(e);if(!t)return n(void 0,424);i=t.send;let a=function(e){if(!H[e]){let t=L[e];if(!t)return;let n=D(t);H[e]={config:t,redundancy:n}}return H[e]}(e);a&&(r=a.redundancy)}else{let t=_(e);if(t){r=D(t);let n=P(e.resources?e.resources[0]:"");n&&(i=n.send)}}r&&i?r.query(t,i,n)().abort:n(void 0,424)}(r,t,n=>{V(e,t.icons,n)})}):V(e,o,null)})))}),t?function(e,t,n){let r=$++,i=R.bind(null,n,r);if(!t.pending.length)return i;let a={id:r,icons:t,callback:e,abort:i};return n.forEach(e=>{(e.loaderCallbacks||(e.loaderCallbacks=[])).push(a)}),i}(t,s,u):q})([r],t)}):i&&(null==(n=e.onLoad)||n.call(e,r)))}()},[e.icon,n]);let{name:d,data:h}=s;return h?((e,n,r)=>{var a;let l,s,c,u,f,d,h,p,g,m,y,x,k,v=n.inline?ee:W,j=function(e,t){let n={...e};for(let e in t){let r=t[e],i=typeof r;e in w?(null===r||r&&("string"===i||"number"===i))&&(n[e]=r):i===typeof n[e]&&(n[e]="rotate"===e?r%4:r)}return n}(v,n),S=n.mode||"svg",E={},z=n.style||{},P={..."svg"===S?G:{}};if(r){let e=b(r,!1,!0);if(e){let t=["iconify"];for(let n of["provider","prefix"])e[n]&&t.push("iconify--"+e[n]);P.className=t.join(" ")}}for(let e in n){let t=n[e];if(void 0!==t)switch(e){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":case"fallback":break;case"_ref":P.ref=t;break;case"className":P[e]=(P[e]?P[e]+" ":"")+t;break;case"inline":case"hFlip":case"vFlip":j[e]=!0===t||"true"===t||1===t;break;case"flip":"string"==typeof t&&function(e,t){t.split(K).forEach(t=>{switch(t.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0}})}(j,t);break;case"color":E.color=t;break;case"rotate":"string"==typeof t?j[e]=function(e,t=0){let n=e.replace(/^-?[0-9.]*/,"");function r(e){for(;e<0;)e+=4;return e%4}if(""===n){let t=parseInt(e);return isNaN(t)?0:r(t)}if(n!==e){let t=0;switch(n){case"%":t=25;break;case"deg":t=90}if(t){let i=parseFloat(e.slice(0,e.length-n.length));return isNaN(i)?0:(i/=t)%1==0?r(i):0}}return t}(t):"number"==typeof t&&(j[e]=t);break;case"ariaHidden":case"aria-hidden":!0!==t&&"true"!==t&&delete P["aria-hidden"];break;default:void 0===v[e]&&(P[e]=t)}}let _=(c={...o,...e},u={...M,...j},f={left:c.left,top:c.top,width:c.width,height:c.height},d=c.body,[c,u].forEach(e=>{var t,n,r,i;let a,l,o=[],s=e.hFlip,c=e.vFlip,u=e.rotate;switch(s?c?u+=2:(o.push("translate("+(f.width+f.left).toString()+" "+(0-f.top).toString()+")"),o.push("scale(-1 1)"),f.top=f.left=0):c&&(o.push("translate("+(0-f.left).toString()+" "+(f.height+f.top).toString()+")"),o.push("scale(1 -1)"),f.top=f.left=0),u<0&&(u-=4*Math.floor(u/4)),u%=4){case 1:o.unshift("rotate(90 "+(a=f.height/2+f.top).toString()+" "+a.toString()+")");break;case 2:o.unshift("rotate(180 "+(f.width/2+f.left).toString()+" "+(f.height/2+f.top).toString()+")");break;case 3:o.unshift("rotate(-90 "+(a=f.width/2+f.left).toString()+" "+a.toString()+")")}u%2==1&&(f.left!==f.top&&(a=f.left,f.left=f.top,f.top=a),f.width!==f.height&&(a=f.width,f.width=f.height,f.height=a)),o.length&&(t=d,n='<g transform="'+o.join(" ")+'">',r=(l=function(e,t="defs"){let n="",r=e.indexOf("<"+t);for(;r>=0;){let i=e.indexOf(">",r),a=e.indexOf("</"+t);if(-1===i||-1===a)break;let l=e.indexOf(">",a);if(-1===l)break;n+=e.slice(i+1,a).trim(),e=e.slice(0,r).trim()+e.slice(l+1)}return{defs:n,content:e}}(t)).defs,i=n+l.content+"</g>",d=r?"<defs>"+r+"</defs>"+i:i)}),h=u.width,p=u.height,g=f.width,m=f.height,null===h?l=O(s=null===p?"1em":"auto"===p?m:p,g/m):(l="auto"===h?g:h,s=null===p?O(l,m/g):"auto"===p?m:p),y={},(x=(e,t)=>{"unset"!==t&&"undefined"!==t&&"none"!==t&&(y[e]=t.toString())})("width",l),x("height",s),y.viewBox=(k=[f.left,f.top,g,m]).join(" "),{attributes:y,viewBox:k,body:d}),L=_.attributes;if(j.inline&&(E.verticalAlign="-0.125em"),"svg"===S){P.style={...E,...z},Object.assign(P,L);let e=0,r=n.id;return"string"==typeof r&&(r=r.replace(/-/g,"_")),P.dangerouslySetInnerHTML={__html:(a=function(e,t=N){let n,r=[];for(;n=T.exec(e);)r.push(n[1]);if(!r.length)return e;let i="suffix"+(0x1000000*Math.random()|Date.now()).toString(16);return r.forEach(n=>{let r="function"==typeof t?t(n):t+(C++).toString(),a=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(RegExp('([#;"])('+a+')([")]|\\.[a-z])',"g"),"$1"+r+i+"$3")}),e=e.replace(RegExp(i,"g"),"")}(_.body,r?()=>r+"ID"+e++:"iconifyReact"),void 0===t&&function(){try{t=window.trustedTypes.createPolicy("iconify",{createHTML:e=>e})}catch(e){t=null}}(),t?t.createHTML(a):a)},(0,i.createElement)("svg",P)}let{body:I,width:A,height:F}=e,R="mask"===S||"bg"!==S&&-1!==I.indexOf("currentColor"),$=function(e,t){let n=-1===e.indexOf("xlink:")?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(let e in t)n+=" "+e+'="'+t[e]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+n+">"+e+"</svg>"}(I,{...L,width:A+"",height:F+""});return P.style={...E,"--svg":'url("data:image/svg+xml,'+$.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")+'")',width:et(L.width),height:et(L.height),...Q,...R?X:J,...z},(0,i.createElement)("span",P)})({...o,...h},e,d):e.children?e.children:e.fallback?e.fallback:(0,i.createElement)("span",{})}let er=(0,i.forwardRef)((e,t)=>en({...e,_ref:t}));(0,i.forwardRef)((e,t)=>en({inline:!0,...e,_ref:t}));var ei=e.i(66595),ea=e.i(31214),el=e.i(21357),eo=e.i(56420);let es=(0,eo.default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]),ec=(0,eo.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]),eu=(0,eo.default)("at-sign",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]]),ef=(0,eo.default)("camera",[["path",{d:"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",key:"18u6gg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);var ed=e.i(68590);let eh=(0,eo.default)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),ep=(0,eo.default)("smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]);var eg=e.i(30274);let em=(0,eo.default)("messages-square",[["path",{d:"M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z",key:"1n2ejm"}],["path",{d:"M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1",key:"1qfcsi"}]]);var ey=e.i(51921);let eb=(0,eo.default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]),ex=(0,eo.default)("triangle",[["path",{d:"M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z",key:"14u9p9"}]]),ek=(0,eo.default)("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);var ev=e.i(66627);let ej=[{name:"Google",host:"google.com",icon:"simple-icons:google",fallback:(0,r.jsx)(ei.Search,{size:20})},{name:"Cloudflare",host:"cloudflare.com",icon:"simple-icons:cloudflare",fallback:(0,r.jsx)(ea.Cloud,{size:20})},{name:"YouTube",host:"youtube.com",icon:"simple-icons:youtube",fallback:(0,r.jsx)(el.Play,{size:20})},{name:"GitHub",host:"github.com",icon:"simple-icons:github",fallback:(0,r.jsx)(es,{size:20})},{name:"ChatGPT",host:"chatgpt.com",icon:"simple-icons:openai",fallback:(0,r.jsx)(ec,{size:20})},{name:"X",host:"x.com",icon:"simple-icons:x",fallback:(0,r.jsx)(eu,{size:20})},{name:"Instagram",host:"instagram.com",icon:"simple-icons:instagram",fallback:(0,r.jsx)(ef,{size:20})},{name:"Reddit",host:"reddit.com",icon:"simple-icons:reddit",fallback:(0,r.jsx)(ed.MessageSquare,{size:20})},{name:"Wikipedia",host:"wikipedia.org",icon:"simple-icons:wikipedia",fallback:(0,r.jsx)(eh,{size:20})},{name:"Apple",host:"apple.com",icon:"simple-icons:apple",fallback:(0,r.jsx)(ep,{size:20})},{name:"Telegram",host:"telegram.org",icon:"simple-icons:telegram",fallback:(0,r.jsx)(eg.Send,{size:20})},{name:"Discord",host:"discord.com",icon:"simple-icons:discord",fallback:(0,r.jsx)(em,{size:20})},{name:"TikTok",host:"tiktok.com",icon:"simple-icons:tiktok",fallback:(0,r.jsx)(ey.Music,{size:20})},{name:"npm",host:"npmjs.com",icon:"simple-icons:npm",fallback:(0,r.jsx)(eb,{size:20})},{name:"Vercel",host:"vercel.com",icon:"simple-icons:vercel",fallback:(0,r.jsx)(ex,{size:20})}];function ew({icon:e,fallback:t}){let[n,a]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{let t=new Image;t.onload=()=>a(!0),t.onerror=()=>a(!1),t.src=`https://api.iconify.design/${e.replace(":","/")}.svg`},[e]),(0,r.jsxs)("span",{className:"brand-icon-wrap",children:[(0,r.jsx)("span",{className:`brand-icon-fallback ${n?"hidden":""}`,children:t}),(0,r.jsx)("span",{className:`brand-icon-real ${n?"visible":""}`,children:(0,r.jsx)(er,{icon:e,width:20,height:20})})]})}function eM(){let[e,t]=(0,i.useState)(new Map),[n,a]=(0,i.useState)(!1),l=(0,i.useRef)(new Map),o=(0,i.useCallback)(e=>{t(t=>{let n=new Map(t);return n.set(e,{status:"pending",latency:0}),n});let n=new AbortController;l.current.set(e,n);let r=performance.now(),i=(n,r)=>{t(t=>{let i=new Map(t);return i.set(e,{status:n,latency:r}),i})},a=setTimeout(()=>{n.abort()},5e3);fetch(`https://${e}/`,{method:"HEAD",mode:"no-cors",cache:"no-store",signal:n.signal}).then(()=>{clearTimeout(a),i("ok",Math.round(performance.now()-r))}).catch(()=>{clearTimeout(a),i("timeout",0)})},[]),s=(0,i.useCallback)(()=>{a(!0);let e=new Map;ej.forEach(t=>{e.set(t.host,{status:"pending",latency:0})}),t(e);let n=new Set(ej.map(e=>e.host));ej.forEach(e=>{let r=new AbortController;l.current.set(e.host,r);let i=performance.now(),o=(r,i)=>{n.has(e.host)&&(n.delete(e.host),t(t=>{let n=new Map(t);return n.set(e.host,{status:r,latency:i}),n}),0===n.size&&a(!1))},s=setTimeout(()=>{r.abort()},5e3);fetch(`https://${e.host}/`,{method:"HEAD",mode:"no-cors",cache:"no-store",signal:r.signal}).then(()=>{clearTimeout(s),o("ok",Math.round(performance.now()-i))}).catch(()=>{clearTimeout(s),o("timeout",0)})})},[]);return(0,i.useEffect)(()=>(s(),()=>{l.current.forEach(e=>e.abort()),l.current.clear()}),[s]),(0,r.jsxs)("div",{className:"ping-page",children:[(0,r.jsxs)("div",{className:"ping-header",children:[(0,r.jsxs)("div",{className:"ping-title-wrap",children:[(0,r.jsx)(ev.Wifi,{size:28,className:"ping-title-icon"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"ping-title",children:"网络连通性"}),(0,r.jsx)("p",{className:"ping-subtitle",children:"通过向对应网站发送请求进行测试,延迟值仅供参考。"})]})]}),(0,r.jsx)("button",{className:"btn btn-icon",onClick:s,disabled:n,"aria-label":"重新测试全部",title:"重新测试全部",children:(0,r.jsx)(ek,{size:18,className:n?"ping-spin":""})})]}),(0,r.jsx)("div",{className:"ping-grid",children:ej.map(t=>{let n=e.get(t.host),i=!n||"pending"===n.status,a=n?.status==="timeout";return(0,r.jsxs)("div",{className:`ping-card ${i?"pending":""}`,children:[(0,r.jsxs)("div",{className:"ping-card-top",children:[(0,r.jsx)("span",{className:"ping-card-icon",children:(0,r.jsx)(ew,{icon:t.icon,fallback:t.fallback})}),(0,r.jsx)("a",{href:`https://${t.host}`,target:"_blank",rel:"noreferrer",className:"ping-card-name",children:t.name}),(0,r.jsx)("button",{className:"ping-card-refresh",onClick:()=>o(t.host),disabled:i,"aria-label":`重新测试 ${t.name}`,title:"重新测试",children:(0,r.jsx)(ek,{size:13,className:i?"ping-spin":""})})]}),(0,r.jsxs)("div",{className:"ping-card-bottom",children:[i?(0,r.jsx)("span",{className:"ping-pulse-dot"}):(0,r.jsx)("span",{className:`ping-status-label ${a?"is-error":"is-success"}`,children:a?"不可用":"可用"}),(0,r.jsx)("span",{className:`ping-latency ${i?"is-muted":a?"is-error":"is-success"}`,children:i?"--":a?"超时":`${n.latency} ms`})]})]},t.host)})})]})}var eS=e.i(40983);e.s(["default",0,function(){return(0,r.jsx)(eS.MarketingLayout,{children:(0,r.jsx)(eM,{})})}],23449)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,95057,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var r={formatUrl:function(){return i},formatWithValidation:function(){return o},urlObjectKeys:function(){return c}};for(var s in r)Object.defineProperty(a,s,{enumerable:!0,get:r[s]});let n=e.r(90809)._(e.r(98183)),l=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:a}=e,r=e.protocol||"",s=e.pathname||"",i=e.hash||"",c=e.query||"",o=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?o=t+e.host:a&&(o=t+(~a.indexOf(":")?`[${a}]`:a),e.port&&(o+=":"+e.port)),c&&"object"==typeof c&&(c=String(n.urlQueryToSearchParams(c)));let d=e.search||c&&`?${c}`||"";return r&&!r.endsWith(":")&&(r+=":"),e.slashes||(!r||l.test(r))&&!1!==o?(o="//"+(o||""),s&&"/"!==s[0]&&(s="/"+s)):o||(o=""),i&&"#"!==i[0]&&(i="#"+i),d&&"?"!==d[0]&&(d="?"+d),s=s.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${r}${o}${s}${d}${i}`}let c=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function o(e){return i(e)}},18581,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"useMergedRef",{enumerable:!0,get:function(){return s}});let r=e.r(71645);function s(e,t){let a=(0,r.useRef)(null),s=(0,r.useRef)(null);return(0,r.useCallback)(r=>{if(null===r){let e=a.current;e&&(a.current=null,e());let t=s.current;t&&(s.current=null,t())}else e&&(a.current=n(e,r)),t&&(s.current=n(t,r))},[e,t])}function n(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let a=e(t);return"function"==typeof a?a:()=>e(null)}}("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},73668,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"isLocalURL",{enumerable:!0,get:function(){return n}});let r=e.r(18967),s=e.r(52817);function n(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),a=new URL(e,t);return a.origin===t&&(0,s.hasBasePath)(a.pathname)}catch(e){return!1}}},84508,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"errorOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},22016,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var r={default:function(){return y},useLinkStatus:function(){return j}};for(var s in r)Object.defineProperty(a,s,{enumerable:!0,get:r[s]});let n=e.r(90809),l=e.r(18050),i=n._(e.r(71645)),c=e.r(95057),o=e.r(8372),d=e.r(18581),u=e.r(18967),h=e.r(5550);e.r(33525);let p=e.r(88540),f=e.r(91949),m=e.r(73668),x=e.r(9396);function y(t){var a,r;let s,n,y,[j,v]=(0,i.useOptimistic)(f.IDLE_LINK_STATUS),b=(0,i.useRef)(null),{href:g,as:M,children:P,prefetch:N=null,passHref:w,replace:S,shallow:E,scroll:O,onClick:_,onMouseEnter:C,onTouchStart:z,legacyBehavior:T=!1,onNavigate:L,transitionTypes:B,ref:q,unstable_dynamicOnHover:A,...I}=t;s=P,T&&("string"==typeof s||"number"==typeof s)&&(s=(0,l.jsx)("a",{children:s}));let R=i.default.useContext(o.AppRouterContext),H=!1!==N,D=!1!==N?null===(r=N)||"auto"===r?x.FetchStrategy.PPR:x.FetchStrategy.Full:x.FetchStrategy.PPR,W="string"==typeof(a=M||g)?a:(0,c.formatUrl)(a);if(T){if(s?.$$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});n=i.default.Children.only(s)}let U=T?n&&"object"==typeof n&&n.ref:q,F=i.default.useCallback(e=>(null!==R&&(b.current=(0,f.mountLinkInstance)(e,W,R,D,H,v)),()=>{b.current&&((0,f.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,f.unmountPrefetchableInstance)(e)}),[H,W,R,D,v]),$={ref:(0,d.useMergedRef)(F,U),onClick(t){T||"function"!=typeof _||_(t),T&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(t),!R||t.defaultPrevented||function(t,a,r,s,n,l,c){if("u">typeof window){let o,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((o=t.currentTarget.getAttribute("target"))&&"_self"!==o||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,m.isLocalURL)(a)){s&&(t.preventDefault(),location.replace(a));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:u}=e.r(99781);i.default.startTransition(()=>{u(a,s?"replace":"push",!1===n?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,r.current,c)})}}(t,W,b,S,O,L,B)},onMouseEnter(e){T||"function"!=typeof C||C(e),T&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),R&&H&&(0,f.onNavigationIntent)(e.currentTarget,!0===A)},onTouchStart:function(e){T||"function"!=typeof z||z(e),T&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),R&&H&&(0,f.onNavigationIntent)(e.currentTarget,!0===A)}};return(0,u.isAbsoluteUrl)(W)?$.href=W:T&&!w&&("a"!==n.type||"href"in n.props)||($.href=(0,h.addBasePath)(W)),y=T?i.default.cloneElement(n,$):(0,l.jsx)("a",{...I,...$,children:s}),(0,l.jsx)(k.Provider,{value:j,children:y})}e.r(84508);let k=(0,i.createContext)(f.IDLE_LINK_STATUS),j=()=>(0,i.useContext)(k);("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},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)},10566,e=>{"use strict";let t=(0,e.i(56420).default)("notebook-pen",[["path",{d:"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4",key:"re6nr2"}],["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["path",{d:"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"pqwjuv"}]]);e.s(["NotebookPen",0,t],10566)},50285,e=>{"use strict";let t=(0,e.i(56420).default)("hard-drive",[["path",{d:"M10 16h.01",key:"1bzywj"}],["path",{d:"M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"18tbho"}],["path",{d:"M21.946 12.013H2.054",key:"zqlbp7"}],["path",{d:"M6 16h.01",key:"1pmjb7"}]]);e.s(["HardDrive",0,t],50285)},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)},96699,e=>{"use strict";let t=(0,e.i(56420).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,t],96699)},35965,e=>{"use strict";let t=(0,e.i(56420).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,t],35965)},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)},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)},40983,e=>{"use strict";var t=e.i(18050),a=e.i(71645),r=e.i(22016),s=e.i(62368),n=e.i(96699),l=e.i(35965);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)"})]})}function c(){let[e,c]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=localStorage.getItem("theme"),t=window.matchMedia("(prefers-color-scheme: dark)").matches;("dark"===e||!e&&t)&&c(!0)},[]),(0,a.useEffect)(()=>{document.documentElement.setAttribute("data-theme",e?"dark":"light"),localStorage.setItem("theme",e?"dark":"light")},[e]),(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)(r.default,{href:"/",className:"mkt-nav-logo",children:[(0,t.jsx)(i,{}),"MOST PEOPLE"]}),(0,t.jsxs)("div",{className:"mkt-nav-cta",children:[(0,t.jsx)("button",{className:"mkt-theme-toggle",onClick:()=>c(!e),"aria-label":"切换主题",children:e?(0,t.jsx)(l.Sun,{size:16}):(0,t.jsx)(n.Moon,{size:16})}),(0,t.jsxs)(r.default,{href:"/download/",className:"btn btn-secondary mkt-nav-preview",children:[(0,t.jsx)(s.Download,{size:16}),"下载客户端"]}),(0,t.jsx)(r.default,{href:"/app/",className:"btn btn-primary",children:"开始使用"})]})]})})})}let o=[{href:"/",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:o.map(e=>(0,t.jsx)(r.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)},31713,e=>{"use strict";var t=e.i(18050),a=e.i(71645),r=e.i(22016),s=e.i(56420);let n=(0,s.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 l=e.i(68590),i=e.i(10566),c=e.i(70904);let o=(0,s.default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),d=(0,s.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),p=e.i(62368),f=e.i(41220),m=e.i(50285);let x=(0,s.default)("gamepad-2",[["line",{x1:"6",x2:"10",y1:"11",y2:"11",key:"1gktln"}],["line",{x1:"8",x2:"8",y1:"9",y2:"13",key:"qnk9ow"}],["line",{x1:"15",x2:"15.01",y1:"12",y2:"12",key:"krot7o"}],["line",{x1:"18",x2:"18.01",y1:"10",y2:"10",key:"1lcuu1"}],["path",{d:"M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z",key:"mfqc10"}]]);var y=e.i(3593);let k=[{id:"app",title:"MostBox",subtitle:"P2P 文件分享",icon:(0,t.jsx)(n,{size:28}),path:"/app/",requiresBackend:!0,hero:"P2P 文件分享,无需注册",desc:"基于 Hyperswarm 的去中心化文件传输,让文件分享回归点对点。MostBox 不是云盘;链接来自 CID,可用性来自当前在线种子。",features:["无需注册,打开浏览器即用","Hyperswarm P2P 直连传输","GB 级大文件流式处理","相同文件 = 相同 CID,链接可反复校验","下载完成后默认继续做种","相比微信、QQ 或网盘,不依赖中心化账号和云端托管","Web 端负责展示,完整发布、下载和持续做种依赖桌面客户端","MIT 开源,自托管,数据完全自主掌控"],steps:[{num:"1",title:"下载客户端",desc:"支持 Windows、macOS 和 Linux,桌面端提供完整的 P2P 能力。",link:"/download",linkText:"前往下载页"},{num:"2",title:"安装并运行",desc:"安装后打开应用,即可使用。"},{num:"3",title:"开始分享",desc:"发布文件生成 most:// 链接,朋友下载校验通过后也会成为新的种子。"}]},{id:"chat",title:"P2P 聊天",subtitle:"频道加密通讯",icon:(0,t.jsx)(l.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:"note",title:"笔记",subtitle:"加密云备份",icon:(0,t.jsx)(i.NotebookPen,{size:28}),path:"/note/",requiresBackend:!1,hero:"Web3 加密笔记",desc:"使用本地 Web3 密钥加密 Markdown 笔记,可在浏览器本地保存并按需同步到云端备份。",features:["Markdown 块编辑器","公开 / 私密笔记切换","文件夹、搜索和移动","Web3 登录态加密","云端备份与恢复","独立于 P2P 文件分享"],steps:[{num:"1",title:"生成 Web3 账号",desc:"用用户名和密码派生本地密钥。"},{num:"2",title:"创建笔记",desc:"写 Markdown,按需切换为私密内容。"},{num:"3",title:"备份恢复",desc:"登录后可把加密笔记同步到云端。"}]},{id:"game",title:"游戏",subtitle:"P2P 牌桌",icon:(0,t.jsx)(x,{size:28}),path:"/game/gandengyan/",requiresBackend:!0,hero:"常驻节点里的 P2P 牌桌",desc:"默认进入干瞪眼,侧边栏可切换炸金花,统一复用 MostBox 频道消息和 WebSocket 订阅能力。",features:["使用 MostBox 本地账号进入房间","统一房间码和 P2P 频道同步","不新增独立服务端口","房间链接可分享给朋友","只保留 MVP 所需牌桌闭环"],steps:[{num:"1",title:"进入牌桌",desc:"默认打开干瞪眼,也可从侧边栏切换炸金花。"},{num:"2",title:"创建房间",desc:"生成房间码,复制链接发给朋友加入。"},{num:"3",title:"开始牌局",desc:"房主在线开局并推进牌桌状态。"}]},{id:"web3",title:"Web3",subtitle:"账户工具箱",icon:(0,t.jsx)(c.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 j(){let e=(0,y.useAppStore)(e=>e.hasBackend),s=(0,y.useAppStore)(e=>e.openConnectModal),[n,l]=(0,a.useState)("app"),i=k.find(e=>e.id===n)||k[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.jsxs)("div",{className:"mkt-container",children:[(0,t.jsx)("div",{className:"portal-cards",children:k.map(a=>{let s=n===a.id,i=a.requiresBackend,c=i?!0===e?"connected":!1===e?"disconnected":"checking":"none";return(0,t.jsxs)("button",{className:`portal-card ${s?"active":""}`,onClick:()=>l(a.id),children:[(0,t.jsx)(r.default,{href:a.path,className:"btn btn-icon portal-card-open-btn",onClick:e=>e.stopPropagation(),title:`打开${a.title}`,children:(0,t.jsx)(d,{size:16})}),(0,t.jsx)("div",{className:"portal-card-icon",children:a.icon}),(0,t.jsx)("div",{className:"portal-card-title",children:a.title}),(0,t.jsx)("div",{className:"portal-card-subtitle",children:a.subtitle}),i?(0,t.jsxs)("div",{className:`portal-card-status ${c}`,children:["checking"===c&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"status-dot checking"}),"检测中"]}),"connected"===c&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"status-dot connected"}),"已连接"]}),"disconnected"===c&&(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"}),"已就绪"]})]},a.id)})}),(0,t.jsxs)("div",{className:"portal-node-actions","aria-label":"节点入口",children:[(0,t.jsxs)("button",{onClick:s,className:"btn btn-secondary",children:[(0,t.jsx)(f.Server,{size:16}),"连接节点"]}),(0,t.jsxs)(r.default,{href:"/download",className:"btn btn-primary",children:[(0,t.jsx)(p.Download,{size:16}),"下载客户端"]}),(0,t.jsxs)(r.default,{href:"/admin",className:"btn btn-secondary",children:[(0,t.jsx)(m.HardDrive,{size:16}),"节点管理"]})]})]})}),(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:i.hero}),(0,t.jsx)("p",{children:i.desc})]}),(0,t.jsx)("div",{className:"portal-marketing-features",children:i.features.map((e,a)=>(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})]},a))}),(0,t.jsx)("div",{className:"portal-marketing-steps",children:i.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)(r.default,{href:i.path,className:"btn btn-primary",children:["进入 ",i.title,(0,t.jsx)(o,{size:16})]}),i.requiresBackend&&!1===e&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("button",{onClick:s,className:"btn btn-secondary",children:[(0,t.jsx)(f.Server,{size:16}),"连接节点"]}),(0,t.jsxs)(r.default,{href:"/download",className:"btn btn-secondary",children:[(0,t.jsx)(p.Download,{size:16}),"下载客户端"]})]})]})]})})})})]})}var v=e.i(40983);e.s(["default",0,function(){return(0,t.jsx)(v.MarketingLayout,{children:(0,t.jsx)(j,{})})}],31713)}]);
@@ -0,0 +1 @@
1
+ .mkt-layout{flex-direction:column;min-height:100dvh;display:flex}.mkt-layout-main{flex:1}.mkt-container{width:100%;max-width:960px;padding-inline:var(--space-6);margin-inline:auto}@media (max-width:768px){.mkt-container{padding-inline:var(--space-4)}}.mkt-nav{z-index:100;border-bottom:1px solid var(--glass-border);background:var(--glass-bg-heavy);height:64px;-webkit-backdrop-filter:var(--blur-xl);align-items:center;display:flex;position:sticky;top:0}.mkt-nav-inner{width:100%;max-width:960px;padding-inline:var(--space-6);justify-content:space-between;align-items:center;margin-inline:auto;display:flex}.mkt-nav-logo{align-items:center;gap:var(--space-2);font-size:var(--font-size-lg,1.125rem);color:var(--text-primary);font-weight:700;text-decoration:none;display:flex}.mkt-nav-logo:hover{color:var(--text-primary)}.mkt-nav-cta{align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.mkt-nav-preview{color:var(--text-secondary)}.mkt-theme-toggle{border-radius:var(--radius-sm,8px);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .15s;display:flex}.mkt-theme-toggle:hover{color:var(--text-primary);background:var(--glass-bg-subtle)}.mkt-footer{border-top:1px solid var(--glass-border);padding-block:var(--space-8);background:var(--glass-bg-subtle)}.mkt-footer-inner{justify-content:center;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.mkt-footer-links{gap:var(--space-6);display:flex}.mkt-footer-links a{font-size:var(--font-size-xs,.75rem);color:var(--text-muted)}.mkt-footer-links a:hover{color:var(--text-primary)}.mkt-footer-copy{font-size:var(--font-size-xs,.75rem);color:var(--text-muted)}@media (max-width:768px){.mkt-nav-inner{padding-inline:var(--space-4)}.mkt-nav-logo{font-size:14px}.mkt-nav-cta{gap:var(--space-2)}.mkt-nav-preview{display:none}.mkt-footer-inner{flex-direction:column;align-items:flex-start}}.mkt-landing{font-family:var(--font-sans)}.mkt-hero{text-align:center;padding:80px 24px 48px}.mkt-hero-badge{border-radius:var(--radius-full);background:var(--glass-bg-subtle);color:var(--text-secondary);border:1px solid var(--glass-border);margin-bottom:24px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-block}.mkt-hero-title{letter-spacing:0;background:linear-gradient(135deg, var(--text-primary), var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:16px;font-size:60px;font-weight:700;line-height:1.05}.mkt-hero-desc{color:var(--text-secondary);max-width:36ch;margin:0 auto 32px;font-size:18px;line-height:1.6}.mkt-hero-cta{justify-content:center;gap:12px;margin-top:24px;display:flex}.mkt-screenshot-placeholder{background:var(--glass-bg-subtle);border:1px dashed var(--glass-border);border-radius:var(--radius-lg);aspect-ratio:16/9;color:var(--text-muted);justify-content:center;align-items:center;margin-bottom:48px;font-size:13px;display:flex}.mkt-section-desc{color:var(--text-secondary);max-width:65ch;margin-bottom:32px;font-size:18px;line-height:1.7}.mkt-features{flex-direction:column;gap:20px;display:flex}.mkt-feature{align-items:flex-start;gap:12px;display:flex}.mkt-feature .mkt-feature-icon{color:var(--accent);flex-shrink:0;margin-top:2px}.mkt-feature strong{color:var(--text-primary);font-weight:600;display:block}.mkt-feature span{color:var(--text-secondary);font-size:13px}.mkt-link{color:var(--accent);margin-top:32px;font-size:13px;text-decoration:none;display:inline-block}.mkt-link:hover{text-decoration:underline}.mkt-section-alt{background:var(--glass-bg-subtle);border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border)}.mkt-steps{flex-direction:column;gap:24px;margin-bottom:32px;display:flex}.mkt-step{align-items:flex-start;gap:16px;display:flex}.mkt-step-num{border-radius:var(--radius-full);background:var(--accent);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex}.mkt-step-content{flex:1}.mkt-step-content h4{color:var(--text-primary);margin-bottom:8px;font-size:15px;font-weight:600}.mkt-step-content p{color:var(--text-secondary);font-size:13px}.mkt-code{background:var(--glass-bg-subtle);border:1px solid var(--glass-border);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font-mono);color:var(--text-primary);margin-top:8px;padding:12px 16px;display:block}.mkt-step-link{margin-top:8px}.mkt-step-link a{color:var(--accent);font-size:13px}.mkt-remote-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px;display:grid}.mkt-remote-card{background:var(--glass-bg-subtle);-webkit-backdrop-filter:var(--blur-sm);border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:all var(--transition);padding:20px}.mkt-remote-card:hover{background:var(--glass-bg);box-shadow:var(--glass-shadow);transform:translateY(-2px)}.mkt-remote-card h4{color:var(--text-primary);margin-bottom:4px;font-size:15px;font-weight:600}.mkt-remote-card p{color:var(--text-secondary);font-size:13px;line-height:1.5}.mkt-tag{color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-sm);margin-top:8px;padding:4px 8px;font-size:11px;font-weight:500;display:inline-block}.mkt-cta{text-align:center}.mkt-cta-desc{color:var(--text-secondary);max-width:40ch;margin:0 auto 32px;font-size:18px;line-height:1.6}.mkt-cta-install{max-width:520px;margin:0 auto}@media (max-width:768px){.mkt-hero-title{font-size:40px}.mkt-hero-desc{font-size:16px}.mkt-remote-grid{grid-template-columns:1fr}.mkt-hero-cta{flex-direction:column;align-items:center}}.page-loading{flex-direction:column;justify-content:center;align-items:center;min-height:calc(100dvh - 144px);display:flex}.page-loading-logo{opacity:.5;background:linear-gradient(135deg, var(--accent) 25%, transparent 25%) 0 0 / 50% 50% no-repeat, linear-gradient(135deg, var(--accent) 25%, transparent 25%) 50% 0 / 50% 50% no-repeat, linear-gradient(135deg, var(--accent) 25%, transparent 25%) 0 50% / 50% 50% no-repeat, linear-gradient(135deg, var(--accent) 25%, transparent 25%) 50% 50% / 50% 50% no-repeat;background-color:var(--accent);border-radius:4px;width:48px;height:48px;animation:1.5s ease-in-out infinite pulse;-webkit-mask:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='2' y='2' width='8' height='8' rx='2' fill='black' opacity='0.4'/%3E%3Crect x='14' y='2' width='8' height='8' rx='2' fill='black' opacity='0.7'/%3E%3Crect x='2' y='14' width='8' height='8' rx='2' fill='black' opacity='0.7'/%3E%3Crect x='14' y='14' width='8' height='8' rx='2' fill='black'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='2' y='2' width='8' height='8' rx='2' fill='black' opacity='0.4'/%3E%3Crect x='14' y='2' width='8' height='8' rx='2' fill='black' opacity='0.7'/%3E%3Crect x='2' y='14' width='8' height='8' rx='2' fill='black' opacity='0.7'/%3E%3Crect x='14' y='14' width='8' height='8' rx='2' fill='black'/%3E%3C/svg%3E") 50%/contain no-repeat}@keyframes pulse{0%,to{opacity:.3;transform:scale(.95)}50%{opacity:.7;transform:scale(1)}}.mkt-nav-settings-btn{border-radius:var(--radius-sm,8px);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .15s;display:flex}.mkt-nav-settings-btn:hover{color:var(--text-primary);background:var(--glass-bg-subtle)}.mkt-settings-overlay{z-index:200;-webkit-backdrop-filter:var(--blur-xl);background:#0006;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.mkt-settings-modal{background:var(--glass-bg-heavy);-webkit-backdrop-filter:var(--blur-2xl);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-8);width:90%;max-width:420px;box-shadow:var(--glass-shadow-lg);animation:.25s ease-out scaleIn}.mkt-settings-modal h3{margin-bottom:var(--space-2);font-size:18px;font-weight:600}.mkt-settings-desc{color:var(--text-secondary);margin-bottom:var(--space-5);font-size:13px;line-height:1.5}.mkt-settings-actions{gap:var(--space-3);display:flex}.mkt-settings-status{margin-top:var(--space-3);text-align:center;font-size:13px}.mkt-settings-status.success{color:var(--success)}.mkt-settings-status.error{color:var(--danger)}
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,62368,t=>{"use strict";let e=(0,t.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"}]]);t.s(["Download",0,e],62368)},89664,t=>{"use strict";let e=(0,t.i(56420).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);t.s(["Check",0,e],89664)},35965,t=>{"use strict";let e=(0,t.i(56420).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"}]]);t.s(["Sun",0,e],35965)},96699,t=>{"use strict";let e=(0,t.i(56420).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"}]]);t.s(["Moon",0,e],96699)},11241,t=>{"use strict";let e=(0,t.i(56420).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);t.s(["ArrowLeft",0,e],11241)},59665,5142,t=>{"use strict";var e=t.i(18050),r=t.i(71645);let n=(0,t.i(56420).default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);function a(t=!1,e={}){let[n,s]=(0,r.useState)(t),i=(0,r.useCallback)(()=>{s(t=>t||(e.onOpen?.(),!0))},[e.onOpen]),u=(0,r.useCallback)(()=>{s(t=>t?(e.onClose?.(),!1):t)},[e.onClose]);return[n,{open:i,close:u,toggle:(0,r.useCallback)(()=>{n?u():i()},[u,i,n]),set:s}]}t.s(["useDisclosure",0,a],5142);let s=(0,r.createContext)(null);t.s(["default",0,function({sidebar:t,headerTitle:i,headerRight:u,children:c}){let[o,h]=a(!1),[l,d]=(0,r.useState)(!1),f=function(t,{getInitialValueInEffect:e}={getInitialValueInEffect:!0}){let[n,a]=(0,r.useState)(e?void 0:!!("u">typeof window&&"matchMedia"in window)&&window.matchMedia(t).matches);return(0,r.useEffect)(()=>{try{if("matchMedia"in window){let e=window.matchMedia(t);a(e.matches);let r=t=>a(t.matches);return e.addEventListener("change",r),()=>{e.removeEventListener("change",r)}}}catch(t){return}},[t]),n||!1}("(max-width: 768px)"),y=()=>{f?h.open():d(!1)};return(0,e.jsx)(s.Provider,{value:{closeSidebar:h.close,openSidebar:y,isSidebarVisible:f?o:!l},children:(0,e.jsxs)("div",{className:"app-layout",children:[(0,e.jsx)("div",{className:`sidebar-overlay ${o?"visible":""}`,onClick:()=>h.close()}),(0,e.jsx)("div",{className:`sidebar ${o?"open":""} ${l?"collapsed":""}`,children:t({closeSidebar:h.close,openSidebar:y})}),(0,e.jsxs)("div",{className:"main-content",children:[(0,e.jsxs)("header",{className:"app-header",children:[(0,e.jsxs)("div",{className:"header-left",children:[(0,e.jsx)("button",{onClick:()=>{f?h.toggle():d(!l)},className:"btn btn-icon sidebar-toggle-btn","aria-label":f?"打开菜单":l?"展开侧边栏":"收起侧边栏",children:(0,e.jsx)(n,{size:16})}),i]}),(0,e.jsx)("div",{className:"header-right",children:u})]}),c]})]})})},"useAppShell",0,function(){let t=(0,r.useContext)(s);if(!t)throw Error("useAppShell must be used within AppShell");return t}],59665)},8734,t=>{"use strict";let e=(0,t.i(56420).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);t.s(["Copy",0,e],8734)},58925,t=>{"use strict";let e=(0,t.i(56420).default)("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);t.s(["KeyRound",0,e],58925)},82022,t=>{"use strict";let e=(0,t.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"}]]);t.s(["ExternalLink",0,e],82022)},70904,t=>{"use strict";let e=(0,t.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"}]]);t.s(["Wallet",0,e],70904)},22315,(t,e,r)=>{t.e,e.exports=function(){"use strict";var t="millisecond",e="second",r="minute",n="hour",a="week",s="month",i="quarter",u="year",c="date",o="Invalid Date",h=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,l=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,d=function(t,e,r){var n=String(t);return!n||n.length>=e?t:""+Array(e+1-n.length).join(r)+t},f="en",y={};y[f]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],r=t%100;return"["+t+(e[(r-20)%10]||e[r]||e[0])+"]"}};var p="$isDayjsObject",$=function(t){return t instanceof k||!(!t||!t[p])},m=function t(e,r,n){var a;if(!e)return f;if("string"==typeof e){var s=e.toLowerCase();y[s]&&(a=s),r&&(y[s]=r,a=s);var i=e.split("-");if(!a&&i.length>1)return t(i[0])}else{var u=e.name;y[u]=e,a=u}return!n&&a&&(f=a),a||!n&&f},v=function(t,e){if($(t))return t.clone();var r="object"==typeof e?e:{};return r.date=t,r.args=arguments,new k(r)},M={s:d,z:function(t){var e=-t.utcOffset(),r=Math.abs(e);return(e<=0?"+":"-")+d(Math.floor(r/60),2,"0")+":"+d(r%60,2,"0")},m:function t(e,r){if(e.date()<r.date())return-t(r,e);var n=12*(r.year()-e.year())+(r.month()-e.month()),a=e.clone().add(n,s),i=r-a<0,u=e.clone().add(n+(i?-1:1),s);return+(-(n+(r-a)/(i?a-u:u-a))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(o){return({M:s,y:u,w:a,d:"day",D:c,h:n,m:r,s:e,ms:t,Q:i})[o]||String(o||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}};M.l=m,M.i=$,M.w=function(t,e){return v(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var k=function(){function d(t){this.$L=m(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var f=d.prototype;return f.parse=function(t){this.$d=function(t){var e=t.date,r=t.utc;if(null===e)return new Date(NaN);if(M.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var n=e.match(h);if(n){var a=n[2]-1||0,s=(n[7]||"0").substring(0,3);return r?new Date(Date.UTC(n[1],a,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)):new Date(n[1],a,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)}}return new Date(e)}(t),this.init()},f.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},f.$utils=function(){return M},f.isValid=function(){return this.$d.toString()!==o},f.isSame=function(t,e){var r=v(t);return this.startOf(e)<=r&&r<=this.endOf(e)},f.isAfter=function(t,e){return v(t)<this.startOf(e)},f.isBefore=function(t,e){return this.endOf(e)<v(t)},f.$g=function(t,e,r){return M.u(t)?this[e]:this.set(r,t)},f.unix=function(){return Math.floor(this.valueOf()/1e3)},f.valueOf=function(){return this.$d.getTime()},f.startOf=function(t,i){var o=this,h=!!M.u(i)||i,l=M.p(t),d=function(t,e){var r=M.w(o.$u?Date.UTC(o.$y,e,t):new Date(o.$y,e,t),o);return h?r:r.endOf("day")},f=function(t,e){return M.w(o.toDate()[t].apply(o.toDate("s"),(h?[0,0,0,0]:[23,59,59,999]).slice(e)),o)},y=this.$W,p=this.$M,$=this.$D,m="set"+(this.$u?"UTC":"");switch(l){case u:return h?d(1,0):d(31,11);case s:return h?d(1,p):d(0,p+1);case a:var v=this.$locale().weekStart||0,k=(y<v?y+7:y)-v;return d(h?$-k:$+(6-k),p);case"day":case c:return f(m+"Hours",0);case n:return f(m+"Minutes",1);case r:return f(m+"Seconds",2);case e:return f(m+"Milliseconds",3);default:return this.clone()}},f.endOf=function(t){return this.startOf(t,!1)},f.$set=function(a,i){var o,h=M.p(a),l="set"+(this.$u?"UTC":""),d=((o={}).day=l+"Date",o[c]=l+"Date",o[s]=l+"Month",o[u]=l+"FullYear",o[n]=l+"Hours",o[r]=l+"Minutes",o[e]=l+"Seconds",o[t]=l+"Milliseconds",o)[h],f="day"===h?this.$D+(i-this.$W):i;if(h===s||h===u){var y=this.clone().set(c,1);y.$d[d](f),y.init(),this.$d=y.set(c,Math.min(this.$D,y.daysInMonth())).$d}else d&&this.$d[d](f);return this.init(),this},f.set=function(t,e){return this.clone().$set(t,e)},f.get=function(t){return this[M.p(t)]()},f.add=function(t,i){var c,o=this;t=Number(t);var h=M.p(i),l=function(e){var r=v(o);return M.w(r.date(r.date()+Math.round(e*t)),o)};if(h===s)return this.set(s,this.$M+t);if(h===u)return this.set(u,this.$y+t);if("day"===h)return l(1);if(h===a)return l(7);var d=((c={})[r]=6e4,c[n]=36e5,c[e]=1e3,c)[h]||1,f=this.$d.getTime()+t*d;return M.w(f,this)},f.subtract=function(t,e){return this.add(-1*t,e)},f.format=function(t){var e=this,r=this.$locale();if(!this.isValid())return r.invalidDate||o;var n=t||"YYYY-MM-DDTHH:mm:ssZ",a=M.z(this),s=this.$H,i=this.$m,u=this.$M,c=r.weekdays,h=r.months,d=r.meridiem,f=function(t,r,a,s){return t&&(t[r]||t(e,n))||a[r].slice(0,s)},y=function(t){return M.s(s%12||12,t,"0")},p=d||function(t,e,r){var n=t<12?"AM":"PM";return r?n.toLowerCase():n};return n.replace(l,function(t,n){return n||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return M.s(e.$y,4,"0");case"M":return u+1;case"MM":return M.s(u+1,2,"0");case"MMM":return f(r.monthsShort,u,h,3);case"MMMM":return f(h,u);case"D":return e.$D;case"DD":return M.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return f(r.weekdaysMin,e.$W,c,2);case"ddd":return f(r.weekdaysShort,e.$W,c,3);case"dddd":return c[e.$W];case"H":return String(s);case"HH":return M.s(s,2,"0");case"h":return y(1);case"hh":return y(2);case"a":return p(s,i,!0);case"A":return p(s,i,!1);case"m":return String(i);case"mm":return M.s(i,2,"0");case"s":return String(e.$s);case"ss":return M.s(e.$s,2,"0");case"SSS":return M.s(e.$ms,3,"0");case"Z":return a}return null}(t)||a.replace(":","")})},f.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},f.diff=function(t,c,o){var h,l=this,d=M.p(c),f=v(t),y=(f.utcOffset()-this.utcOffset())*6e4,p=this-f,$=function(){return M.m(l,f)};switch(d){case u:h=$()/12;break;case s:h=$();break;case i:h=$()/3;break;case a:h=(p-y)/6048e5;break;case"day":h=(p-y)/864e5;break;case n:h=p/36e5;break;case r:h=p/6e4;break;case e:h=p/1e3;break;default:h=p}return o?h:M.a(h)},f.daysInMonth=function(){return this.endOf(s).$D},f.$locale=function(){return y[this.$L]},f.locale=function(t,e){if(!t)return this.$L;var r=this.clone(),n=m(t,e,!0);return n&&(r.$L=n),r},f.clone=function(){return M.w(this.$d,this)},f.toDate=function(){return new Date(this.valueOf())},f.toJSON=function(){return this.isValid()?this.toISOString():null},f.toISOString=function(){return this.$d.toISOString()},f.toString=function(){return this.$d.toUTCString()},d}(),w=k.prototype;return v.prototype=w,[["$ms",t],["$s",e],["$m",r],["$H",n],["$W","day"],["$M",s],["$y",u],["$D",c]].forEach(function(t){w[t[1]]=function(e){return this.$g(e,t[0],t[1])}}),v.extend=function(t,e){return t.$i||(t(e,k,v),t.$i=!0),v},v.locale=m,v.isDayjs=$,v.unix=function(t){return v(1e3*t)},v.en=y[f],v.Ls=y,v.p={},v}()},16327,6537,77816,t=>{"use strict";var e=t.i(56420);let r=(0,e.default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);t.s(["ChevronDown",0,r],16327);let n=(0,e.default)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);t.s(["Lock",0,n],6537);var a=t.i(22315);function s(t){let e;if(!t)return"";let r=(0,a.default)(Number(t)),n=r.hour();return e=n>=0&&n<3?"凌晨":n>=3&&n<6?"拂晓":n>=6&&n<9?"早晨":n>=9&&n<12?"上午":n>=12&&n<15?"下午":n>=15&&n<18?"傍晚":n>=18&&n<21?"晚上":"深夜",r.format(`YYYY年M月D日 ${e}h:m`)}t.s(["formatDate",0,s,"formatTime",0,s],77816)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,30274,e=>{"use strict";let a=(0,e.i(56420).default)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);e.s(["Send",0,a],30274)},68590,e=>{"use strict";let a=(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,a],68590)},87884,e=>{"use strict";var a=e.i(26913);e.s(["channelApi",0,{getChannels(e={}){let t=new URLSearchParams;e.type&&t.set("type",e.type),e.excludeType&&t.set("excludeType",e.excludeType);let s=t.toString();return a.api.get(s?`/api/channels?${s}`:"/api/channels").json()},createChannel:(e,t="personal")=>a.api.post("/api/channels",{json:{name:e,type:t}}).json(),leaveChannel:e=>a.api.delete(`/api/channels/${encodeURIComponent(e)}`).json(),getChannelMessages:(e,t=100,s=0)=>a.api.get(`/api/channels/${encodeURIComponent(e)}/messages?limit=${t}&offset=${s}`).json(),sendChannelMessage:({channelName:e,content:t,author:s,authorName:n,attachment:i})=>a.api.post(`/api/channels/${encodeURIComponent(e)}/messages`,{json:i?{content:t,author:s,authorName:n,attachment:i}:{content:t,author:s,authorName:n}}).json(),getChannelPeers:e=>a.api.get(`/api/channels/${encodeURIComponent(e)}/peers`).json(),setChannelRemark:(e,t)=>a.api.put(`/api/channels/${encodeURIComponent(e)}/remark`,{json:{remark:t}}).json()}])},23952,e=>{"use strict";var a=e.i(71645),t=e.i(87884),s=e.i(26913);function n(e){return String(e.id||`${e.author||""}-${e.timestamp||""}-${e.content||""}`)}e.s(["useChannelMessages",0,function({isReady:e,enabled:i=!0,channelName:l="",peerId:r="",waitForPeerId:c=!1,limit:d=100,reconnectBaseDelay:o=2500,acceptMessage:u,getMessageKey:h=n,onSyncError:p,onSocketEvent:m}){let[f,x]=(0,a.useState)([]),[y,g]=(0,a.useState)(!1),j=(0,a.useRef)(null),v=(0,a.useRef)(l),b=(0,a.useRef)(null),k=(0,a.useRef)(0),w=(0,a.useRef)(u),N=(0,a.useRef)(h),C=(0,a.useRef)(m),M=(0,a.useRef)(p),S=(0,a.useRef)(r);(0,a.useEffect)(()=>{w.current=u},[u]),(0,a.useEffect)(()=>{N.current=h},[h]),(0,a.useEffect)(()=>{C.current=m},[m]),(0,a.useEffect)(()=>{M.current=p},[p]);let z=(0,a.useCallback)(e=>{let a=w.current;return a?e.filter(a):e},[]),$=(0,a.useCallback)((e,a,t=!0)=>{let s=[...e];for(let e of z(a)){let a=N.current(e);if(t){let t=s.findIndex(a=>a.pending&&a.author?.toLowerCase()===e.author?.toLowerCase()&&a.content===e.content);if(-1!==t){s[t]={...e,id:e.id||a};continue}}s.some(e=>N.current(e)===a)||s.push({...e,id:e.id||a})}return s},[z]),R=(0,a.useCallback)((e,a)=>{j.current?.readyState===WebSocket.OPEN&&j.current.send(JSON.stringify({event:e,data:a}))},[]),E=(0,a.useCallback)(e=>{e&&R("channel:subscribe",{channel:e})},[R]),A=(0,a.useCallback)(e=>{e&&R("channel:unsubscribe",{channel:e})},[R]),F=(0,a.useCallback)(async(a=v.current,s={})=>{if(!a||!e)return[];try{let e=z(await t.channelApi.getChannelMessages(a,d));return x(a=>s.replace?e:$(a,e,!1)),e}catch(e){return s.replace&&x([]),await M.current?.(e),[]}},[z,e,d,$]);(0,a.useEffect)(()=>{S.current=r,r&&(R("register",{peerId:r}),c&&v.current&&(E(v.current),F(v.current,{replace:!0})))},[r,E,F,c,R]);let I=(0,a.useCallback)(()=>{x([])},[]),T=(0,a.useCallback)(async({channelName:e=v.current,content:a,author:s,authorName:n,attachment:i,optimisticId:l})=>{let r=a.trim();if(!e||!r)return null;let c={id:l||`${s}-${Date.now()}-${Math.random().toString(36).slice(2)}`,author:s,authorName:n,content:r,timestamp:Date.now(),pending:!0,attachment:i};x(e=>[...e,c]);try{let a=await t.channelApi.sendChannelMessage({channelName:e,content:r,author:s,authorName:n,attachment:i});return x(e=>e.map(e=>e.id===c.id?{...a.message,id:a.message.id||N.current(a.message)}:e)),a.message}catch(e){throw x(e=>e.filter(e=>e.id!==c.id)),e}},[]);return(0,a.useEffect)(()=>{let a=v.current;if(v.current=l,a&&a!==l&&A(a),l&&e&&i)return F(l,{replace:!0}),(!c||S.current)&&E(l),()=>A(l)},[l,i,e,E,F,A,c]),(0,a.useEffect)(()=>{if(!e||!i)return void g(!1);let a=!1;async function t(){let e=new WebSocket(await (0,s.getAuthenticatedWebSocketUrl)("/ws"));a?e.close():(e.onopen=()=>{g(!0),k.current=0,S.current&&e.send(JSON.stringify({event:"register",data:{peerId:S.current}})),v.current&&(!c||S.current)&&(E(v.current),F(v.current,{replace:!0}))},e.onmessage=e=>{try{let a=JSON.parse(e.data);C.current?.(a.event,a.data),"channel:message"===a.event&&a.data?.channel===v.current&&a.data?.message&&x(e=>$(e,[a.data.message]))}catch{}},e.onclose=()=>{if(g(!1),a)return;let e=k.current;if(e>=20)return;let s=Math.min(o*Math.pow(2,e),3e4);k.current=e+1,b.current=setTimeout(t,s)},e.onerror=()=>e.close(),j.current=e)}return k.current=0,t(),()=>{a=!0,b.current&&clearTimeout(b.current),j.current?.close(),j.current=null}},[i,e,$,o,E,F,c]),{clearMessages:I,connected:y,messages:f,sendMessage:T,setMessages:x,syncMessages:F}}])},35965,e=>{"use strict";let a=(0,e.i(56420).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,a],35965)},96699,e=>{"use strict";let a=(0,e.i(56420).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,a],96699)},11241,e=>{"use strict";let a=(0,e.i(56420).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,a],11241)},59665,5142,e=>{"use strict";var a=e.i(18050),t=e.i(71645);let s=(0,e.i(56420).default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);function n(e=!1,a={}){let[s,i]=(0,t.useState)(e),l=(0,t.useCallback)(()=>{i(e=>e||(a.onOpen?.(),!0))},[a.onOpen]),r=(0,t.useCallback)(()=>{i(e=>e?(a.onClose?.(),!1):e)},[a.onClose]);return[s,{open:l,close:r,toggle:(0,t.useCallback)(()=>{s?r():l()},[r,l,s]),set:i}]}e.s(["useDisclosure",0,n],5142);let i=(0,t.createContext)(null);e.s(["default",0,function({sidebar:e,headerTitle:l,headerRight:r,children:c}){let[d,o]=n(!1),[u,h]=(0,t.useState)(!1),p=function(e,{getInitialValueInEffect:a}={getInitialValueInEffect:!0}){let[s,n]=(0,t.useState)(a?void 0:!!("u">typeof window&&"matchMedia"in window)&&window.matchMedia(e).matches);return(0,t.useEffect)(()=>{try{if("matchMedia"in window){let a=window.matchMedia(e);n(a.matches);let t=e=>n(e.matches);return a.addEventListener("change",t),()=>{a.removeEventListener("change",t)}}}catch(e){return}},[e]),s||!1}("(max-width: 768px)"),m=()=>{p?o.open():h(!1)};return(0,a.jsx)(i.Provider,{value:{closeSidebar:o.close,openSidebar:m,isSidebarVisible:p?d:!u},children:(0,a.jsxs)("div",{className:"app-layout",children:[(0,a.jsx)("div",{className:`sidebar-overlay ${d?"visible":""}`,onClick:()=>o.close()}),(0,a.jsx)("div",{className:`sidebar ${d?"open":""} ${u?"collapsed":""}`,children:e({closeSidebar:o.close,openSidebar:m})}),(0,a.jsxs)("div",{className:"main-content",children:[(0,a.jsxs)("header",{className:"app-header",children:[(0,a.jsxs)("div",{className:"header-left",children:[(0,a.jsx)("button",{onClick:()=>{p?o.toggle():h(!u)},className:"btn btn-icon sidebar-toggle-btn","aria-label":p?"打开菜单":u?"展开侧边栏":"收起侧边栏",children:(0,a.jsx)(s,{size:16})}),l]}),(0,a.jsx)("div",{className:"header-right",children:r})]}),c]})]})})},"useAppShell",0,function(){let e=(0,t.useContext)(i);if(!e)throw Error("useAppShell must be used within AppShell");return e}],59665)},27648,e=>{"use strict";var a=e.i(18050),t=e.i(93957),s=e.i(71192);e.s(["default",0,function({className:e=""}){let n=(0,s.useUserStore)(e=>e.identity),i=(0,s.useUserStore)(e=>e.openLoginModal),l=(0,s.useUserStore)(e=>e.logoutUser);return(0,a.jsxs)("div",{className:`chat-sidebar-footer sidebar-account ${e}`,children:[(0,a.jsxs)("div",{className:"user-info",children:[(0,a.jsx)("img",{className:"user-avatar-img",src:(0,t.generateAvatar)(n?.address,n?.avatar),alt:"avatar"}),(0,a.jsx)("span",{className:"user-name",title:n?.address,children:n?.displayName||"未登录"})]}),n?(0,a.jsx)("button",{className:"btn btn-ghost logout-btn",onClick:l,children:"退出"}):(0,a.jsx)("button",{className:"btn btn-primary login-btn",onClick:i,children:"登录"})]})}])},62368,e=>{"use strict";let a=(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,a],62368)},26091,e=>{"use strict";let a=(0,e.i(56420).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);e.s(["FileText",0,a],26091)},39626,e=>{"use strict";var a=e.i(18050);let t=(0,e.i(56420).default)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);var s=e.i(59665);e.s(["default",0,function({label:e="打开侧边栏",className:n="",variant:i="primary"}){let{isSidebarVisible:l,openSidebar:r}=(0,s.useAppShell)();return l?null:(0,a.jsxs)("button",{type:"button",className:`btn ${"primary"===i?"btn-primary":""} sidebar-open-hint ${n}`.trim(),onClick:r,children:[(0,a.jsx)(t,{size:16}),e]})}],39626)},77071,e=>{"use strict";let a=(0,e.i(56420).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,a],77071)},51921,e=>{"use strict";let a=(0,e.i(56420).default)("music",[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]]);e.s(["Music",0,a],51921)},79490,e=>{"use strict";let a=(0,e.i(56420).default)("pen",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]]);e.s(["Edit2",0,a],79490)},15170,80796,e=>{"use strict";var a=e.i(56420);let t=(0,a.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);e.s(["Image",0,t],15170);let s=(0,a.default)("film",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M7 3v18",key:"bbkbws"}],["path",{d:"M3 7.5h4",key:"zfgn84"}],["path",{d:"M3 12h18",key:"1i2n21"}],["path",{d:"M3 16.5h4",key:"1230mu"}],["path",{d:"M17 3v18",key:"in4fa5"}],["path",{d:"M17 7.5h4",key:"myr1c1"}],["path",{d:"M17 16.5h4",key:"go4c1d"}]]);e.s(["Film",0,s],80796)},12796,11028,6933,e=>{"use strict";let a=(0,e.i(56420).default)("loader",[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]]);e.s(["Loader",0,a],12796);var t=e.i(18050),s=e.i(71645),n=e.i(26091),i=e.i(51921),l=e.i(63676),r=e.i(26913);e.s(["default",0,function({item:e,isBackendReady:c,getFileDownloadUrl:d,onClose:o}){let[u,h]=(0,s.useState)(""),[p,m]=(0,s.useState)(!1),[f,x]=(0,s.useState)(""),[y,g]=(0,s.useState)("");return(0,s.useEffect)(()=>{if("text"!==e.subtype)return;let a=!1;return(h(""),g(""),c)?(m(!0),(async()=>{try{let t=await fetch(d(e.cid),{headers:{...await (0,r.getApiRequestHeaders)("GET",`/api/files/${e.cid}/download`),Range:"bytes=0-9999"}});if(!t.ok)throw Error("加载失败");let s=await t.text();a||h(s||"(文件为空)")}catch{a||h("加载失败")}finally{a||m(!1)}})(),()=>{a=!0}):void h("加载失败")},[d,c,e.cid,e.subtype]),(0,s.useEffect)(()=>{var a;if("image"!==(a=e.subtype)&&"video"!==a&&"audio"!==a)return void x("");if(x(""),g(""),!c)return void g("加载失败");let t="",s=!1;return(async()=>{try{let a=await fetch(d(e.cid),{headers:await (0,r.getApiRequestHeaders)("GET",`/api/files/${e.cid}/download`)});if(!a.ok)throw Error("加载失败");let n=URL.createObjectURL(await a.blob());t=n,s||x(n)}catch{s||g("加载失败")}})(),()=>{s=!0,t&&URL.revokeObjectURL(t)}},[d,c,e.cid,e.subtype]),(0,t.jsxs)("div",{className:"preview-overlay",onClick:o,children:[(0,t.jsx)("button",{type:"button",className:"preview-close",onClick:o,"aria-label":"关闭预览",children:(0,t.jsx)(l.X,{size:20})}),(0,t.jsxs)("div",{onClick:e=>e.stopPropagation(),children:["image"===e.subtype&&(0,t.jsx)("div",{className:"preview-media-wrapper",children:f?(0,t.jsx)("img",{src:f,alt:e.fileName}):y?(0,t.jsxs)("div",{className:"preview-unsupported",children:[(0,t.jsx)(n.FileText,{size:48,className:"preview-file-icon"}),(0,t.jsx)("p",{children:e.fileName}),(0,t.jsx)("p",{className:"preview-unsupported-hint",children:y})]}):(0,t.jsx)("div",{className:"preview-loading",children:(0,t.jsx)("div",{className:"preview-loading-spinner"})})}),"video"===e.subtype&&(0,t.jsx)("div",{className:"preview-media-wrapper",children:f?(0,t.jsx)("video",{src:f,controls:!0}):y?(0,t.jsxs)("div",{className:"preview-unsupported",children:[(0,t.jsx)(n.FileText,{size:48,className:"preview-file-icon"}),(0,t.jsx)("p",{children:e.fileName}),(0,t.jsx)("p",{className:"preview-unsupported-hint",children:y})]}):(0,t.jsx)("div",{className:"preview-loading",children:(0,t.jsx)("div",{className:"preview-loading-spinner"})})}),"audio"===e.subtype&&(0,t.jsxs)("div",{className:"preview-audio",children:[(0,t.jsx)("div",{className:"preview-audio-icon",children:(0,t.jsx)(i.Music,{size:36,color:"var(--accent)"})}),(0,t.jsx)("p",{className:"preview-audio-filename",children:e.fileName}),f?(0,t.jsx)("audio",{className:"preview-audio-player",src:f,controls:!0}):(0,t.jsx)("div",{className:"preview-text-loading",children:y?(0,t.jsx)("p",{children:y}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a,{size:24,className:"preview-text-spinner"}),(0,t.jsx)("p",{children:"正在加载音频预览..."})]})})]}),"file"===e.subtype&&(0,t.jsxs)("div",{className:"preview-unsupported",children:[(0,t.jsx)(n.FileText,{size:48,className:"preview-file-icon"}),(0,t.jsx)("p",{children:e.fileName}),(0,t.jsx)("p",{className:"preview-unsupported-hint",children:"无法预览"})]}),"text"===e.subtype&&(0,t.jsxs)("div",{className:"preview-text-container",children:[(0,t.jsx)("div",{className:"preview-text-header",children:(0,t.jsx)("span",{children:e.fileName})}),p?(0,t.jsxs)("div",{className:"preview-text-loading",children:[(0,t.jsx)(a,{size:24,className:"preview-text-spinner"}),(0,t.jsx)("p",{children:"正在加载文本预览..."}),(0,t.jsx)("p",{className:"preview-text-loading-hint",children:"如果是初次预览,可能需要等待 P2P 网络同步"})]}):(0,t.jsx)("pre",{className:"preview-text",children:u||"(文件为空)"})]})]})]})}],11028),e.s(["getFileSubtype",0,function(e){let a=String(e||"").split(".").pop()?.toLowerCase()||"";return["jpg","jpeg","png","gif","webp","svg","bmp","ico","tiff","heic","heif"].includes(a)?"image":["mp4","webm","mov","avi","mkv","flv","wmv","m4v","mpeg","3gp"].includes(a)?"video":["mp3","wav","ogg","flac","aac","m4a","wma","opus"].includes(a)?"audio":["txt","md","js","ts","jsx","tsx","css","scss","less","json","xml","html","htm","yaml","yml","toml","ini","cfg","conf","log","sh","bash","py","rb","go","rs","java","c","cpp","h","hpp","cs","php","sql","graphql","env","gitignore","dockerfile","readme"].includes(a)?"text":"file"}],6933)},41222,e=>{"use strict";var a=e.i(18050),t=e.i(71645),s=e.i(68590),n=e.i(30274),i=e.i(77071),l=e.i(35965),r=e.i(96699),c=e.i(63676),d=e.i(11241),o=e.i(79490),u=e.i(56420);let h=(0,u.default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]),p=(0,u.default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]),m=(0,u.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var f=e.i(15170),x=e.i(80796),y=e.i(26091),g=e.i(62368),j=e.i(12796),v=e.i(51921);let b=(0,u.default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);var k=e.i(59665),w=e.i(11028);e.i(4121);var N=e.i(47910),C=e.i(88361),M=e.i(39626),S=e.i(26913),z=e.i(93957),$=e.i(3593),R=e.i(71192),E=e.i(5142),A=e.i(23952),F=e.i(27648),I=e.i(87884),T=e.i(6933);let U=/^[a-zA-Z0-9_-]+$/,L={async publishFile(e,a){let t=new FormData;t.append("file",e,a);let s=await S.api.post("/api/publish",{body:t});if(!s.ok)throw Error((await s.json().catch(()=>({error:s.statusText}))).error||"Request failed");return s.json()},downloadFile:e=>S.api.post("/api/download",{json:{link:e}}).json(),getFileDownloadUrl:e=>(0,S.getApiUrl)(`/api/files/${e}/download`)};function D(e){let a=String(e||"").split("/");return a[a.length-1]||e}e.s(["default",0,function(){let e=(0,$.useAppStore)(e=>e.isDarkMode),u=(0,$.useAppStore)(e=>e.setIsDarkMode),P=(0,$.useAppStore)(e=>e.hasBackend),q=(0,$.useAppStore)(e=>e.addToast),O=(0,$.useAppStore)(e=>e.openConnectModal),B=(0,R.useUserStore)(e=>e.identity),H=(0,R.useUserStore)(e=>e.openLoginModal),[V,W]=(0,t.useState)([]),[K,G]=(0,t.useState)(null),[J,X]=(0,t.useState)(""),[_,Z]=(0,E.useDisclosure)(!1),[Q,Y]=(0,t.useState)(""),[ee,ea]=(0,t.useState)(!1),[et,es]=(0,t.useState)(!1),[en,ei]=(0,E.useDisclosure)(!1),[el,er]=(0,t.useState)(null),[ec,ed]=(0,t.useState)(!1),[eo,eu]=(0,t.useState)(""),[eh,ep]=(0,t.useState)(null),[em,ef]=(0,t.useState)(!1),[ex,ey]=(0,t.useState)({}),eg=(0,t.useRef)(null),ej=(0,t.useRef)(null),ev=(0,t.useRef)(null),eb=(0,t.useRef)(null),ek=(0,t.useRef)(new Map),ew=!0===P,eN=(0,t.useCallback)(async(e,a)=>{q(await (0,S.getApiErrorMessage)(e,a),"error")},[q]),{clearMessages:eC,messages:eM,sendMessage:eS,syncMessages:ez}=(0,A.useChannelMessages)({isReady:ew,enabled:!!B,channelName:K?.name||"",peerId:Q,waitForPeerId:!0,onSyncError:e=>eN(e,"无法读取频道消息"),onSocketEvent:function(e,a){switch(e){case"channel:peer:online":case"channel:peer:offline":K&&I.channelApi.getChannelPeers(K.name).catch(e=>{console.warn("[Chat] Failed to fetch peers on event:",e.message)});break;case"channel:joined":case"channel:left":eA();break;case"download:success":{let e=ek.current.get(a.taskId);e&&(ek.current.delete(a.taskId),eI(e.cid),q(`${a.fileName||D(e.fileName)} 下载完成`,"success"),eF(e,a.fileName||e.fileName));break}case"download:error":case"download:cancelled":{let t=ek.current.get(a.taskId);t&&(ek.current.delete(a.taskId),eI(t.cid),q("download:cancelled"===e?"附件下载已取消":a.error||"附件下载失败","error"))}}}});function e$(){return!!ew||(O(),!1)}function eR(){return!!B||(H(),!1)}function eE(e){return e.length<3?"频道名至少 3 个字符":e.length>30?"频道名最多 30 个字符":U.test(e)?"":"频道名只能包含字母、数字、下划线和连字符"}async function eA(){if(ew)try{let e=await I.channelApi.getChannels({excludeType:"game"});W(e)}catch(e){W([]),await eN(e,"无法读取频道列表")}}function eF(e,a=e.fileName){let t=(0,T.getFileSubtype)(a);ep({cid:e.cid,fileName:a,subtype:"file"===t?e.kind:t})}function eI(e){ey(a=>{let t={...a};return delete t[e],t})}async function eT(e){!eR()||e$()&&(G(e),window.history.pushState({},"",`?channel=${encodeURIComponent(e.name)}`))}async function eU(e,a){if((a&&a.stopPropagation(),eR()&&e$())&&!et){es(!0);try{if(await I.channelApi.leaveChannel(e),K?.name===e){G(null),eC();let e=new URL(window.location.href);e.searchParams.delete("channel"),window.history.pushState({},"",e.pathname)}eA(),ei.close(),er(null)}catch(e){await eN(e,"退出频道失败")}finally{es(!1)}}}async function eL(e){let a=e.trim();if(!a||ee)return;let t=eE(a);if(t)return void q(t,"error");if(eR()&&e$()){ea(!0);try{await I.channelApi.createChannel(a,"public");let e=V.find(e=>e.name===a)||{name:a,type:"public"};W(t=>t.some(e=>e.name===a)?t:[...t,e]),Z.close(),await eT(e),eA()}catch(e){await eN(e,"加入频道失败")}finally{ea(!1)}}}async function eD(e,a){if(!e.trim()||!K||!eR()||!e$())return!1;let t=e.trim();try{return await eS({channelName:K.name,content:t,author:B.address,authorName:B.displayName||B.username,attachment:a}),!0}catch(e){return await eN(e,"发送失败"),!1}}async function eP(){if(!J.trim())return;let e=J.trim();X(""),await eD(e)}async function eq(e){if(e&&0!==e.length&&K&&eR()&&e$()&&!em){ef(!0);try{for(let s of Array.from(e)){var a,t;let e=(a=K.name,t=s.name,`chat-file/${a}/${t}`),n=await L.publishFile(s,e),i=n.fileName||e,l=n.link||`most://${n.cid}?filename=${encodeURIComponent(i)}`,r={kind:s.type.startsWith("image/")?"image":s.type.startsWith("video/")?"video":s.type.startsWith("audio/")?"audio":s.type.startsWith("text/")?"text":(0,T.getFileSubtype)(i),cid:n.cid,fileName:i,link:l,mimeType:s.type||void 0,size:s.size};await eD(l,r)&&q(`${D(i)} 已发布`,"success")}}catch(e){await eN(e,"附件发送失败")}finally{ef(!1)}}}async function eO(e){if(eR()&&e$()&&!ex[e.cid])try{ey(a=>({...a,[e.cid]:"downloading"}));let a=await L.downloadFile(e.link);if(a.alreadyExists||a.fileName){eI(e.cid),eF({...e,fileName:a.fileName||e.fileName},a.fileName||e.fileName);return}a.taskId&&(ek.current.set(a.taskId,e),q("开始下载附件","success"))}catch(a){eI(e.cid),await eN(a,"附件下载失败")}}async function eB(){if(K&&eR()&&e$())try{let e=await I.channelApi.setChannelRemark(K.name,eo);W(a=>a.map(a=>a.name===K.name?{...a,remark:e.remark}:a)),G(a=>a?{...a,remark:e.remark}:null)}catch(e){await eN(e,"设置备注失败")}}(0,t.useEffect)(()=>{eg.current?.scrollIntoView({behavior:"smooth"})},[eM]),(0,t.useEffect)(()=>{ew?S.api.get("/api/node-id").json().then(e=>Y(e.id)).catch(e=>{console.warn("[Chat] Failed to fetch node ID:",e.message),eN(e,"无法读取节点 ID")}):Y("")},[ew,eN]),(0,t.useEffect)(()=>{ew&&B&&eA()},[P,ew,B?.address]),(0,t.useEffect)(()=>{K&&ew&&(ez(K.name,{replace:!0}),I.channelApi.getChannelPeers(K.name).catch(()=>{}))},[K,P,ew,ez]),(0,t.useEffect)(()=>{let e=new URLSearchParams(window.location.search).get("channel");if(e&&V.length>0){let a=V.find(a=>a.name===e);a&&(!K||K.name!==a.name)&&eT(a)}},[V,K]),(0,t.useEffect)(()=>{B||(W([]),G(null),eC(),X(""),Y(""),ed(!1),ep(null),ey({}),ek.current.clear())},[eC,B?.address]);let eH=K?(0,a.jsx)("h2",{className:"header-title",children:K.remark||K.name}):(0,a.jsx)("h2",{className:"header-title",children:"聊天"});return(0,a.jsxs)(k.default,{sidebar:({closeSidebar:e})=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"sidebar-header sidebar-header-link",onClick:()=>window.location.href="/",children:[(0,a.jsx)(d.ArrowLeft,{size:18}),(0,a.jsx)("h1",{children:"MOST PEOPLE"})]}),(0,a.jsx)("nav",{className:"sidebar-nav",children:0===V.length?(0,a.jsx)("div",{className:"sidebar-empty-state",children:(0,a.jsx)("p",{children:"暂无频道"})}):V.map(t=>(0,a.jsxs)("div",{className:`sidebar-nav-btn ${K?.name===t.name?"active":""}`,onClick:()=>{eT(t),e()},role:"button",tabIndex:0,onKeyDown:a=>{"Enter"===a.key&&(eT(t),e())},children:[(0,a.jsx)(s.MessageSquare,{size:16}),(0,a.jsx)("span",{children:t.remark||t.name}),(0,a.jsx)("button",{className:"leave-channel-btn",onClick:e=>{e.stopPropagation(),er(t),ei.open()},title:"退出频道",children:(0,a.jsx)(c.X,{size:14})})]},t.name))}),(0,a.jsxs)("button",{className:"create-channel-btn",onClick:()=>{eR()&&e$()&&Z.open()},children:[(0,a.jsx)(i.Plus,{size:16}),"加入频道"]}),(0,a.jsx)(F.default,{})]}),headerTitle:eH,headerRight:(0,a.jsxs)("div",{className:"header-right-actions",children:[(0,a.jsx)("button",{className:"btn btn-icon",onClick:()=>u(!e),title:"切换主题",children:e?(0,a.jsx)(l.Sun,{size:16}):(0,a.jsx)(r.Moon,{size:16})}),K&&(0,a.jsx)("button",{className:"btn btn-icon",onClick:()=>ed(!0),title:"频道设置",children:(0,a.jsx)(m,{size:16})})]}),children:[K?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"chat-messages",children:[0===eM.length?(0,a.jsxs)("div",{className:"chat-messages-empty",children:[(0,a.jsx)("div",{className:"empty-icon",children:(0,a.jsx)(s.MessageSquare,{size:28})}),(0,a.jsx)("p",{children:"暂无消息,开始聊天吧!"})]}):eM.map(e=>(0,a.jsxs)("div",{className:`chat-message ${e.author===B?.address?"self":"other"} ${e.pending?"pending":""}`,children:[(0,a.jsx)("img",{className:"msg-avatar",src:(0,z.generateAvatar)(e.author,e.author===B?.address?B.avatar:void 0),alt:"avatar"}),(0,a.jsxs)("div",{className:"msg-content",children:[(0,a.jsx)("span",{className:"message-author",children:e.authorName||e.author?.slice(0,8)||"Unknown"}),function(e){var t,s;if(!e.attachment)return(0,a.jsx)("div",{className:"message-bubble",children:e.content});let n=e.attachment,i=ex[n.cid],l=((t=n.size)&&!(t<=0)?t<1024?`${t} B`:t<1048576?`${(t/1024).toFixed(1)} KB`:t<0x40000000?`${(t/1048576).toFixed(1)} MB`:`${(t/0x40000000).toFixed(2)} GB`:"")||"MostBox 文件";return(0,a.jsx)("div",{className:"message-bubble has-attachment",children:(0,a.jsxs)("button",{type:"button",className:"chat-attachment-card",onClick:()=>eO(n),disabled:!!(e.pending||i),title:n.link,children:[(0,a.jsx)("span",{className:`chat-attachment-icon ${n.kind}`,children:i?(0,a.jsx)(j.Loader,{size:20,className:"chat-attachment-spinner"}):"image"===(s=n.kind)?(0,a.jsx)(f.Image,{size:20}):"video"===s?(0,a.jsx)(x.Film,{size:20}):"audio"===s?(0,a.jsx)(v.Music,{size:20}):(0,a.jsx)(y.FileText,{size:20})}),(0,a.jsxs)("span",{className:"chat-attachment-info",children:[(0,a.jsx)("span",{className:"chat-attachment-name",children:D(n.fileName)}),(0,a.jsx)("span",{className:"chat-attachment-meta",children:e.pending?"发送中...":l})]}),(0,a.jsx)("span",{className:"chat-attachment-action",children:i?"下载中":(0,a.jsx)(g.Download,{size:16})})]})})}(e),(0,a.jsx)("span",{className:"message-time",children:new Date(e.timestamp).toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"})})]})]},e.id||`${e.author}-${e.timestamp}`)),(0,a.jsx)("div",{ref:eg})]}),(0,a.jsxs)("div",{className:"chat-input-area",children:[(0,a.jsx)("input",{ref:ej,type:"file",accept:"image/*",className:"chat-file-input",onChange:e=>{eq(e.target.files),e.currentTarget.value=""}}),(0,a.jsx)("input",{ref:ev,type:"file",accept:"video/*",className:"chat-file-input",onChange:e=>{eq(e.target.files),e.currentTarget.value=""}}),(0,a.jsx)("input",{ref:eb,type:"file",className:"chat-file-input",onChange:e=>{eq(e.target.files),e.currentTarget.value=""}}),(0,a.jsx)("button",{type:"button",className:"chat-tool-btn",onClick:()=>ej.current?.click(),disabled:!B||em,title:"发送图片",children:(0,a.jsx)(f.Image,{size:18})}),(0,a.jsx)("button",{type:"button",className:"chat-tool-btn",onClick:()=>ev.current?.click(),disabled:!B||em,title:"发送视频",children:(0,a.jsx)(x.Film,{size:18})}),(0,a.jsx)("button",{type:"button",className:"chat-tool-btn",onClick:()=>eb.current?.click(),disabled:!B||em,title:"发送文件",children:em?(0,a.jsx)(j.Loader,{size:18,className:"chat-attachment-spinner"}):(0,a.jsx)(b,{size:18})}),(0,a.jsx)("input",{type:"text",className:"input input-pill",placeholder:B?"输入消息...":"请先登录后发言",value:J,disabled:!B,onChange:e=>X(e.target.value),onKeyDown:e=>{"Enter"===e.key&&J.trim()&&eP()}}),(0,a.jsx)("button",{className:"send-btn",onClick:eP,disabled:!B||!J.trim(),children:(0,a.jsx)(n.Send,{size:18})})]})]}):(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)("div",{className:"chat-welcome",children:[(0,a.jsx)("div",{className:"welcome-icon",children:(0,a.jsx)(s.MessageSquare,{size:36})}),(0,a.jsx)("h2",{children:"选择频道"}),(0,a.jsx)("p",{children:"从左侧边栏选择一个频道开始聊天,或创建一个新频道"}),(0,a.jsx)(M.default,{label:"打开频道列表"})]})}),_&&(0,a.jsx)(N.InputModal,{title:"加入频道",placeholder:"频道ID:3-20 位字母、数字、_ 或 -",confirmText:"加入",validate:eE,onConfirm:eL,onClose:()=>Z.close(),isLoading:ee,loadingText:"加入中..."}),en&&el&&(0,a.jsx)(C.ConfirmModal,{title:"退出频道",message:`确定要退出频道 "${el.name}" 吗?`,confirmText:et?"退出中...":"退出",onConfirm:()=>eU(el.name,void 0),onClose:()=>{ei.close(),er(null)},danger:!0}),eh&&(0,a.jsx)(w.default,{item:eh,isBackendReady:ew,getFileDownloadUrl:L.getFileDownloadUrl,onClose:()=>ep(null)}),ec&&K&&(0,a.jsx)("div",{className:"channel-detail-overlay",onClick:()=>ed(!1),children:(0,a.jsxs)("div",{className:"channel-detail-drawer",onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)("div",{className:"channel-detail-header",children:[(0,a.jsx)("h3",{children:"频道详情"}),(0,a.jsx)("button",{className:"btn btn-icon",onClick:()=>ed(!1),children:(0,a.jsx)(c.X,{size:18})})]}),(0,a.jsxs)("div",{className:"channel-detail-body",children:[(0,a.jsxs)("div",{className:"channel-detail-section",children:[(0,a.jsxs)("div",{className:"channel-detail-label",children:[(0,a.jsx)(p,{size:14}),(0,a.jsx)("span",{children:"频道 ID"})]}),(0,a.jsx)("div",{className:"channel-detail-value channel-detail-mono",children:K.name})]}),(0,a.jsxs)("div",{className:"channel-detail-section",children:[(0,a.jsxs)("div",{className:"channel-detail-label",children:[(0,a.jsx)(o.Edit2,{size:14}),(0,a.jsx)("span",{children:"备注名称"})]}),(0,a.jsx)("input",{type:"text",className:"input input-compact",placeholder:"输入备注名称",value:eo,onChange:e=>eu(e.target.value),onFocus:()=>eu(K.remark||""),onBlur:()=>eB(),onKeyDown:e=>{"Enter"===e.key&&e.currentTarget.blur()},maxLength:50})]}),(0,a.jsxs)("div",{className:"channel-detail-section",children:[(0,a.jsxs)("div",{className:"channel-detail-label",children:[(0,a.jsx)(h,{size:14}),(0,a.jsx)("span",{children:"创建时间"})]}),(0,a.jsx)("div",{className:"channel-detail-value",children:K.createdAt?new Date(K.createdAt).toLocaleDateString("zh-CN"):"-"})]})]}),(0,a.jsx)("div",{className:"channel-detail-footer",children:(0,a.jsx)("button",{className:"btn btn-danger btn-block",onClick:()=>{ed(!1),er(K),ei.open()},children:"退出频道"})})]})})]})}],41222)}]);