most-box 0.2.5 → 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/README.md +6 -0
  2. package/electron/main.js +58 -4
  3. package/electron/updateChecker.js +10 -27
  4. package/electron/updateChecker.test.js +67 -0
  5. package/out/admin/index.html +0 -0
  6. package/out/app/index.html +0 -0
  7. package/out/assets/FilePreviewOverlay-CW8lKJCw.js +1 -0
  8. package/out/assets/LanguageToggle-Cfh33R2h.js +1 -0
  9. package/out/assets/{MarketingHeader-B3vYocUz.js → MarketingHeader-BKBngzf5.js} +1 -1
  10. package/out/assets/MarketingLayout-C3xrXmfU.js +1 -0
  11. package/out/assets/MarketingThemeToggle-Cl7PhFgv.js +1 -0
  12. package/out/assets/{MilkdownEditor-CRA9oxMp.js → MilkdownEditor-B5SKAyjg.js} +1 -1
  13. package/out/assets/OpenSidebarButton-Bdx86oG8.js +1 -0
  14. package/out/assets/SidebarAccount-c8jirEMF.js +1 -0
  15. package/out/assets/SidebarHomeLink-LzYXrJRr.js +1 -0
  16. package/out/assets/arrow-right-BC_GWahx.js +1 -0
  17. package/out/assets/circle-alert-Dkgyw_GE.js +1 -0
  18. package/out/assets/copy-KIwotKoP.js +1 -0
  19. package/out/assets/download-DPA-3LpR.js +1 -0
  20. package/out/assets/{downloadValidation-eInMiVSX.js → downloadValidation-CH8BeY7_.js} +1 -1
  21. package/out/assets/external-link-BmR2rZ80.js +1 -0
  22. package/out/assets/file-text-BJQfDW9r.js +1 -0
  23. package/out/assets/folder-Gb80aQnO.js +1 -0
  24. package/out/assets/hard-drive-P2dGA7FX.js +1 -0
  25. package/out/assets/i18n-Cqyi6NZb.js +1 -0
  26. package/out/assets/index-CSBg7dZN.css +1 -0
  27. package/out/assets/index-CiHRnvMj.js +31 -0
  28. package/out/assets/index.lazy-B7u3Ztoe.js +1 -0
  29. package/out/assets/index.lazy-BdOfbfjo.js +2 -0
  30. package/out/assets/index.lazy-Bh4jDrUl.js +1 -0
  31. package/out/assets/index.lazy-Bo6McUf1.js +1 -0
  32. package/out/assets/index.lazy-BxUje7fk.js +1 -0
  33. package/out/assets/index.lazy-CIqPn0cy.js +1 -0
  34. package/out/assets/index.lazy-CfuoMz6P.js +1 -0
  35. package/out/assets/index.lazy-DAKkwnV2.js +1 -0
  36. package/out/assets/index.lazy-DRaxm9OS.js +1 -0
  37. package/out/assets/index.lazy-DkrwcEBu.js +2 -0
  38. package/out/assets/index.lazy-K6IB-5kb.js +3 -0
  39. package/out/assets/index.lazy-Uu9DCtrI.js +1 -0
  40. package/out/assets/index.lazy-mXESMo49.js +1 -0
  41. package/out/assets/key-round-DvpIlAJY.js +1 -0
  42. package/out/assets/loader-8eVY8_SD.js +1 -0
  43. package/out/assets/lock-Cvtl60UJ.js +1 -0
  44. package/out/assets/message-square-JK7ABH3O.js +1 -0
  45. package/out/assets/mp-CMvgV1-c.js +1 -0
  46. package/out/assets/music-YRSH1Jq6.js +1 -0
  47. package/out/assets/notebook-pen-BjGx0coX.js +1 -0
  48. package/out/assets/play-Ds19moWN.js +1 -0
  49. package/out/assets/plus-CvGkRhJV.js +1 -0
  50. package/out/assets/save-BcI68ZgS.js +1 -0
  51. package/out/assets/search-BIa4RSPA.js +1 -0
  52. package/out/assets/send-_ups0_3f.js +1 -0
  53. package/out/assets/shield-check-Dzw5rdPe.js +1 -0
  54. package/out/assets/smartphone-DSQ5L_sr.js +1 -0
  55. package/out/assets/trash-2-BIrBn6Ce.js +1 -0
  56. package/out/assets/triangle-alert-CgWIEl4u.js +1 -0
  57. package/out/assets/ui-u9yJHkb-.js +4 -0
  58. package/out/assets/upload-1jmNeGjH.js +1 -0
  59. package/out/assets/{useChannelMessages-D_306Ymv.js → useChannelMessages-DNxfCew-.js} +1 -1
  60. package/out/assets/useGameRoom-Du07VEgb.js +1 -0
  61. package/out/assets/userProfile-CL1Ev2GK.js +1 -0
  62. package/out/assets/wallet-BvM_X5nW.js +1 -0
  63. package/out/assets/wifi-66t1dsgC.js +1 -0
  64. package/out/chat/index.html +0 -0
  65. package/out/chat/join/index.html +0 -0
  66. package/out/download/index.html +2 -2
  67. package/out/game/gandengyan/index.html +0 -0
  68. package/out/game/index.html +0 -0
  69. package/out/game/zhajinhua/index.html +0 -0
  70. package/out/index.html +2 -2
  71. package/out/note/index.html +0 -0
  72. package/out/ping/index.html +2 -2
  73. package/out/profile/index.html +0 -0
  74. package/out/web3/index.html +0 -0
  75. package/package.json +5 -1
  76. package/server/src/core/channelIdentity.js +3 -5
  77. package/server/src/core/gameRoom.js +18 -43
  78. package/server/src/core/ownerMetadata.js +3 -4
  79. package/server/src/core/releaseManifest.js +108 -0
  80. package/server/src/core/shared.js +50 -0
  81. package/server/src/core/zhajinhua.js +12 -33
  82. package/server/src/games/gandengyan.js +7 -14
  83. package/server/src/http/nodeStatus.js +0 -6
  84. package/server/src/http/routes/channelRoutes.js +1 -13
  85. package/server/src/http/routes/nodeRoutes.js +1 -1
  86. package/server/src/index.js +44 -14
  87. package/server/src/utils/api.js +47 -0
  88. package/server/src/utils/auth.js +2 -5
  89. package/server/src/utils/dateTime.js +1 -3
  90. package/out/assets/AppShell-oF8wPXde.js +0 -1
  91. package/out/assets/FilePreviewOverlay-DTBZt89J.js +0 -1
  92. package/out/assets/LanguageToggle-HAJ3D6Ne.js +0 -1
  93. package/out/assets/MarketingLayout-CapVVXTP.js +0 -1
  94. package/out/assets/MarketingThemeToggle-B47H68ro.js +0 -1
  95. package/out/assets/OpenSidebarButton-D3JRO-Hh.js +0 -1
  96. package/out/assets/SidebarAccount-8_hQAYXx.js +0 -1
  97. package/out/assets/arrow-right-mNO53HQi.js +0 -1
  98. package/out/assets/circle-alert-CofRTRHr.js +0 -1
  99. package/out/assets/cloud-DAGFCFIp.js +0 -1
  100. package/out/assets/copy-5aEv78Eq.js +0 -1
  101. package/out/assets/download-Bhqn6hL1.js +0 -1
  102. package/out/assets/external-link-CNR21yFA.js +0 -1
  103. package/out/assets/file-text-CFfvvCnM.js +0 -1
  104. package/out/assets/folder-BGJCjyba.js +0 -1
  105. package/out/assets/hard-drive-4vHpA5kz.js +0 -1
  106. package/out/assets/index--p9MKNEl.js +0 -31
  107. package/out/assets/index-DEu4udaa.css +0 -1
  108. package/out/assets/index.lazy-2K3f5PZe.js +0 -1
  109. package/out/assets/index.lazy-B-2etVwK.js +0 -1
  110. package/out/assets/index.lazy-B4WTQF5E.js +0 -1
  111. package/out/assets/index.lazy-BFfsQrRe.js +0 -1
  112. package/out/assets/index.lazy-C5udBnrO.js +0 -1
  113. package/out/assets/index.lazy-C84HrZpm.js +0 -1
  114. package/out/assets/index.lazy-CBC2N5p_.js +0 -3
  115. package/out/assets/index.lazy-CzANViGX.js +0 -1
  116. package/out/assets/index.lazy-D3cw7yyA.js +0 -2
  117. package/out/assets/index.lazy-DVVZzbCN.js +0 -1
  118. package/out/assets/index.lazy-DxZgywoV.js +0 -1
  119. package/out/assets/index.lazy-RBLN4SE9.js +0 -1
  120. package/out/assets/index.lazy-s4E2z9AY.js +0 -2
  121. package/out/assets/key-round-BpSdpOHi.js +0 -1
  122. package/out/assets/loader-ByMmV2_4.js +0 -1
  123. package/out/assets/lock-C0pdaery.js +0 -1
  124. package/out/assets/message-square-Eu86zZup.js +0 -1
  125. package/out/assets/mp-CJWipckT.js +0 -1
  126. package/out/assets/music-Btrhub6z.js +0 -1
  127. package/out/assets/notebook-pen-CfdFgaDE.js +0 -1
  128. package/out/assets/play-D5r9Yvbq.js +0 -1
  129. package/out/assets/plus-Mlh7r_bm.js +0 -1
  130. package/out/assets/refresh-cw--JB8k6mH.js +0 -1
  131. package/out/assets/save-DN4eprSt.js +0 -1
  132. package/out/assets/search-CbzMyENy.js +0 -1
  133. package/out/assets/send-D8p6f8OD.js +0 -1
  134. package/out/assets/shield-check-c0labdRH.js +0 -1
  135. package/out/assets/trash-2-zdhWec_U.js +0 -1
  136. package/out/assets/triangle-alert-CO_5uXy2.js +0 -1
  137. package/out/assets/upload-BD23c5Pz.js +0 -1
  138. package/out/assets/useGameRoom-CURx56m6.js +0 -1
  139. package/out/assets/userProfile-oeBvU6ch.js +0 -1
  140. package/out/assets/userStore-q0BBZsIV.js +0 -4
  141. package/out/assets/wallet-DmZMdK9A.js +0 -1
  142. package/out/assets/wifi-CVqaPDcv.js +0 -1
@@ -1,2 +0,0 @@
1
- import{n as e,o as t,r as n,t as r}from"./jsx-runtime-Bt-cYkS5.js";import{g as i,v as a}from"./userStore-q0BBZsIV.js";import{t as o}from"./download-Bhqn6hL1.js";import{t as s}from"./file-text-CFfvvCnM.js";import{t as c}from"./hard-drive-4vHpA5kz.js";import{t as l}from"./refresh-cw--JB8k6mH.js";import{t as u}from"./save-DN4eprSt.js";import{t as d}from"./shield-check-c0labdRH.js";import{t as f}from"./trash-2-zdhWec_U.js";import{t as p}from"./triangle-alert-CO_5uXy2.js";import{t as m}from"./wifi-CVqaPDcv.js";import{C as h,P as g,R as _,S as v,h as y,j as b,m as x,v as S}from"./index--p9MKNEl.js";import{t as C}from"./dayjs.min-Dcc0B6Je.js";import{t as ee}from"./MarketingHeader-B3vYocUz.js";import{t as w}from"./format-CR8oUWq6.js";var te=i(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),ne=i(`clipboard`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}]]),T=i(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),E=n(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_relativeTime=r()})(e,(function(){return function(e,t,n){e||={};var r=t.prototype,i={future:`in %s`,past:`%s ago`,s:`a few seconds`,m:`a minute`,mm:`%d minutes`,h:`an hour`,hh:`%d hours`,d:`a day`,dd:`%d days`,M:`a month`,MM:`%d months`,y:`a year`,yy:`%d years`};function a(e,t,n,i){return r.fromToBase(e,t,n,i)}n.en.relativeTime=i,r.fromToBase=function(t,r,a,o,s){for(var c,l,u,d=a.$locale().relativeTime||i,f=e.thresholds||[{l:`s`,r:44,d:`second`},{l:`m`,r:89},{l:`mm`,r:44,d:`minute`},{l:`h`,r:89},{l:`hh`,r:21,d:`hour`},{l:`d`,r:35},{l:`dd`,r:25,d:`day`},{l:`M`,r:45},{l:`MM`,r:10,d:`month`},{l:`y`,r:17},{l:`yy`,d:`year`}],p=f.length,m=0;m<p;m+=1){var h=f[m];h.d&&(c=o?n(t).diff(a,h.d,!0):a.diff(t,h.d,!0));var g=(e.rounding||Math.round)(Math.abs(c));if(u=c>0,g<=h.r||!h.r){g<=1&&m>0&&(h=f[m-1]);var _=d[h.l];s&&(g=s(``+g)),l=typeof _==`string`?_.replace(`%d`,g):_(g,r,h.l,u);break}}if(r)return l;var v=u?d.future:d.past;return typeof v==`function`?v(l):v.replace(`%s`,l)},r.to=function(e,t){return a(e,t,this,!0)},r.from=function(e,t){return a(e,t,this)};var o=function(e){return e.$u?n.utc():n()};r.toNow=function(e){return this.to(o(this),e)},r.fromNow=function(e){return this.from(o(this),e)}}}))})),D=n(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r(C()):typeof define==`function`&&define.amd?define([`dayjs`],r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_locale_zh_cn=r(n.dayjs)})(e,(function(e){function t(e){return e&&typeof e==`object`&&`default`in e?e:{default:e}}var n=t(e),r={name:`zh-cn`,weekdays:`星期日_星期一_星期二_星期三_星期四_星期五_星期六`.split(`_`),weekdaysShort:`周日_周一_周二_周三_周四_周五_周六`.split(`_`),weekdaysMin:`日_一_二_三_四_五_六`.split(`_`),months:`一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月`.split(`_`),monthsShort:`1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月`.split(`_`),ordinal:function(e,t){return t===`W`?e+`周`:e+`日`},weekStart:1,yearStart:4,formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`YYYY/MM/DD`,LL:`YYYY年M月D日`,LLL:`YYYY年M月D日Ah点mm分`,LLLL:`YYYY年M月D日ddddAh点mm分`,l:`YYYY/M/D`,ll:`YYYY年M月D日`,lll:`YYYY年M月D日 HH:mm`,llll:`YYYY年M月D日dddd HH:mm`},relativeTime:{future:`%s内`,past:`%s前`,s:`几秒`,m:`1 分钟`,mm:`%d 分钟`,h:`1 小时`,hh:`%d 小时`,d:`1 天`,dd:`%d 天`,M:`1 个月`,MM:`%d 个月`,y:`1 年`,yy:`%d 年`},meridiem:function(e,t){var n=100*e+t;return n<600?`凌晨`:n<900?`早上`:n<1100?`上午`:n<1300?`中午`:n<1800?`下午`:`晚上`}};return n.default.locale(r,null,!0),r}))})),O=n(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r(C()):typeof define==`function`&&define.amd?define([`dayjs`],r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_locale_zh_tw=r(n.dayjs)})(e,(function(e){function t(e){return e&&typeof e==`object`&&`default`in e?e:{default:e}}var n=t(e),r={name:`zh-tw`,weekdays:`星期日_星期一_星期二_星期三_星期四_星期五_星期六`.split(`_`),weekdaysShort:`週日_週一_週二_週三_週四_週五_週六`.split(`_`),weekdaysMin:`日_一_二_三_四_五_六`.split(`_`),months:`一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月`.split(`_`),monthsShort:`1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月`.split(`_`),ordinal:function(e,t){return t===`W`?e+`週`:e+`日`},formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`YYYY/MM/DD`,LL:`YYYY年M月D日`,LLL:`YYYY年M月D日 HH:mm`,LLLL:`YYYY年M月D日dddd HH:mm`,l:`YYYY/M/D`,ll:`YYYY年M月D日`,lll:`YYYY年M月D日 HH:mm`,llll:`YYYY年M月D日dddd HH:mm`},relativeTime:{future:`%s內`,past:`%s前`,s:`幾秒`,m:`1 分鐘`,mm:`%d 分鐘`,h:`1 小時`,hh:`%d 小時`,d:`1 天`,dd:`%d 天`,M:`1 個月`,MM:`%d 個月`,y:`1 年`,yy:`%d 年`},meridiem:function(e,t){var n=100*e+t;return n<600?`凌晨`:n<900?`早上`:n<1100?`上午`:n<1300?`中午`:n<1800?`下午`:`晚上`}};return n.default.locale(r,null,!0),r}))})),k=t(e(),1),A=t(C(),1),j=t(E(),1);D(),O();var M=r();A.default.extend(j.default);var re=null;function ie(e,t){let n=Math.max(0,Number(e)||0),r=Math.floor(n/86400),i=Math.floor(n%86400/3600),a=Math.floor(n%3600/60);return r>0?t(`admin.uptime.daysHours`,{days:r,hours:i}):i>0?t(`admin.uptime.hoursMinutes`,{hours:i,minutes:a}):t(`admin.uptime.minutes`,{minutes:a})}function N(e){return Number.isFinite(e)?String(Math.round(e/(1024*1024*1024)*100)/100):`0`}function P(e){let t=Number(e);return!Number.isFinite(t)||t<0?0:Math.round(t*1024*1024*1024)}function ae(e){return Array.from(new Set(String(e||``).split(/[\n,]/).map(e=>e.trim()).filter(Boolean)))}function F(e,t=12,n=8){return e?e.length<=t+n+3?e:`${e.slice(0,t)}...${e.slice(-n)}`:`-`}function oe(e,t){switch(e.seedStatus){case`queued`:return t(`admin.seedStatus.queued`);case`joining`:return t(`admin.seedStatus.joining`);case`active`:return t(`admin.seedStatus.active`);case`paused`:return t(`admin.seedStatus.paused`);case`error`:return e.seedError?t(`admin.seedStatus.errorWithMessage`,{message:e.seedError}):t(`admin.seedStatus.error`);default:return e.joined?t(`admin.seedStatus.active`):t(`admin.seedStatus.notJoined`)}}function I(e){return{"zh-CN":`zh-cn`,"zh-TW":`zh-tw`,en:`en`}[e]}function se(e,t,n){if(!e)return t(`admin.time.never`);let r=(0,A.default)(e);if(!r.isValid())return t(`admin.time.never`);if(r.isAfter((0,A.default)()))return t(`admin.time.justNow`);let i=I(n);return r.locale(i).from((0,A.default)().locale(i))}var ce=[{labelKey:`admin.seedHelp.active.label`,tone:`active`,descKey:`admin.seedHelp.active.desc`},{labelKey:`admin.seedHelp.pending.label`,tone:`pending`,descKey:`admin.seedHelp.pending.desc`},{labelKey:`admin.seedHelp.paused.label`,tone:`muted`,descKey:`admin.seedHelp.paused.desc`},{labelKey:`admin.seedHelp.error.label`,tone:`error`,descKey:`admin.seedHelp.error.desc`}],le=[{value:`all`,labelKey:`admin.logFilter.all`},{value:`join`,labelKey:`admin.logFilter.join`},{value:`pull`,labelKey:`admin.logFilter.pull`},{value:`verify`,labelKey:`admin.logFilter.verify`},{value:`serve`,labelKey:`admin.logFilter.serve`},{value:`error`,labelKey:`admin.logFilter.error`}],L={join:[`join`,`joined`,`topic`],pull:[`pull`,`p2p`],verify:[`verify`,`verified`,`integrity`,`download:success`],serve:[`seed`,`seeding`,`holding`,`publish:success`,`topic:joined`],error:[`error`,`failed`,`fail`]};function R(e){let t=``;try{t=JSON.stringify(e.data||{})}catch{}return[e.level,e.event,e.message,t].map(e=>String(e||``).toLowerCase()).join(` `)}function ue(e,t){let n=String(t||`all`).trim().toLowerCase();if(!n||n===`all`)return!0;let r=R(e);return n===`error`?e.level===`error`||L.error.some(e=>r.includes(e)):(L[n]||[n]).some(e=>r.includes(e))}function z(){let{t:e,locale:t,formatNumber:n,formatTime:r}=_(),i=x(e=>e.hasBackend),a=x(e=>e.addToast),[C,E]=(0,k.useState)(re),[D,O]=(0,k.useState)([]),[A,j]=(0,k.useState)(``),[I,L]=(0,k.useState)(!1),[R,z]=(0,k.useState)(!1),[B,V]=(0,k.useState)(!1),[H,de]=(0,k.useState)(`all`),[U,fe]=(0,k.useState)([]),[pe,W]=(0,k.useState)(``),[G,K]=(0,k.useState)({dataPath:``,capacityGiB:`100`,maxFileSizeGiB:`10`,remoteInvites:``}),q=i===!0;function J(){return q?!0:(a(e(i===null?`admin.toast.backendChecking`:`admin.toast.backendDisconnected`),`warning`),!1)}let me=(0,k.useMemo)(()=>!C||C.capacity.configuredBytes<=0?0:Math.min(100,Math.round(C.capacity.usedBytes/C.capacity.configuredBytes*100)),[C]),he=(0,k.useMemo)(()=>(C?.holdings||[]).slice(0,100),[C]),ge=Math.max(0,(C?.holdings.length||0)-100),Y=h(),X=!!Y&&!Y.includes(`localhost`)&&!Y.includes(`127.0.0.1`),Z=async()=>{if(!q)return!1;try{let e=await y.get(`/api/node/status`).json(),t=await y.get(`/api/node/config`).json();return E(e),K({dataPath:t.dataPath||e.dataPath||``,capacityGiB:N(t.capacityBytes),maxFileSizeGiB:N(t.maxFileSizeBytes),remoteInvites:(t.remoteInvites||[]).join(`
2
- `)}),j(``),!0}catch(t){let n=await S(t,e(`admin.error.readStatus`));return j(n),a(n,`error`),!1}},_e=async()=>{J()&&await Z()&&a(e(`admin.toast.statusRefreshed`),`success`)},Q=async(e=H)=>{if(q)try{let t=new URLSearchParams({limit:`80`,filter:e});O((await y.get(`/api/node/logs?${t.toString()}`).json()).logs||[])}catch{}},$=async()=>{if(q)try{fe((await y.get(`/api/admin/users`).json()).users||[])}catch{}},ve=async()=>{if(J()){L(!0);try{await y.post(`/api/node/config`,{json:{dataPath:G.dataPath,capacityBytes:P(G.capacityGiB),maxFileSizeBytes:P(G.maxFileSizeGiB),remoteInvites:ae(G.remoteInvites)}}).json(),a(G.dataPath===(C?.dataPath||``)?e(`admin.toast.configSaved`):e(`admin.toast.configSavedRestart`),`success`),await Z(),await Q()}catch(t){let n=await S(t,e(`admin.error.saveConfig`));a(n,`error`),j(n)}finally{L(!1)}}},ye=async()=>{C?.nodeId&&(await navigator.clipboard.writeText(C.nodeId),a(e(`admin.toast.nodeIdCopied`),`success`))},be=async()=>{if(J()){z(!0);try{await y.delete(`/api/node/logs`).json(),O([]),a(e(`admin.toast.logsCleared`),`success`)}catch(t){let n=await S(t,e(`admin.error.clearLogs`));a(n,`error`),j(n)}finally{z(!1)}}},xe=async()=>{if(J()){V(!0);try{let t=await y.get(`/api/node/diagnostics`).json(),n=new Blob([JSON.stringify(t,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`),o=new Date().toISOString().replace(/[:.]/g,`-`);i.href=r,i.download=`mostbox-diagnostics-${o}.json`,document.body.appendChild(i),i.click(),i.remove(),URL.revokeObjectURL(r),a(e(`admin.toast.diagnosticsExported`),`success`)}catch(t){let n=await S(t,e(`admin.error.exportDiagnostics`));a(n,`error`),j(n)}finally{V(!1)}}},Se=async t=>{if(J()&&window.confirm(e(`admin.confirm.clearUserData`,{address:`${t.slice(0,6)}...${t.slice(-4)}`}))){W(t);try{await y.delete(`/api/admin/users/${t}/data`).json(),a(e(`admin.toast.userDataCleared`),`success`),await $(),await Z()}catch(t){let n=await S(t,e(`admin.error.clearUserData`));a(n,`error`),j(n)}finally{W(``)}}};return(0,k.useEffect)(()=>{if(!q||X)return;Z(),Q(),$();let e=null,t=!1;return(async()=>{if(e=new WebSocket(await v(`/ws`)),t){e.close();return}e.onmessage=e=>{try{let t=JSON.parse(e.data);t.event===`node:status`&&E(t.data),t.event===`node:log`&&ue(t.data,H)&&O(e=>[t.data,...e].slice(0,80)),t.event===`node:logs:cleared`&&O([]),(t.event===`publish:success`||t.event===`download:success`||t.event===`network:status`)&&Z()}catch{}}})(),()=>{t=!0,e?.close()}},[q,X,H]),(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(ee,{}),(0,M.jsxs)(`main`,{className:`admin-page`,children:[(0,M.jsxs)(`header`,{className:`admin-topbar`,children:[(0,M.jsx)(`div`,{className:`admin-title-group`,children:(0,M.jsx)(`h1`,{children:e(`admin.title`)})}),(0,M.jsxs)(`div`,{className:`admin-topbar-actions`,children:[(0,M.jsxs)(`span`,{className:`admin-status-pill ${C?.status===`online`?`online`:``}`,children:[(0,M.jsx)(te,{size:14}),C?.status===`online`?e(`admin.status.online`):e(`admin.status.waiting`)]}),(0,M.jsxs)(`button`,{className:`btn btn-secondary`,onClick:_e,children:[(0,M.jsx)(l,{size:16}),e(`admin.action.refresh`)]})]})]}),i===!1&&(0,M.jsxs)(`section`,{className:`admin-panel admin-error`,children:[(0,M.jsx)(b,{size:20}),(0,M.jsx)(`span`,{children:e(`admin.error.localDaemonDisconnected`)})]}),X&&(0,M.jsxs)(`section`,{className:`admin-panel admin-error`,children:[(0,M.jsx)(p,{size:18}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`h2`,{children:e(`admin.remoteUnavailable.title`)}),(0,M.jsx)(`p`,{children:e(`admin.remoteUnavailable.desc`)})]})]}),!X&&A&&(0,M.jsxs)(`section`,{className:`admin-panel admin-error`,children:[(0,M.jsx)(s,{size:20}),(0,M.jsx)(`span`,{children:A})]}),!X&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(`section`,{className:`admin-overview`,children:[(0,M.jsxs)(`div`,{className:`admin-metric`,children:[(0,M.jsx)(`div`,{className:`admin-metric-icon`,children:(0,M.jsx)(d,{size:18})}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`span`,{children:e(`admin.metric.nodeId`)}),(0,M.jsx)(`strong`,{translate:`no`,children:F(C?.nodeId||``)})]}),(0,M.jsx)(`button`,{className:`btn btn-icon admin-metric-action`,onClick:ye,"aria-label":e(`admin.action.copyNodeId`),children:(0,M.jsx)(ne,{size:15})})]}),(0,M.jsxs)(`div`,{className:`admin-metric`,children:[(0,M.jsx)(`div`,{className:`admin-metric-icon`,children:(0,M.jsx)(m,{size:18})}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`span`,{children:e(`admin.metric.connections`)}),(0,M.jsx)(`strong`,{children:C?e(`admin.metric.peers`,{count:C.network.peers}):`-`})]})]}),(0,M.jsxs)(`div`,{className:`admin-metric`,children:[(0,M.jsx)(`div`,{className:`admin-metric-icon`,children:(0,M.jsx)(c,{size:18})}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`span`,{children:e(`admin.metric.capacity`)}),(0,M.jsxs)(`strong`,{children:[me,`%`]})]})]}),(0,M.jsxs)(`div`,{className:`admin-metric`,children:[(0,M.jsx)(`div`,{className:`admin-metric-icon`,children:(0,M.jsx)(b,{size:18})}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`span`,{children:e(`admin.metric.uptime`)}),(0,M.jsx)(`strong`,{children:C?ie(C.uptimeSeconds,e):`-`})]})]})]}),(0,M.jsxs)(`section`,{className:`admin-grid`,children:[(0,M.jsxs)(`div`,{className:`admin-panel admin-span-2`,children:[(0,M.jsxs)(`div`,{className:`admin-panel-header`,children:[(0,M.jsx)(`div`,{children:(0,M.jsx)(`h2`,{children:e(`admin.nodeStatus.title`)})}),(0,M.jsx)(g,{size:18})]}),(0,M.jsxs)(`div`,{className:`admin-status-grid`,children:[(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`span`,{children:e(`admin.nodeStatus.version`)}),(0,M.jsx)(`strong`,{translate:`no`,children:C?.version||`-`})]}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`span`,{children:e(`admin.nodeStatus.listen`)}),(0,M.jsx)(`strong`,{translate:`no`,children:C?`${C.host}:${C.port}`:`-`})]}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`span`,{children:e(`admin.nodeStatus.dataPath`)}),(0,M.jsx)(`strong`,{translate:`no`,children:C?.dataPath||`-`})]})]}),(0,M.jsx)(`div`,{className:`admin-address-list`,children:(C?.listen.addresses||[]).map(e=>(0,M.jsxs)(`span`,{translate:`no`,children:[e.label,`: `,e.ip,`:`,C?.port]},`${e.type}-${e.ip}`))})]}),(0,M.jsxs)(`div`,{className:`admin-panel admin-span-2`,children:[(0,M.jsxs)(`div`,{className:`admin-panel-header`,children:[(0,M.jsx)(`div`,{children:(0,M.jsx)(`h2`,{children:e(`admin.userData.title`)})}),(0,M.jsx)(T,{size:18})]}),(0,M.jsxs)(`div`,{className:`admin-table`,children:[(0,M.jsxs)(`div`,{className:`admin-table-row admin-table-head`,children:[(0,M.jsx)(`span`,{children:e(`admin.userData.user`)}),(0,M.jsx)(`span`,{children:e(`admin.userData.files`)}),(0,M.jsx)(`span`,{children:e(`admin.userData.trash`)}),(0,M.jsx)(`span`,{children:e(`admin.userData.actions`)})]}),U.map(t=>(0,M.jsxs)(`div`,{className:`admin-table-row`,children:[(0,M.jsx)(`span`,{title:t.address,translate:`no`,children:F(t.address)}),(0,M.jsx)(`span`,{children:n(t.fileCount)}),(0,M.jsx)(`span`,{children:n(t.trashCount)}),(0,M.jsx)(`span`,{children:(0,M.jsxs)(`button`,{className:`btn btn-ghost`,onClick:()=>Se(t.address),disabled:pe===t.address,children:[(0,M.jsx)(f,{size:16}),e(`admin.action.clear`)]})})]},t.address)),U.length===0&&(0,M.jsx)(`div`,{className:`admin-empty-row`,children:e(`admin.userData.empty`)})]})]}),(0,M.jsxs)(`div`,{className:`admin-panel admin-span-2`,children:[(0,M.jsxs)(`div`,{className:`admin-panel-header`,children:[(0,M.jsx)(`div`,{children:(0,M.jsx)(`h2`,{children:e(`admin.settings.title`)})}),(0,M.jsx)(T,{size:18})]}),(0,M.jsxs)(`div`,{className:`admin-settings-fields`,children:[(0,M.jsxs)(`label`,{className:`admin-field admin-field-wide`,children:[(0,M.jsx)(`span`,{children:e(`admin.settings.dataPath`)}),(0,M.jsx)(`input`,{className:`input`,value:G.dataPath,onChange:e=>K(t=>({...t,dataPath:e.target.value}))})]}),(0,M.jsxs)(`label`,{className:`admin-field`,children:[(0,M.jsx)(`span`,{children:e(`admin.settings.capacityGiB`)}),(0,M.jsx)(`input`,{className:`input`,type:`number`,min:`0`,step:`1`,value:G.capacityGiB,onChange:e=>K(t=>({...t,capacityGiB:e.target.value}))})]}),(0,M.jsxs)(`label`,{className:`admin-field`,children:[(0,M.jsx)(`span`,{children:e(`admin.settings.maxFileSizeGiB`)}),(0,M.jsx)(`input`,{className:`input`,type:`number`,min:`0`,step:`1`,value:G.maxFileSizeGiB,onChange:e=>K(t=>({...t,maxFileSizeGiB:e.target.value}))})]}),(0,M.jsxs)(`label`,{className:`admin-field admin-field-wide`,children:[(0,M.jsx)(`span`,{children:e(`admin.settings.remoteInvites`)}),(0,M.jsx)(`textarea`,{className:`input admin-textarea`,value:G.remoteInvites,placeholder:e(`admin.settings.remoteInvitesPlaceholder`),onChange:e=>K(t=>({...t,remoteInvites:e.target.value}))})]})]}),(0,M.jsx)(`p`,{className:`admin-field-hint`,children:e(`admin.settings.hint`)}),(0,M.jsxs)(`button`,{className:`btn btn-primary btn-full`,onClick:ve,disabled:I,children:[(0,M.jsx)(u,{size:16}),e(`admin.action.saveConfig`)]})]}),(0,M.jsxs)(`div`,{className:`admin-panel admin-span-2`,children:[(0,M.jsxs)(`div`,{className:`admin-panel-header`,children:[(0,M.jsx)(`div`,{children:(0,M.jsx)(`h2`,{children:e(`admin.holdings.title`)})}),(0,M.jsx)(c,{size:18})]}),(0,M.jsxs)(`div`,{className:`admin-capacity-row`,children:[(0,M.jsx)(`progress`,{value:me,max:`100`}),(0,M.jsxs)(`span`,{children:[w(C?.capacity.usedBytes||0),` /`,` `,w(C?.capacity.configuredBytes||0)]})]}),(0,M.jsx)(`div`,{className:`admin-seed-help`,"aria-label":e(`admin.seedHelp.label`),children:ce.map(t=>(0,M.jsxs)(`div`,{className:`admin-seed-help-item`,children:[(0,M.jsx)(`span`,{className:`admin-seed-dot ${t.tone}`}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`strong`,{children:e(t.labelKey)}),(0,M.jsx)(`span`,{children:e(t.descKey)})]})]},t.labelKey))}),ge>0&&(0,M.jsx)(`p`,{className:`admin-table-note`,children:e(`admin.holdings.hiddenCount`,{count:n(ge)})}),(0,M.jsxs)(`div`,{className:`admin-table`,children:[(0,M.jsxs)(`div`,{className:`admin-table-row admin-table-head`,children:[(0,M.jsx)(`span`,{children:e(`admin.holdings.file`)}),(0,M.jsx)(`span`,{children:`CID`}),(0,M.jsx)(`span`,{children:e(`admin.holdings.size`)}),(0,M.jsx)(`span`,{children:`Peer`}),(0,M.jsx)(`span`,{children:e(`admin.holdings.lastServed`)}),(0,M.jsx)(`span`,{children:e(`admin.holdings.status`)})]}),he.map(n=>(0,M.jsxs)(`div`,{className:`admin-table-row`,children:[(0,M.jsx)(`span`,{translate:`no`,children:n.fileName||`-`}),(0,M.jsx)(`span`,{title:n.cid,translate:`no`,children:F(n.cid)}),(0,M.jsx)(`span`,{children:w(n.size)}),(0,M.jsx)(`span`,{children:n.peerCount??0}),(0,M.jsx)(`span`,{title:n.lastServedAt||``,children:se(n.lastServedAt,e,t)}),(0,M.jsx)(`span`,{className:`admin-seed-pill ${n.seedStatus===`error`?`error`:n.seedStatus===`active`||n.joined?`active`:``}`,children:oe(n,e)})]},n.cid)),(!C||C.holdings.length===0)&&(0,M.jsx)(`div`,{className:`admin-empty-row`,children:e(`admin.holdings.empty`)})]})]}),(0,M.jsxs)(`div`,{className:`admin-panel admin-span-2`,children:[(0,M.jsxs)(`div`,{className:`admin-panel-header`,children:[(0,M.jsx)(`div`,{children:(0,M.jsx)(`h2`,{children:e(`admin.logs.title`)})}),(0,M.jsxs)(`div`,{className:`admin-panel-actions`,children:[(0,M.jsxs)(`button`,{className:`btn btn-secondary`,onClick:xe,disabled:B,children:[(0,M.jsx)(o,{size:16}),e(`admin.action.exportDiagnostics`)]}),(0,M.jsxs)(`button`,{className:`btn btn-ghost`,onClick:be,disabled:R||D.length===0,children:[(0,M.jsx)(f,{size:16}),e(`admin.action.clearLogs`)]}),(0,M.jsx)(s,{size:18})]})]}),(0,M.jsx)(`div`,{className:`admin-log-filter`,"aria-label":e(`admin.logs.filterLabel`),children:le.map(t=>(0,M.jsx)(`button`,{type:`button`,className:H===t.value?`active`:``,onClick:()=>{de(t.value),Q(t.value)},children:e(t.labelKey)},t.value))}),(0,M.jsxs)(`div`,{className:`admin-log-list`,children:[D.map(e=>(0,M.jsxs)(`div`,{className:`admin-log-row`,children:[(0,M.jsx)(`time`,{children:r(e.ts)}),(0,M.jsx)(`span`,{className:`admin-log-level ${e.level}`,translate:`no`,children:e.level}),(0,M.jsx)(`strong`,{translate:`no`,children:e.event}),(0,M.jsx)(`span`,{translate:`no`,children:e.message})]},e.id)),D.length===0&&(0,M.jsx)(`div`,{className:`admin-empty-row`,children:e(`admin.logs.empty`)})]})]})]})]})]})]})}var B=a(`/admin/`)({component:z});export{B as Route};
@@ -1 +0,0 @@
1
- import{g as e}from"./userStore-q0BBZsIV.js";var t=e(`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`}]]);export{t};
@@ -1 +0,0 @@
1
- import{g as e}from"./userStore-q0BBZsIV.js";var t=e(`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`}]]);export{t};
@@ -1 +0,0 @@
1
- import{g as e}from"./userStore-q0BBZsIV.js";var t=e(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),n=e(`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`}]]);export{t as n,n as t};
@@ -1 +0,0 @@
1
- import{g as e}from"./userStore-q0BBZsIV.js";var t=e(`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`}]]);export{t};
@@ -1 +0,0 @@
1
- import{n as e,o as t,t as n}from"./jsx-runtime-Bt-cYkS5.js";import{f as r,g as i,m as a}from"./userStore-q0BBZsIV.js";import{a as o}from"./LanguageToggle-HAJ3D6Ne.js";import{t as s}from"./copy-5aEv78Eq.js";import{R as c}from"./index--p9MKNEl.js";import{t as l}from"./dayjs.min-Dcc0B6Je.js";var u=i(`fingerprint-pattern`,[[`path`,{d:`M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4`,key:`1nerag`}],[`path`,{d:`M14 13.12c0 2.38 0 6.38-1 8.88`,key:`o46ks0`}],[`path`,{d:`M17.29 21.02c.12-.6.43-2.3.5-3.02`,key:`ptglia`}],[`path`,{d:`M2 12a10 10 0 0 1 18-6`,key:`ydlgp0`}],[`path`,{d:`M2 16h.01`,key:`1gqxmh`}],[`path`,{d:`M21.8 16c.2-2 .131-5.354 0-6`,key:`drycrb`}],[`path`,{d:`M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2`,key:`1tidbn`}],[`path`,{d:`M8.65 22c.21-.66.45-1.32.57-2`,key:`13wd9y`}],[`path`,{d:`M9 6.8a6 6 0 0 1 9 5.2v2`,key:`1fr1j5`}]]),d=i(`user`,[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`,key:`975kel`}],[`circle`,{cx:`12`,cy:`7`,r:`4`,key:`17ys0d`}]]),f=t(e(),1),p=n();function m({text:e,label:t,copiedLabel:n,className:r=`btn btn-icon`,iconSize:i=14}){let{t:a}=c(),[l,u]=(0,f.useState)(!1),d=n||a(`common.copied`),m=t||a(`common.copy`);async function h(){try{await navigator.clipboard.writeText(e),u(!0),setTimeout(()=>u(!1),1500)}catch{}}return(0,p.jsxs)(`button`,{type:`button`,className:r,onClick:h,title:l?d:m,children:[l?(0,p.jsx)(o,{size:i}):(0,p.jsx)(s,{size:i}),t?l?d:t:null]})}var h=t(r(),1);l();var g=`0123456789abcdefghijklmnopqrstuvwxyz`,_=e=>{let t=[];for(;e>=128;)t.push(e&127|128),e>>=7;return t.push(e),t},v=e=>{let t=new Uint8Array([8,1,18,..._(e.length)]),n=new Uint8Array(t.length+e.length);return n.set(t,0),n.set(e,t.length),n},y=(e,t)=>{if(e.length===0)return``;let n=t.length,r=0;for(;r<e.length&&e[r]===0;)r++;let i=[0];for(let t=r;t<e.length;t++){let r=e[t];for(let e=0;e<i.length;e++){let t=i[e]*256+r;i[e]=t%n,r=Math.floor(t/n)}for(;r>0;)i.push(r%n),r=Math.floor(r/n)}let a=``;for(let e=0;e<r;e++)a+=t[0];for(let e=i.length-1;e>=0;e--)a+=t[i[e]];return a},b=(e,t)=>{let n=t.slice(2),r=new Uint8Array(a(e+n));return h.default.sign.keyPair.fromSecretKey(r)},x=(e,t)=>{let n=v(b(e,t).publicKey),r=new Uint8Array(2+n.length);r[0]=0,r[1]=36,r.set(n,2);let i=new Uint8Array([1,114]),a=new Uint8Array(i.length+r.length);return a.set(i,0),a.set(r,i.length),`k`+y(a,g)};export{u as a,d as i,x as n,m as r,b as t};
@@ -1 +0,0 @@
1
- import{g as e}from"./userStore-q0BBZsIV.js";var t=e(`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`}]]);export{t};
@@ -1 +0,0 @@
1
- import{g as e}from"./userStore-q0BBZsIV.js";var t=e(`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`}]]);export{t};
@@ -1 +0,0 @@
1
- import{g as e}from"./userStore-q0BBZsIV.js";var t=e(`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`}]]);export{t};
@@ -1 +0,0 @@
1
- import{g as e}from"./userStore-q0BBZsIV.js";var t=e(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]);export{t};
@@ -1 +0,0 @@
1
- import{g as e}from"./userStore-q0BBZsIV.js";var t=e(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]);export{t};
@@ -1 +0,0 @@
1
- import{g as e}from"./userStore-q0BBZsIV.js";var t=e(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]);export{t};
@@ -1 +0,0 @@
1
- import{g as e}from"./userStore-q0BBZsIV.js";var t=e(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]);export{t};
@@ -1 +0,0 @@
1
- import{g as e}from"./userStore-q0BBZsIV.js";var t=e(`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`}]]);export{t};
@@ -1 +0,0 @@
1
- import{g as e}from"./userStore-q0BBZsIV.js";var t=e(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]);export{t};
@@ -1 +0,0 @@
1
- import{g as e}from"./userStore-q0BBZsIV.js";var t=e(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]);export{t};
@@ -1 +0,0 @@
1
- import{g as e}from"./userStore-q0BBZsIV.js";var t=e(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]);export{t};
@@ -1 +0,0 @@
1
- import{g as e}from"./userStore-q0BBZsIV.js";var t=e(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]);export{t};
@@ -1 +0,0 @@
1
- import{n as e,o as t,t as n}from"./jsx-runtime-Bt-cYkS5.js";import{b as r,g as i,t as a}from"./userStore-q0BBZsIV.js";import{F as o,R as s,k as c,m as l,v as u}from"./index--p9MKNEl.js";import{t as d}from"./SidebarAccount-8_hQAYXx.js";import{i as f,n as p,r as m,t as h}from"./userProfile-oeBvU6ch.js";import{t as g}from"./useChannelMessages-D_306Ymv.js";var _=i(`spade`,[[`path`,{d:`M12 18v4`,key:`jadmvz`}],[`path`,{d:`M2 14.499a5.5 5.5 0 0 0 9.591 3.675.6.6 0 0 1 .818.001A5.5 5.5 0 0 0 22 14.5c0-2.29-1.5-4-3-5.5l-5.492-5.312a2 2 0 0 0-3-.02L5 8.999c-1.5 1.5-3 3.2-3 5.5`,key:`1aw2pz`}]]),v=i(`swords`,[[`polyline`,{points:`14.5 17.5 3 6 3 3 6 3 17.5 14.5`,key:`1hfsw2`}],[`line`,{x1:`13`,x2:`19`,y1:`19`,y2:`13`,key:`1vrmhu`}],[`line`,{x1:`16`,x2:`20`,y1:`16`,y2:`20`,key:`1bron3`}],[`line`,{x1:`19`,x2:`21`,y1:`21`,y2:`19`,key:`13pww6`}],[`polyline`,{points:`14.5 6.5 18 3 21 3 21 6 17.5 9.5`,key:`hbey2j`}],[`line`,{x1:`5`,x2:`9`,y1:`14`,y2:`18`,key:`1hf58s`}],[`line`,{x1:`7`,x2:`4`,y1:`17`,y2:`20`,key:`pidxm4`}],[`line`,{x1:`3`,x2:`5`,y1:`19`,y2:`21`,key:`1pehsh`}]]),y=n(),b=[{id:`gandengyan`,labelKey:`game.gandengyan.title`,href:`/game/gandengyan/`,icon:(0,y.jsx)(v,{size:16})},{id:`zhajinhua`,labelKey:`game.zhajinhua.title`,href:`/game/zhajinhua/`,icon:(0,y.jsx)(_,{size:16})}];function x({activeGame:e,closeSidebar:t}){let{t:n}=s();return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsxs)(`button`,{type:`button`,className:`sidebar-header sidebar-header-link`,onClick:c(),children:[(0,y.jsx)(o,{size:18}),(0,y.jsx)(`h1`,{children:`MOST PEOPLE`})]}),(0,y.jsx)(`nav`,{className:`sidebar-nav`,children:b.map(i=>(0,y.jsxs)(r,{to:i.href,className:`sidebar-nav-btn ${e===i.id?`active`:``}`,onClick:t,children:[i.icon,(0,y.jsx)(`span`,{children:n(i.labelKey)})]},i.id))}),(0,y.jsx)(d,{})]})}var S=t(e(),1),C=`game`,w=`mostbox.game.event`,T=[`gandengyan`,`zhajinhua`],E=`ABCDEFGHJKLMNPQRSTUVWXYZ23456789`;function D(e){let t=String(e||``).trim().toLowerCase();return T.includes(t)?t:``}function O(e){return String(e||``).trim().toUpperCase().replace(/[^A-Z0-9]/g,``).slice(0,8)}function k(e){return/^[A-Z0-9]{4,8}$/.test(String(e||``))}function A(){let e=``;for(let t=0;t<6;t++)e+=E[V(32)];return e}function j(e,t){let n=D(e),r=O(t);return!n||!k(r)?``:`game.${n}.${r.toLowerCase()}`}function M({gameId:e,roomCode:t,event:n,payload:r}){let i=D(e);return{kind:w,version:1,gameId:i,roomCode:O(t),event:String(n||``),eventId:B(i||`game`),payload:r||{}}}function N(e,t={}){try{let n=JSON.parse(String(e||``));if(!n||n.kind!==`mostbox.game.event`||n.version!==1||typeof n.event!=`string`||typeof n.eventId!=`string`)return null;let r=D(n.gameId),i=O(n.roomCode);return!r||!k(i)||t.gameId&&r!==D(t.gameId)||t.roomCode&&i!==O(t.roomCode)?null:{...n,gameId:r,roomCode:i,payload:n.payload&&typeof n.payload==`object`?n.payload:{}}}catch{return null}}function P(e=[],t={}){let n=[],r=new Map,i=``;for(let a of z(e)){let e=N(a.content,t);if(e){if(e.event===`room:create`){let t=I(e.payload?.player,a);if(!t)continue;i||=t.address,R(n,r,t);continue}if(e.event===`player:join`){let t=I(e.payload?.player,a);t&&R(n,r,t);continue}if(e.event===`player:leave`){let t=L(e.payload?.player?.address||a.author);if(t){let e=n.findIndex(e=>e.address===t);e!==-1&&(n.splice(e,1),r.delete(t))}}}}return{gameId:D(t.gameId),roomCode:O(t.roomCode),hostAddress:i,players:n}}function F(e=[],t={}){let n=null;for(let r of z(e)){let e=N(r.content,t);if(!e||e.event!==`room:state`)continue;let i=Number(e.payload?.seq||0);(!n||i>=Number(n.payload?.seq||0))&&(n=e)}return n}function I(e,t){if(!e||typeof e!=`object`)return null;let n=t&&typeof t==`object`?t:{author:t},r=n.author,i=L(e.address||r);if(!i||L(r)!==i)return null;let a=String(n.authorName||e.name||``).trim().slice(0,50)||U(i),o=String(n.avatar||e.avatar||``).trim(),s={address:i,name:a,publicKey:String(e.publicKey||``).trim(),joinedAt:Number(e.joinedAt||Date.now())};return o&&(s.avatar=o.slice(0,4096)),s}function L(e){let t=String(e||``).trim();return/^0x[a-fA-F0-9]{40}$/.test(t)?t.toLowerCase():``}function R(e,t,n){let r=t.get(n.address);if(r){Object.assign(r,n);return}e.push(n),t.set(n.address,n)}function z(e){return[...e].sort((e,t)=>Number(e.timestamp||0)-Number(t.timestamp||0))}function B(e){return`${e}_${Date.now()}_${H(4)}`}function V(e){if(globalThis.crypto?.getRandomValues){let t=new Uint32Array(1);return globalThis.crypto.getRandomValues(t),t[0]%e}return Math.floor(Math.random()*e)}function H(e){let t=new Uint8Array(e);if(globalThis.crypto?.getRandomValues)globalThis.crypto.getRandomValues(t);else for(let e=0;e<t.length;e++)t[e]=Math.floor(Math.random()*256);return[...t].map(e=>e.toString(16).padStart(2,`0`)).join(``)}function U(e){return e?`${e.slice(0,6)}...${e.slice(-4)}`:``}function W({gameId:e,onError:t,getPlayerPayload:n}){let{t:r}=s(),i=l(e=>e.hasBackend),o=l(e=>e.checkBackend),c=l(e=>e.openConnectModal),d=a(e=>e.identity),p=a(e=>e.openLoginModal),[m,_]=(0,S.useState)(``),[v,y]=(0,S.useState)(``),[b,x]=(0,S.useState)(!1),w=i===!0,T=(0,S.useCallback)(async(e,n)=>{let r=await u(e,n);t&&t(r)},[t]),E=(0,S.useCallback)(t=>!!N(t.content,{gameId:e,roomCode:m}),[e,m]),D=(0,S.useCallback)(t=>{let n=N(t.content,{gameId:e,roomCode:m});return n?`${t.author}-${n.eventId}`:`${t.author}-${t.timestamp}-${t.content}`},[e,m]),{clearMessages:k,connected:P,messages:F,sendMessage:I,syncMessages:L}=g({isReady:w,enabled:!!d,channelName:v,limit:500,acceptMessage:E,getMessageKey:D,onSyncError:e=>T(e,r(`game.room.error.readLog`))}),R=(0,S.useMemo)(()=>F.map(t=>({message:t,event:N(t.content,{gameId:e,roomCode:m})})).filter(e=>e.event),[e,F,m]),z=(0,S.useCallback)(()=>d?w?!0:(c(),!1):(p(),!1),[w,c,p,d]);(0,S.useEffect)(()=>{i===null&&o()},[o,i]);let B=(0,S.useCallback)(async(i,a=!1)=>{if(!z()||!d)return!1;let o=a?A():O(i),s=j(e,o);if(!s)return t&&t(r(`game.room.error.invalidCode`)),!1;x(!0);try{let t=await f.createChannel(s,C,h(d)),r=t.channelKey||t.key||s;return await G(r,d,e,o,a?`room:create`:`player:join`,{player:q(d,n?.(d))}),_(o),y(r),k(),!0}catch(e){return await T(e,r(a?`game.room.error.createFailed`:`game.room.error.joinFailed`)),!1}finally{x(!1)}},[z,e,n,t,T,k,r,d]);return{channelName:v,connected:P,createRoom:(0,S.useCallback)(()=>B(``,!0),[B]),ensureReady:z,isBackendReady:w,joinRoom:(0,S.useCallback)(e=>B(e),[B]),joining:b,messages:F,roomCode:m,roomEvents:R,sendRoomEvent:(0,S.useCallback)(async(t,n={})=>{if(!z()||!d||!v||!m)return!1;let i=M({gameId:e,roomCode:m,event:t,payload:n}),a=JSON.stringify(i);try{return await I({channelName:v,content:a,optimisticId:`${d.address}-${i.eventId}`}),!0}catch(e){return await T(e,r(`game.room.error.sendEventFailed`)),!1}},[v,z,e,T,m,I,r,d]),setRoomCode:_,syncMessages:L,userIdentity:d}}async function G(e,t,n,r,i,a){let o=M({gameId:n,roomCode:r,event:i,payload:a});await f.sendChannelMessage({channelName:e,content:JSON.stringify(o),...m(t)})}function K(e){return{address:e.address,name:p(e),avatar:e.avatar||``,publicKey:``,joinedAt:Date.now()}}function q(e,t={}){let n=K(e),r={...n,...t};return Object.prototype.hasOwnProperty.call(t,`avatar`)||(r.avatar=n.avatar),r}export{_ as a,x as i,P as n,F as r,W as t};
@@ -1 +0,0 @@
1
- import{h as e,x as t}from"./index--p9MKNEl.js";var n={getChannels(t={}){let n=new URLSearchParams;t.type&&n.set(`type`,t.type);let r=n.toString();return e.get(r?`/api/channels?${r}`:`/api/channels`).json()},createChannel(t,n=`personal`,r={}){return e.post(`/api/channels`,{json:{name:t,type:n,...r}}).json()},leaveChannel(t){return e.delete(`/api/channels`,{json:{channelKey:t}}).json()},getChannelMessages(t,n=100,r=0){return e.get(`/api/channels/${encodeURIComponent(t)}/messages?limit=${n}&offset=${r}`).json()},sendChannelMessage({channelName:t,content:n,author:r,authorName:i,avatar:a,attachment:o}){return e.post(`/api/channels/${encodeURIComponent(t)}/messages`,{json:o?{content:n,author:r,authorName:i,avatar:a,attachment:o}:{content:n,author:r,authorName:i,avatar:a}}).json()},getChannelMembers(t){return e.get(`/api/channels/${encodeURIComponent(t)}/members`).json()},getChannelPeers(t){return e.get(`/api/channels/${encodeURIComponent(t)}/peers`).json()},setChannelRemark(t,n){return e.put(`/api/channels/${encodeURIComponent(t)}/remark`,{json:{remark:n}}).json()},setChannelPinned(t,n){return e.put(`/api/channels/${encodeURIComponent(t)}/pin`,{json:{pinned:n}}).json()},getFileDownloadUrl(e){return t(`/api/files/${e}/download`)}};function r(e){return e.displayName||e.username}function i(e){return{displayName:r(e),avatar:e.avatar||``}}function a(e){return{author:e.address,authorName:r(e),avatar:e.avatar||``}}export{n as i,r as n,a as r,i as t};