most-box 0.3.0 → 0.3.1

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 (131) hide show
  1. package/README.md +41 -21
  2. package/electron/main.js +18 -1
  3. package/electron/preload.cjs +8 -0
  4. package/out/admin/index.html +0 -0
  5. package/out/app/index.html +0 -0
  6. package/out/assets/AccountMenu-NjOgag0d.js +1 -0
  7. package/out/assets/FilePreviewOverlay-CZp6F1s_.js +1 -0
  8. package/out/assets/MarketingHeader-7B-OT2XX.js +1 -0
  9. package/out/assets/MarketingLayout-CyiSCygk.js +1 -0
  10. package/out/assets/{MilkdownEditor-BTq9bDAf.js → MilkdownEditor-WedhCoFH.js} +1 -1
  11. package/out/assets/OpenSidebarButton-BoSmO8CY.js +1 -0
  12. package/out/assets/SidebarHomeLink-CkhGDvZ8.js +1 -0
  13. package/out/assets/arrow-right-DUxAoZqb.js +1 -0
  14. package/out/assets/{ui-BpDGD3IR.js → avatar-BZwHW4ll.js} +2 -2
  15. package/out/assets/circle-alert-DSZ0bG_3.js +1 -0
  16. package/out/assets/copy-CK7HMulu.js +1 -0
  17. package/out/assets/download-Q1uCiwif.js +1 -0
  18. package/out/assets/downloadValidation-Ch966YTl.js +1 -0
  19. package/out/assets/external-link-DGzNJOqQ.js +1 -0
  20. package/out/assets/file-text-C3v0L_lQ.js +1 -0
  21. package/out/assets/folder-CwtLO09O.js +1 -0
  22. package/out/assets/hard-drive-B2V5USzR.js +1 -0
  23. package/out/assets/i18n-DZaOYCSO.js +1 -0
  24. package/out/assets/index-CBkHUp3F.css +1 -0
  25. package/out/assets/index-DluhgSHX.js +31 -0
  26. package/out/assets/index.lazy-B5TYRvFJ.js +1 -0
  27. package/out/assets/index.lazy-BeDctVci.js +1 -0
  28. package/out/assets/index.lazy-BjmAkVtV.js +1 -0
  29. package/out/assets/index.lazy-CHJbzlK6.js +1 -0
  30. package/out/assets/index.lazy-CITrkWMQ.js +1 -0
  31. package/out/assets/index.lazy-CTGE5fUt.js +2 -0
  32. package/out/assets/index.lazy-CUxcXUMy.js +2 -0
  33. package/out/assets/index.lazy-D84xQtPb.js +3 -0
  34. package/out/assets/index.lazy-DRqAgqpV.js +1 -0
  35. package/out/assets/index.lazy-DSAmY1q_.js +1 -0
  36. package/out/assets/index.lazy-DvbVQRSL.js +1 -0
  37. package/out/assets/index.lazy-gAJi-rJV.js +1 -0
  38. package/out/assets/index.lazy-rzyMd-Gz.js +1 -0
  39. package/out/assets/key-round-Dn5tud-4.js +1 -0
  40. package/out/assets/loader-CLoDCtNy.js +1 -0
  41. package/out/assets/lock-BEWKuIqK.js +1 -0
  42. package/out/assets/message-square-C8ZiYztG.js +1 -0
  43. package/out/assets/mp-CGBtY36n.js +1 -0
  44. package/out/assets/music-BsTA8b_M.js +1 -0
  45. package/out/assets/notebook-pen-DgWzxf2y.js +1 -0
  46. package/out/assets/play-CVkbAJJU.js +1 -0
  47. package/out/assets/plus-D1kCYb8G.js +1 -0
  48. package/out/assets/save-X5c7jlCg.js +1 -0
  49. package/out/assets/search-DAV9vDOq.js +1 -0
  50. package/out/assets/send-C5JjYo-A.js +1 -0
  51. package/out/assets/shield-check-DuD6OLde.js +1 -0
  52. package/out/assets/smartphone-gVFruyjO.js +1 -0
  53. package/out/assets/trash-2-CE-3Dc63.js +1 -0
  54. package/out/assets/triangle-alert-DnOxsFpB.js +1 -0
  55. package/out/assets/upload-CsnBv3pd.js +1 -0
  56. package/out/assets/{useChannelMessages-DOaWHdAP.js → useChannelMessages-Bs_RWgO4.js} +1 -1
  57. package/out/assets/useGameRoom-BxDxm3rp.js +1 -0
  58. package/out/assets/userProfile-UphvP_bG.js +1 -0
  59. package/out/assets/wallet-VDaoXwjI.js +1 -0
  60. package/out/assets/wifi-DfWbmlGE.js +1 -0
  61. package/out/chat/index.html +0 -0
  62. package/out/chat/join/index.html +0 -0
  63. package/out/download/index.html +2 -2
  64. package/out/game/gandengyan/index.html +0 -0
  65. package/out/game/index.html +0 -0
  66. package/out/game/zhajinhua/index.html +0 -0
  67. package/out/index.html +2 -2
  68. package/out/note/index.html +0 -0
  69. package/out/ping/index.html +2 -2
  70. package/out/profile/index.html +0 -0
  71. package/out/web3/index.html +0 -0
  72. package/package.json +2 -5
  73. package/server/src/http/app.js +2 -0
  74. package/server/src/http/routePolicy.js +1 -0
  75. package/server/src/http/routes/noteVaultRoutes.js +85 -0
  76. package/server/src/utils/noteVault.js +327 -0
  77. package/electron/preload.js +0 -6
  78. package/out/assets/FilePreviewOverlay-CM5IqnZD.js +0 -1
  79. package/out/assets/LanguageToggle-CSQtRZ3A.js +0 -1
  80. package/out/assets/MarketingHeader-B45AaM29.js +0 -1
  81. package/out/assets/MarketingLayout-A00pEOa2.js +0 -1
  82. package/out/assets/MarketingThemeToggle-CIKP8x9W.js +0 -1
  83. package/out/assets/OpenSidebarButton-D8qfUGzU.js +0 -1
  84. package/out/assets/SidebarAccount-_RBE5K_o.js +0 -1
  85. package/out/assets/SidebarHomeLink-qMFEGjZt.js +0 -1
  86. package/out/assets/arrow-right-BU9c_SL4.js +0 -1
  87. package/out/assets/circle-alert-iuHzciph.js +0 -1
  88. package/out/assets/copy-DEzFUzeX.js +0 -1
  89. package/out/assets/download-jEPn2njL.js +0 -1
  90. package/out/assets/downloadValidation-CSXwoQKW.js +0 -1
  91. package/out/assets/external-link-BFaoZeK0.js +0 -1
  92. package/out/assets/file-text-DPA1riJ_.js +0 -1
  93. package/out/assets/folder-Cfgc70_F.js +0 -1
  94. package/out/assets/hard-drive-Dar_AZEq.js +0 -1
  95. package/out/assets/i18n-NjvOSuV6.js +0 -1
  96. package/out/assets/index-BHZhApbo.css +0 -1
  97. package/out/assets/index-C-_ZwxuN.js +0 -31
  98. package/out/assets/index.lazy-0YYV0CR3.js +0 -1
  99. package/out/assets/index.lazy-BTYGr9Vb.js +0 -1
  100. package/out/assets/index.lazy-BVAtQtTa.js +0 -3
  101. package/out/assets/index.lazy-BbdLA2L-.js +0 -1
  102. package/out/assets/index.lazy-CbiLtziY.js +0 -1
  103. package/out/assets/index.lazy-CcEdBg3i.js +0 -2
  104. package/out/assets/index.lazy-CePHsLXG.js +0 -1
  105. package/out/assets/index.lazy-DG_3_VdF.js +0 -1
  106. package/out/assets/index.lazy-DR0rWEWZ.js +0 -2
  107. package/out/assets/index.lazy-DSyTSCJD.js +0 -1
  108. package/out/assets/index.lazy-DUhsuPLv.js +0 -1
  109. package/out/assets/index.lazy-DVnhWbzH.js +0 -1
  110. package/out/assets/index.lazy-DZpkg1DJ.js +0 -1
  111. package/out/assets/key-round-DNcpSuMw.js +0 -1
  112. package/out/assets/loader-BXQtdens.js +0 -1
  113. package/out/assets/lock-CLIE8cct.js +0 -1
  114. package/out/assets/message-square-Dp09WY1I.js +0 -1
  115. package/out/assets/mp-B6kdA94c.js +0 -1
  116. package/out/assets/music-B19Tg557.js +0 -1
  117. package/out/assets/notebook-pen-C8TlK5sB.js +0 -1
  118. package/out/assets/play-B-BjsTZz.js +0 -1
  119. package/out/assets/plus-4hygj-1Z.js +0 -1
  120. package/out/assets/save-BjrbPwhJ.js +0 -1
  121. package/out/assets/search-DSkiWdvX.js +0 -1
  122. package/out/assets/send-BL4d5iOt.js +0 -1
  123. package/out/assets/shield-check-DzDuWO8r.js +0 -1
  124. package/out/assets/smartphone-tRRFFO0a.js +0 -1
  125. package/out/assets/trash-2-V12tJ8lI.js +0 -1
  126. package/out/assets/triangle-alert-DGWc8ZHu.js +0 -1
  127. package/out/assets/upload-CoCptKya.js +0 -1
  128. package/out/assets/useGameRoom-hHkV65ii.js +0 -1
  129. package/out/assets/userProfile-DwZip0Dt.js +0 -1
  130. package/out/assets/wallet-T7ONZ3Kg.js +0 -1
  131. package/out/assets/wifi-Bgo8eHY0.js +0 -1
@@ -1 +0,0 @@
1
- import{n as e,o as t,t as n}from"./jsx-runtime-Bt-cYkS5.js";import{C as r,D as i,T as a,o}from"./ui-BpDGD3IR.js";import{a as s}from"./i18n-NjvOSuV6.js";import{t as c}from"./arrow-right-BU9c_SL4.js";import{i as l}from"./LanguageToggle-CSQtRZ3A.js";import{t as u}from"./download-jEPn2njL.js";import{t as d}from"./external-link-BFaoZeK0.js";import{t as f}from"./hard-drive-Dar_AZEq.js";import{t as p}from"./message-square-Dp09WY1I.js";import{t as m}from"./notebook-pen-C8TlK5sB.js";import{t as h}from"./wallet-T7ONZ3Kg.js";import{M as g,c as _}from"./index-C-_ZwxuN.js";import{t as v}from"./MarketingLayout-A00pEOa2.js";var y=r(`arrow-up-right`,[[`path`,{d:`M7 7h10v10`,key:`1tivn9`}],[`path`,{d:`M7 17 17 7`,key:`1vkiza`}]]),b=r(`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`}]]),x=r(`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`}]]),S=t(e(),1),C=n(),w=[{id:`app`,titleKey:`portal.feature.app.title`,subtitleKey:`portal.feature.app.subtitle`,icon:(0,C.jsx)(b,{size:28}),path:`/app/`,requiresBackend:!0,heroKey:`portal.feature.app.hero`,descKey:`portal.feature.app.desc`,featureKeys:[`portal.feature.app.bullet.localIdentity`,`portal.feature.app.bullet.hyperswarm`,`portal.feature.app.bullet.largeFiles`,`portal.feature.app.bullet.cid`,`portal.feature.app.bullet.seedAfterDownload`,`portal.feature.app.bullet.noCloud`,`portal.feature.app.bullet.desktop`,`portal.feature.app.bullet.openSource`],steps:[{num:`1`,titleKey:`portal.feature.app.step.download.title`,descKey:`portal.feature.app.step.download.desc`,link:`/download/`,linkTextKey:`portal.feature.app.step.download.link`,hideInDesktopClient:!0},{num:`2`,titleKey:`portal.feature.app.step.install.title`,descKey:`portal.feature.app.step.install.desc`,hideInDesktopClient:!0},{num:`3`,titleKey:`portal.feature.app.step.share.title`,descKey:`portal.feature.app.step.share.desc`}]},{id:`chat`,titleKey:`portal.feature.chat.title`,subtitleKey:`portal.feature.chat.subtitle`,icon:(0,C.jsx)(p,{size:28}),path:`/chat/`,requiresBackend:!0,heroKey:`portal.feature.chat.hero`,descKey:`portal.feature.chat.desc`,featureKeys:[`portal.feature.chat.bullet.encrypted`,`portal.feature.chat.bullet.identity`,`portal.feature.chat.bullet.sync`,`portal.feature.chat.bullet.offline`,`portal.feature.chat.bullet.noAccount`],steps:[{num:`1`,titleKey:`portal.feature.chat.step.download.title`,descKey:`portal.feature.chat.step.download.desc`,link:`/download/`,linkTextKey:`portal.feature.chat.step.download.link`,hideInDesktopClient:!0},{num:`2`,titleKey:`portal.feature.chat.step.create.title`,descKey:`portal.feature.chat.step.create.desc`},{num:`3`,titleKey:`portal.feature.chat.step.send.title`,descKey:`portal.feature.chat.step.send.desc`}]},{id:`note`,titleKey:`portal.feature.note.title`,subtitleKey:`portal.feature.note.subtitle`,icon:(0,C.jsx)(m,{size:28}),path:`/note/`,requiresBackend:!1,heroKey:`portal.feature.note.hero`,descKey:`portal.feature.note.desc`,featureKeys:[`portal.feature.note.bullet.markdown`,`portal.feature.note.bullet.privacy`,`portal.feature.note.bullet.folders`,`portal.feature.note.bullet.web3`,`portal.feature.note.bullet.backup`,`portal.feature.note.bullet.independent`],steps:[{num:`1`,titleKey:`portal.feature.note.step.account.title`,descKey:`portal.feature.note.step.account.desc`},{num:`2`,titleKey:`portal.feature.note.step.create.title`,descKey:`portal.feature.note.step.create.desc`},{num:`3`,titleKey:`portal.feature.note.step.backup.title`,descKey:`portal.feature.note.step.backup.desc`}]},{id:`gandengyan`,titleKey:`portal.feature.game.title`,subtitleKey:`portal.feature.game.subtitle`,icon:(0,C.jsx)(x,{size:28}),path:`/game/gandengyan/`,requiresBackend:!0,heroKey:`portal.feature.game.hero`,descKey:`portal.feature.game.desc`,featureKeys:[`portal.feature.game.bullet.account`,`portal.feature.game.bullet.channel`,`portal.feature.game.bullet.link`,`portal.feature.game.bullet.rules`,`portal.feature.game.bullet.maintain`],steps:[{num:`1`,titleKey:`portal.feature.game.step.login.title`,descKey:`portal.feature.game.step.login.desc`},{num:`2`,titleKey:`portal.feature.game.step.create.title`,descKey:`portal.feature.game.step.create.desc`},{num:`3`,titleKey:`portal.feature.game.step.test.title`,descKey:`portal.feature.game.step.test.desc`}]},{id:`web3`,titleKey:`portal.feature.web3.title`,subtitleKey:`portal.feature.web3.subtitle`,icon:(0,C.jsx)(h,{size:28}),path:`/web3/`,requiresBackend:!1,heroKey:`portal.feature.web3.hero`,descKey:`portal.feature.web3.desc`,featureKeys:[`portal.feature.web3.bullet.frontend`,`portal.feature.web3.bullet.keys`,`portal.feature.web3.bullet.mnemonic`,`portal.feature.web3.bullet.eth`,`portal.feature.web3.bullet.pem`,`portal.feature.web3.bullet.qr`],steps:[{num:`1`,titleKey:`portal.feature.web3.step.username.title`,descKey:`portal.feature.web3.step.username.desc`},{num:`2`,titleKey:`portal.feature.web3.step.keys.title`,descKey:`portal.feature.web3.step.keys.desc`},{num:`3`,titleKey:`portal.feature.web3.step.export.title`,descKey:`portal.feature.web3.step.export.desc`}]}];function T(){let e=_(e=>e.hasBackend),t=_(e=>e.openConnectModal),[n,r]=(0,S.useState)(`app`),{t:a}=s(),p=o(),m=w.find(e=>e.id===n)||w[0],h=a(m.titleKey),v=m.steps.filter(e=>!(p&&e.hideInDesktopClient));return(0,C.jsxs)(`div`,{className:`portal-page`,children:[(0,C.jsx)(`section`,{className:`portal-hero`,children:(0,C.jsxs)(`div`,{className:`mkt-container`,children:[(0,C.jsx)(`h1`,{className:`portal-hero-title`,children:a(`common.brand`)}),(0,C.jsx)(`p`,{className:`portal-hero-subtitle`,children:a(`portal.hero.subtitle`)})]})}),(0,C.jsx)(`section`,{className:`portal-cards-section`,children:(0,C.jsxs)(`div`,{className:`mkt-container`,children:[(0,C.jsx)(`div`,{className:`portal-cards`,children:w.map(t=>{let o=n===t.id,s=t.requiresBackend,c=s?e===!0?`connected`:e===!1?`disconnected`:`checking`:`none`,l=a(t.titleKey);return(0,C.jsxs)(`button`,{className:`portal-card ${o?`active`:``}`,onClick:()=>r(t.id),children:[(0,C.jsx)(i,{to:t.path,className:`btn btn-icon portal-card-open-btn`,onClick:e=>e.stopPropagation(),title:a(`portal.openFeature`,{title:l}),children:(0,C.jsx)(y,{size:16})}),(0,C.jsx)(`div`,{className:`portal-card-icon`,children:t.icon}),(0,C.jsx)(`div`,{className:`portal-card-title`,children:l}),(0,C.jsx)(`div`,{className:`portal-card-subtitle`,children:a(t.subtitleKey)}),s?(0,C.jsxs)(`div`,{className:`ui-badge portal-card-status ${c}`,children:[c===`checking`&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(`span`,{className:`status-dot checking`}),a(`common.status.checking`)]}),c===`connected`&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(`span`,{className:`status-dot connected`}),a(`common.status.connected`)]}),c===`disconnected`&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(`span`,{className:`status-dot disconnected`}),a(`common.status.needsConnection`)]})]}):(0,C.jsxs)(`div`,{className:`ui-badge portal-card-status ready`,children:[(0,C.jsx)(`span`,{className:`status-dot ready`}),a(`common.status.ready`)]})]},t.id)})}),(0,C.jsxs)(`div`,{className:`portal-node-actions`,"aria-label":a(`portal.nodeEntry`),children:[(0,C.jsxs)(`button`,{onClick:t,className:`btn btn-secondary`,children:[(0,C.jsx)(g,{size:16}),a(`portal.webConnectNode`)]}),(0,C.jsxs)(i,{to:`/admin/`,className:`btn btn-secondary`,children:[(0,C.jsx)(f,{size:16}),a(`portal.nodeAdmin`)]})]})]})}),(0,C.jsx)(`section`,{className:`portal-marketing`,children:(0,C.jsx)(`div`,{className:`mkt-container`,children:(0,C.jsxs)(`div`,{className:`portal-marketing-inner`,children:[(0,C.jsxs)(`div`,{className:`portal-marketing-header`,children:[(0,C.jsx)(`h2`,{children:a(m.heroKey)}),(0,C.jsx)(`p`,{children:a(m.descKey)})]}),(0,C.jsx)(`div`,{className:`portal-marketing-features`,children:m.featureKeys.map(e=>(0,C.jsxs)(`div`,{className:`portal-feature-item`,children:[(0,C.jsx)(`span`,{className:`portal-feature-icon`,children:(0,C.jsx)(l,{size:14,strokeWidth:3})}),(0,C.jsx)(`span`,{children:a(e)})]},e))}),(0,C.jsx)(`div`,{className:`portal-marketing-steps`,children:v.map((e,t)=>(0,C.jsxs)(`div`,{className:`portal-step`,children:[(0,C.jsx)(`span`,{className:`portal-step-num`,children:t+1}),(0,C.jsxs)(`div`,{className:`portal-step-content`,children:[(0,C.jsx)(`strong`,{children:a(e.titleKey)}),(0,C.jsx)(`p`,{children:a(e.descKey)}),e.code&&(0,C.jsx)(`code`,{className:`portal-step-code`,translate:`no`,children:e.code}),e.link&&e.linkTextKey&&(0,C.jsx)(`p`,{className:`portal-step-link`,children:(0,C.jsxs)(i,{to:e.link,children:[a(e.linkTextKey),` `,(0,C.jsx)(d,{size:12})]})})]})]},e.num))}),(0,C.jsxs)(`div`,{className:`portal-actions`,children:[(0,C.jsxs)(i,{to:m.path,className:`btn btn-primary`,children:[a(`portal.enterFeature`,{title:h}),(0,C.jsx)(c,{size:16})]}),m.requiresBackend&&e===!1&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)(`button`,{onClick:t,className:`btn btn-secondary`,children:[(0,C.jsx)(g,{size:16}),a(`portal.webConnectNode`)]}),!p&&(0,C.jsxs)(i,{to:`/download/`,className:`btn btn-secondary`,children:[(0,C.jsx)(u,{size:16}),a(`nav.downloadClient`)]})]})]})]})})})]})}function E(){return(0,C.jsx)(v,{children:(0,C.jsx)(T,{})})}var D=a(`/`)({component:E});export{D as Route};
@@ -1 +0,0 @@
1
- import{n as e,o as t,t as n}from"./jsx-runtime-Bt-cYkS5.js";import{C as r,D as i,T as a,l as o,r as s,s as c}from"./ui-BpDGD3IR.js";import{a as l}from"./i18n-NjvOSuV6.js";import{i as u}from"./LanguageToggle-CSQtRZ3A.js";import{t as ee}from"./download-jEPn2njL.js";import{t as d}from"./external-link-BFaoZeK0.js";import{a as f,i as p,n as m,r as h}from"./mp-B6kdA94c.js";import{t as g}from"./key-round-DNcpSuMw.js";import{t as _}from"./loader-BXQtdens.js";import{t as v}from"./save-BjrbPwhJ.js";import{t as te}from"./shield-check-DzDuWO8r.js";import{t as ne}from"./upload-CoCptKya.js";import{a as y,c as b,f as x,i as S,l as C,n as w,o as T,r as E,s as D}from"./index-C-_ZwxuN.js";import{t as O}from"./MarketingHeader-B45AaM29.js";import{t as k}from"./MarketingLayout-A00pEOa2.js";var re=r(`cloud-download`,[[`path`,{d:`M12 13v8l-4-4`,key:`1f5nwf`}],[`path`,{d:`m12 21 4-4`,key:`1lfcce`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`,key:`ui1hmy`}]]),ie=r(`cloud-upload`,[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`,key:`1pljnt`}],[`path`,{d:`m8 17 4-4 4 4`,key:`1quai1`}]]),ae=r(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),oe=r(`wallet-cards`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 9a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2`,key:`4125el`}],[`path`,{d:`M3 11h3c.8 0 1.6.3 2.1.9l1.1.9c1.6 1.6 4.1 1.6 5.7 0l1.1-.9c.5-.5 1.3-.9 2.1-.9H21`,key:`1dpki6`}]]),A=t(e(),1),j=n(),se=[{value:``,labelKey:`profile.avatar.address`},...E.map(e=>({value:y(e),labelKey:`profile.avatar.${e}`}))];function ce(e){if(T(e))return!0;try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function M(){let{t:e}=l(),t=b(e=>e.addToast),n=b(e=>e.hasBackend),r=c(e=>e.identity),a=c(e=>e.openLoginModal),y=c(e=>e.setUserIdentity),T=c(e=>e.logoutUser),E=w(),[M,F]=(0,A.useState)(``),[I,L]=(0,A.useState)(``),[R,z]=(0,A.useState)(``),[B,V]=(0,A.useState)(null),[H,U]=(0,A.useState)(!1),W=(0,j.jsx)(O,{});(0,A.useEffect)(()=>{if(!r){F(``),L(``),z(``);return}F(r.displayName||r.username),L(D(r.avatar)||r.avatar||``),z(``)},[r]);let G=(0,A.useMemo)(()=>r?o(r.danger):null,[r]),le=(0,A.useMemo)(()=>G?m(G.private_key,G.ed_public_key):``,[G]);if(!r)return(0,j.jsx)(k,{header:W,children:(0,j.jsx)(`section`,{className:`profile-page`,children:(0,j.jsx)(`div`,{className:`profile-container narrow`,children:(0,j.jsxs)(`div`,{className:`profile-empty glass`,children:[(0,j.jsx)(`div`,{className:`profile-empty-icon`,children:(0,j.jsx)(p,{size:34})}),(0,j.jsx)(`h1`,{children:e(`profile.signedOut.title`)}),(0,j.jsx)(`p`,{children:e(`profile.signedOut.desc`)}),(0,j.jsxs)(`button`,{type:`button`,className:`btn btn-primary`,onClick:a,children:[(0,j.jsx)(p,{size:16}),e(`account.signIn`)]})]})})})});let ue=D(r.avatar)||r.avatar||``,de=S(r.address,r.avatar),K=r.address.toLowerCase(),fe=I.trim().length>0;async function q(r){if(n===!0)try{await C.put(`/api/user/profile`,{json:{displayName:r.displayName||r.username,avatar:r.avatar||``,updatedAt:r.profileUpdatedAt||Date.now()}}).json()}catch(n){t(await x(n,e(`profile.backup.error.profileSaveFailed`)),`error`)}}function J(n){if(!r)return;let i={...r,avatar:n||void 0,profileUpdatedAt:Date.now()};y(i),q(i),z(``),t(e(`profile.toast.avatarUpdated`),`success`)}function pe(){if(!r)return;let n=M.trim()||r.username,i={...r,displayName:n,profileUpdatedAt:Date.now()};y(i),q(i),F(n),t(e(`profile.toast.saved`),`success`)}function me(){let t=I.trim();if(!t){J(void 0);return}if(!ce(t)){z(e(`nav.avatarUrlInvalid`));return}J(t)}function he(){T(),U(!1)}function ge(){V({title:e(`profile.backup.confirm.backupTitle`),message:e(`profile.backup.confirm.backupMessage`),confirmText:e(`profile.backup.action.cloudBackup`),onConfirm:async()=>{V(null),await E.backupToCloud()}})}function _e(){V({title:e(`profile.backup.confirm.restoreTitle`),message:e(`profile.backup.confirm.restoreMessage`),confirmText:e(`profile.backup.action.cloudRestore`),onConfirm:async()=>{V(null),await E.restoreFromCloud({confirm:!1})}})}function Y(){return new Promise(t=>{let n=e=>{V(null),t(e)};V({title:e(`profile.backup.confirm.importTitle`),message:e(`profile.backup.confirm.restore`),confirmText:e(`profile.backup.action.importLocal`),onConfirm:()=>n(!0),onClose:()=>n(!1)})})}function ve(){E.importLocalBackup({requestConfirm:Y})}let X=E.action===`backup`,Z=E.action===`restore`,Q=E.action===`export`,$=E.action===`import`;return(0,j.jsxs)(k,{header:W,children:[(0,j.jsx)(`section`,{className:`profile-page`,children:(0,j.jsxs)(`div`,{className:`profile-container`,children:[(0,j.jsxs)(`section`,{className:`profile-panel profile-backup-panel`,children:[(0,j.jsx)(`div`,{className:`profile-panel-header`,children:(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`h2`,{children:e(`profile.section.backup`)}),(0,j.jsx)(`p`,{children:e(`profile.section.backup.desc`)})]})}),(0,j.jsxs)(`div`,{className:`profile-backup-actions`,children:[(0,j.jsxs)(`button`,{type:`button`,className:`btn btn-secondary ${Q?`btn-loading`:``}`,onClick:E.exportLocalBackup,disabled:E.busy,children:[Q?(0,j.jsx)(_,{size:16,className:`ui-spinner`}):(0,j.jsx)(ee,{size:16}),e(Q?`profile.backup.status.exporting`:`profile.backup.action.exportLocal`)]}),(0,j.jsxs)(`button`,{type:`button`,className:`btn btn-secondary ${$?`btn-loading`:``}`,onClick:ve,disabled:E.busy,children:[$?(0,j.jsx)(_,{size:16,className:`ui-spinner`}):(0,j.jsx)(ne,{size:16}),e($?`profile.backup.status.importing`:`profile.backup.action.importLocal`)]}),(0,j.jsxs)(`button`,{type:`button`,className:`btn btn-primary ${X?`btn-loading`:``}`,onClick:ge,disabled:E.busy,children:[X?(0,j.jsx)(_,{size:16,className:`ui-spinner`}):(0,j.jsx)(ie,{size:16}),e(X?`profile.backup.status.backingUp`:`profile.backup.action.cloudBackup`)]}),(0,j.jsxs)(`button`,{type:`button`,className:`btn btn-secondary ${Z?`btn-loading`:``}`,onClick:_e,disabled:E.busy,children:[Z?(0,j.jsx)(_,{size:16,className:`ui-spinner`}):(0,j.jsx)(re,{size:16}),e(Z?`profile.backup.status.restoring`:`profile.backup.action.cloudRestore`)]})]})]}),(0,j.jsxs)(`header`,{className:`profile-header`,children:[(0,j.jsx)(`img`,{className:`profile-avatar-large`,src:de,alt:``}),(0,j.jsxs)(`div`,{className:`profile-heading`,children:[(0,j.jsx)(`p`,{className:`profile-kicker`,children:e(`profile.kicker`)}),(0,j.jsx)(`h1`,{children:r.displayName||r.username}),(0,j.jsxs)(`div`,{className:`profile-address-line`,children:[(0,j.jsx)(`code`,{translate:`no`,children:K}),(0,j.jsx)(h,{text:K}),(0,j.jsxs)(`a`,{href:`https://debank.com/profile/${r.address}`,target:`_blank`,rel:`noopener noreferrer`,className:`btn btn-secondary btn-sm`,children:[(0,j.jsx)(d,{size:14}),e(`web3.action.view`)]})]})]}),(0,j.jsxs)(`button`,{type:`button`,className:`btn btn-secondary profile-logout-btn`,onClick:()=>U(!0),children:[(0,j.jsx)(ae,{size:16}),e(`account.logout`)]})]}),(0,j.jsxs)(`div`,{className:`profile-grid`,children:[(0,j.jsxs)(`section`,{className:`profile-panel`,children:[(0,j.jsx)(`div`,{className:`profile-panel-header`,children:(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`h2`,{children:e(`profile.section.account`)}),(0,j.jsx)(`p`,{children:e(`profile.section.account.desc`)})]})}),(0,j.jsxs)(`label`,{className:`profile-field`,children:[(0,j.jsx)(`span`,{children:e(`profile.label.displayName`)}),(0,j.jsxs)(`div`,{className:`profile-field-row`,children:[(0,j.jsx)(`input`,{className:`input`,value:M,onChange:e=>F(e.target.value),placeholder:e(`nav.displayNamePlaceholder`)}),(0,j.jsxs)(`button`,{type:`button`,className:`btn btn-primary`,onClick:pe,children:[(0,j.jsx)(v,{size:16}),e(`profile.action.save`)]})]})]}),(0,j.jsxs)(`div`,{className:`profile-facts`,children:[(0,j.jsx)(N,{label:e(`profile.label.username`),value:r.username}),(0,j.jsx)(N,{label:e(`web3.label.address`),value:r.address,copy:!0})]})]}),(0,j.jsxs)(`section`,{className:`profile-panel`,children:[(0,j.jsx)(`div`,{className:`profile-panel-header`,children:(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`h2`,{children:e(`profile.section.avatar`)}),(0,j.jsx)(`p`,{children:e(`profile.section.avatar.desc`)})]})}),(0,j.jsx)(`div`,{className:`profile-avatar-grid`,role:`list`,children:se.map(t=>{let n=ue===t.value;return(0,j.jsxs)(`button`,{type:`button`,className:[`profile-avatar-option`,n?`selected`:``].filter(Boolean).join(` `),onClick:()=>J(t.value),"aria-pressed":n,title:e(t.labelKey),children:[(0,j.jsx)(`img`,{src:S(r.address,t.value),alt:``,"aria-hidden":`true`}),(0,j.jsx)(`span`,{children:e(t.labelKey)}),n&&(0,j.jsx)(`span`,{className:`profile-avatar-check`,children:(0,j.jsx)(u,{size:14})})]},t.value||`address`)})}),(0,j.jsxs)(`div`,{className:`profile-avatar-url`,children:[(0,j.jsxs)(`label`,{className:`profile-field`,htmlFor:`profile-avatar-url`,children:[(0,j.jsx)(`span`,{children:e(`profile.label.customAvatar`)}),(0,j.jsxs)(`div`,{className:`profile-field-row`,children:[(0,j.jsx)(`input`,{id:`profile-avatar-url`,className:`input`,value:I,onChange:e=>{L(e.target.value),z(``)},placeholder:e(`nav.avatarUrlPlaceholder`)}),(0,j.jsxs)(`button`,{type:`button`,className:`btn btn-secondary`,onClick:me,disabled:!fe,children:[(0,j.jsx)(v,{size:16}),e(`profile.action.save`)]})]})]}),R&&(0,j.jsx)(`p`,{className:`profile-error`,children:R})]})]})]}),(0,j.jsxs)(`section`,{className:`profile-panel profile-identity-panel`,children:[(0,j.jsxs)(`div`,{className:`profile-panel-header`,children:[(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`h2`,{children:e(`profile.section.identity`)}),(0,j.jsx)(`p`,{children:e(`profile.section.identity.desc`)})]}),(0,j.jsxs)(i,{to:`/web3/`,hash:`wallet`,className:`btn btn-secondary`,children:[(0,j.jsx)(oe,{size:16}),e(`profile.action.openWallet`)]})]}),(0,j.jsxs)(`div`,{className:`profile-key-grid`,children:[G&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(P,{title:e(`web3.label.ed25519Public`),icon:(0,j.jsx)(f,{size:18}),value:G.ed_public_key}),(0,j.jsx)(P,{title:e(`web3.label.x25519Public`),icon:(0,j.jsx)(g,{size:18}),value:G.public_key})]}),(0,j.jsx)(P,{title:`IPNS ID`,icon:(0,j.jsx)(te,{size:18}),value:le||`-`})]})]})]})}),H&&(0,j.jsx)(s,{title:e(`account.logoutTitle`),message:e(`account.logoutConfirm`),confirmText:e(`account.logout`),danger:!0,onConfirm:he,onClose:()=>U(!1)}),B&&(0,j.jsx)(s,{title:B.title,message:B.message,confirmText:B.confirmText,danger:B.danger,onConfirm:B.onConfirm,onClose:B.onClose||(()=>V(null))})]})}function N({label:e,value:t,copy:n=!1}){return(0,j.jsxs)(`div`,{className:`profile-fact`,children:[(0,j.jsx)(`span`,{children:e}),(0,j.jsxs)(`div`,{className:`profile-fact-value`,children:[(0,j.jsx)(`code`,{translate:`no`,children:t}),n&&(0,j.jsx)(h,{text:t})]})]})}function P({title:e,icon:t,value:n}){return(0,j.jsxs)(`div`,{className:`profile-key-card`,children:[(0,j.jsxs)(`div`,{className:`profile-key-card-header`,children:[(0,j.jsx)(`span`,{className:`profile-key-card-icon`,children:t}),(0,j.jsx)(`span`,{children:e})]}),(0,j.jsxs)(`div`,{className:`mono-row`,children:[(0,j.jsx)(`code`,{className:`mono`,translate:`no`,children:n}),(0,j.jsx)(h,{text:n})]})]})}var F=a(`/profile/`)({component:M});export{F as Route};
@@ -1 +0,0 @@
1
- import{n as e,o as t,t as n}from"./jsx-runtime-Bt-cYkS5.js";import{T as r,c as i,s as a}from"./ui-BpDGD3IR.js";import{a as o,i as s,n as c}from"./i18n-NjvOSuV6.js";import{i as l,n as u,r as d}from"./LanguageToggle-CSQtRZ3A.js";import{t as f}from"./circle-alert-iuHzciph.js";import{t as p}from"./key-round-DNcpSuMw.js";import{n as m,t as h}from"./SidebarHomeLink-qMFEGjZt.js";import{L as g,_,c as v,d as y,u as b,v as x,y as S}from"./index-C-_ZwxuN.js";import{i as C,t as w}from"./userProfile-DwZip0Dt.js";var T=t(e(),1),E=[{name:`node_url`,required:!1,descriptionKey:`chatJoin.field.nodeUrl`},{name:`node_invite`,required:!1,descriptionKey:`chatJoin.field.nodeInvite`},{name:`uid`,required:!0,descriptionKey:`chatJoin.field.uid`},{name:`identity`,required:!1,descriptionKey:`chatJoin.field.identity`},{name:`logo`,required:!1,descriptionKey:`chatJoin.field.logo`},{name:`avatar`,required:!1,descriptionKey:`chatJoin.field.avatar`},{name:`name`,required:!1,descriptionKey:`chatJoin.field.name`},{name:`locale`,required:!1,descriptionKey:`chatJoin.field.locale`},{name:`channels[].id`,required:!0,descriptionKey:`chatJoin.field.channelId`},{name:`channels[].name`,required:!1,descriptionKey:`chatJoin.field.channelName`}];function D(e){let t=typeof e==`string`?e.trim():e;return c(t)?t:void 0}function O(e){return String(e||``).trim().replace(/\/+$/,``)}function k(e){return String(e||``).trim()}function A({inviteNodeUrl:e,inviteNodeInvite:t,hasBackend:n,activeBackendUrl:r,activeRemoteUrl:i,activeRemoteInvite:a}){let o=O(e),s=O(i),c=O(r);return!!o&&!!s&&n===!0&&c===s&&s===o&&k(a)===k(t)}function j(e){return!!O(e.inviteNodeUrl)&&!A(e)}var M=`data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"%3E%3Crect width="64" height="64" rx="16" fill="%232f7dd1"/%3E%3Ccircle cx="32" cy="25" r="11" fill="%23f8fbff"/%3E%3Cpath d="M14 56c3-12 12-18 18-18s15 6 18 18" fill="%23f8fbff"/%3E%3C/svg%3E`,N=`data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"%3E%3Crect width="64" height="64" rx="16" fill="%230f9f7a"/%3E%3Cpath d="M18 20h28v22H18z" rx="6" fill="%23f7fff9"/%3E%3Ccircle cx="27" cy="31" r="3" fill="%230f9f7a"/%3E%3Ccircle cx="37" cy="31" r="3" fill="%230f9f7a"/%3E%3Cpath d="M29 39h6" stroke="%230f9f7a" stroke-width="4" stroke-linecap="round"/%3E%3Cpath d="M32 12v8" stroke="%23f7fff9" stroke-width="5" stroke-linecap="round"/%3E%3C/svg%3E`,P=Object.freeze({id:`chatjoin_support`,name:`User / Service 测试频道`}),F=Object.freeze([Object.freeze({uid:`user`,identity:`user`,name:`测试用户`,avatar:M}),Object.freeze({uid:`service`,identity:`service`,name:`测试客服`,avatar:N})]),I=Object.freeze(F.map(e=>Object.freeze({locale:`zh-CN`,uid:e.uid,identity:e.identity,avatar:e.avatar,name:e.name,channels:[P]})));function L(e){let t=String(e||``).trim();return I.find(e=>e.uid===t)||null}function R(e){return JSON.stringify(e,null,2)}var z=n(),B=`0x955fe80bdb8312165471fcacd6a8f83df88a770dda6f38657ca4e62ec28d5b54`,V=50,H=`https://api.most.box`;function U(e){try{return JSON.parse(e)}catch{return null}}function W(e){return typeof e==`string`?U(e):e}function G(e,t){return t===null?e:JSON.stringify(t,null,2)}function K(e,t,n){if(t&&typeof t==`object`&&`error`in t){let e=t.error;if(typeof e==`string`)return e}return e||n}function q(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function J(e){return typeof e==`string`?e.trim():``}function Y(e){let t=J(e);return t===`user`||t===`service`||t===`service_ai`?t:void 0}function X(e){let t=W(e);if(!q(t))return null;let n=J(t.uid),r=(Array.isArray(t.channels)?t.channels:[]).filter(q).map(e=>({id:J(e.id),name:J(e.name)||void 0})).filter(e=>e.id);return!n||r.length===0?null:{node_url:J(t.node_url)||void 0,node_invite:J(t.node_invite)||void 0,locale:D(t.locale),uid:n,identity:Y(t.identity),logo:J(t.logo)||void 0,avatar:J(t.avatar)||void 0,name:J(t.name)||void 0,channels:r}}function Z(e){return`/chat?channel=${encodeURIComponent(e)}`}function Q(e){return String(e||``).trim().slice(0,V)}function $(){let{t:e,setLocale:t}=o(),n=g({select:e=>e.searchStr}),{token:r,pub:c,fixture:D}=(0,T.useMemo)(()=>{let e=new URLSearchParams(n);return{token:e.get(`token`)||``,pub:e.get(`pub`)||``,fixture:e.get(`fixture`)||``}},[n]),O=v(e=>e.isDarkMode),k=v(e=>e.setIsDarkMode),A=v(e=>e.hasBackend),M=a(e=>e.setUserIdentity),[N,P]=(0,T.useState)(``),[F,I]=(0,T.useState)(``),[V,W]=(0,T.useState)(!0),[q,J]=(0,T.useState)(``),Y=(0,T.useRef)(``);return(0,T.useEffect)(()=>{let n=L(D);if(D&&!n){I(e(`chatJoin.error.unknownFixture`,{fixture:D})),W(!1);return}if(!n&&!r){I(e(`chatJoin.error.missingToken`)),W(!1);return}if(!n&&!c){I(e(`chatJoin.error.missingPub`)),W(!1);return}if(A===null){J(e(`chatJoin.status.checkingBackend`));return}let a=n?`fixture:${D}`:`${r}:${c}`;if(Y.current===a)return;Y.current=a;async function o(n){let r=(t,r)=>n.locale?s(t,n.locale,r):e(t,r);n.locale&&t(n.locale);let a=S(),o=x(),c=_();if(j({inviteNodeUrl:n.node_url,inviteNodeInvite:n.node_invite,hasBackend:A,activeBackendUrl:c,activeRemoteUrl:a,activeRemoteInvite:o})){if(J(r(`chatJoin.status.connectingRemote`)),!(await b({url:n.node_url,invite:n.node_invite||``})).ok)throw Error(r(`chatJoin.error.remoteConnectFailed`));y({url:n.node_url,invite:n.node_invite||``}),v.setState({hasBackend:!0})}else if(!A)throw Error(r(`chatJoin.error.noBackend`));J(r(`chatJoin.status.signingIn`));let l=i(n.uid,``),u={...l,identity:n.identity,displayName:n.name||l.displayName,logo:n.logo,avatar:n.avatar};M(u),J(r(`chatJoin.status.joiningChannel`));let d=``;for(let e of n.channels){let t=await C.createChannel(e.id,`public`,w(u)),n=t.channelKey||t.key||e.id;d||=n;let r=Q(e.name);r&&await C.setChannelRemark(n,r)}let f=n.channels[0];J(r(`chatJoin.status.openingChannel`)),window.location.href=Z(d||f.id)}async function l(){try{if(n){J(e(`chatJoin.status.loadingFixture`,{name:n.name||D})),P(R(n)),await o(n);return}J(e(`chatJoin.status.decryptingInvite`));let t=await fetch(`${H}/api/chat.join.decrypt`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:r,pub:c})}),i=await t.text(),a=U(i);if(!t.ok)I(K(i,a,e(`chatJoin.error.decrypt`)));else{P(G(i,a));let t=X(a);if(!t){I(e(`chatJoin.error.invalidInvite`));return}await o(t)}}catch(t){I(e(`chatJoin.error.request`,{message:t instanceof Error?t.message:String(t)}))}finally{W(!1)}}l()},[D,A,c,t,M,e,r]),(0,z.jsx)(m,{sidebar:()=>(0,z.jsx)(h,{}),headerTitle:(0,z.jsx)(`h2`,{className:`header-title`,children:e(`chatJoin.title`)}),headerRight:(0,z.jsx)(`button`,{className:`btn btn-icon`,onClick:()=>k(!O),title:e(`common.theme.toggle`),children:O?(0,z.jsx)(u,{size:16}):(0,z.jsx)(d,{size:16})}),children:(0,z.jsx)(`div`,{className:`chat-join-container`,children:(0,z.jsxs)(`div`,{className:`chat-join-panel`,children:[V?(0,z.jsxs)(`div`,{className:`chat-join-loading`,children:[(0,z.jsx)(p,{size:32}),(0,z.jsx)(`p`,{children:q||e(`chatJoin.status.decrypting`)})]}):F?(0,z.jsxs)(`div`,{className:`chat-join-error`,children:[(0,z.jsx)(f,{size:32}),(0,z.jsx)(`p`,{children:F}),q&&(0,z.jsx)(`p`,{className:`chat-join-status`,children:q}),N&&(0,z.jsx)(`pre`,{className:`chat-join-result`,translate:`no`,children:N})]}):(0,z.jsxs)(`div`,{className:`chat-join-success`,children:[(0,z.jsx)(l,{size:32}),(0,z.jsx)(`p`,{children:q||e(`chatJoin.status.decryptSuccess`)}),(0,z.jsx)(`pre`,{className:`chat-join-result`,translate:`no`,children:N})]}),(0,z.jsxs)(`section`,{className:`chat-join-spec`,"aria-labelledby":`chat-join-spec-title`,children:[(0,z.jsxs)(`div`,{className:`chat-join-helper-title`,children:[(0,z.jsx)(p,{size:18}),(0,z.jsx)(`h3`,{id:`chat-join-spec-title`,children:e(`chatJoin.specTitle`)})]}),(0,z.jsx)(`div`,{className:`chat-join-field-list`,children:E.map(t=>(0,z.jsxs)(`div`,{className:`chat-join-field`,children:[(0,z.jsxs)(`div`,{className:`chat-join-field-meta`,children:[(0,z.jsx)(`code`,{className:`chat-join-field-name`,children:t.name}),(0,z.jsx)(`span`,{children:t.required?e(`chatJoin.field.required`):e(`chatJoin.field.optional`)})]}),(0,z.jsx)(`p`,{children:e(t.descriptionKey)})]},t.name))})]}),(0,z.jsxs)(`section`,{className:`chat-join-helper`,"aria-labelledby":`ea-test-title`,children:[(0,z.jsxs)(`div`,{className:`chat-join-helper-title`,children:[(0,z.jsx)(p,{size:18}),(0,z.jsx)(`h3`,{id:`ea-test-title`,children:e(`chatJoin.testPublicKey`)})]}),(0,z.jsx)(`code`,{className:`ui-code-box chat-join-public-key`,translate:`no`,children:B}),(0,z.jsx)(`a`,{className:`btn`,href:`/web3/#EA`,target:`_blank`,children:e(`chatJoin.openWeb3`)})]})]})})})}function ee(){return(0,z.jsx)(T.Suspense,{children:(0,z.jsx)($,{})})}var te=r(`/chat/join/`)({component:ee});export{te as Route};
@@ -1 +0,0 @@
1
- import{n as e,o as t,t as n}from"./jsx-runtime-Bt-cYkS5.js";import{C as r,D as i,O as a,T as o,s}from"./ui-BpDGD3IR.js";import{a as ee}from"./i18n-NjvOSuV6.js";import{t as c}from"./download-jEPn2njL.js";import{t as l}from"./external-link-BFaoZeK0.js";import{t as te}from"./file-text-DPA1riJ_.js";import{t as u}from"./hard-drive-Dar_AZEq.js";import{n as ne,t as d}from"./triangle-alert-DGWc8ZHu.js";import{F as f,L as p,c as m,f as re,g as ie}from"./index-C-_ZwxuN.js";import{t as ae}from"./MarketingHeader-B45AaM29.js";import{t as h}from"./format-CR8oUWq6.js";import{i as g,n as _,r as oe,t as se}from"./downloadValidation-CSXwoQKW.js";var ce=r(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),v=r(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),y=r(`log-in`,[[`path`,{d:`m10 17 5-5-5-5`,key:`1bsop3`}],[`path`,{d:`M15 12H3`,key:`6jk70r`}],[`path`,{d:`M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4`,key:`u53s6r`}]]),b=r(`wifi-off`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}],[`path`,{d:`M5 12.859a10 10 0 0 1 5.17-2.69`,key:`1dl1wf`}],[`path`,{d:`M19 12.859a10 10 0 0 0-2.007-1.523`,key:`4k23kn`}],[`path`,{d:`M2 8.82a15 15 0 0 1 4.177-2.643`,key:`1grhjp`}],[`path`,{d:`M22 8.82a15 15 0 0 0-11.288-3.764`,key:`z3jwby`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),x=t(e(),1),S=n(),C=1800;function w(e,t){return`most://${e}${t||``}`}function T(e,t){let n=e.trim().replace(/[\\/]+$/,``);return n?`${n}${n.includes(`\\`)?`\\`:`/`}downloads`:t}function E(e,t){let n=e[t];return typeof n==`string`?n:void 0}function D(e,t){let n=e[t];return typeof n==`number`&&Number.isFinite(n)?n:void 0}function le(e){let t;try{t=JSON.parse(e)}catch{return null}if(!t||typeof t!=`object`)return null;let n=t,r=E(n,`event`),i=n.data;if(!r||!i||typeof i!=`object`)return null;let a=i;return{event:r,payload:{taskId:E(a,`taskId`),percent:D(a,`percent`),loaded:D(a,`loaded`),total:D(a,`total`),file:E(a,`file`),fileName:E(a,`fileName`),error:E(a,`error`)}}}function O(){let{t:e}=ee(),{cid:t}=a({from:`/cid/$cid/`}),n=p({select:e=>e.searchStr}),r=m(e=>e.hasBackend),o=m(e=>e.addToast),f=m(e=>e.openConnectModal),E=s(e=>e.identity),D=s(e=>e.openLoginModal),O=(0,x.useMemo)(()=>w(t,n),[t,n]),k=(0,x.useMemo)(()=>g(O),[O]),A=(0,x.useMemo)(()=>se(O,e),[O,e]),fe=k.fileName||t,[j,M]=(0,x.useState)({status:`idle`,message:``}),[N,P]=(0,x.useState)(null),[F,I]=(0,x.useState)({status:`idle`,message:``}),[L,R]=(0,x.useState)(``),[z,B]=(0,x.useState)(0),[V,H]=(0,x.useState)(null),[U,W]=(0,x.useState)(null),[pe,G]=(0,x.useState)(``),[me,K]=(0,x.useState)(!1),q=(0,x.useRef)(0),J=(0,x.useRef)(null),Y=N?.fileName||fe,X=N?.size??U,Z=j.status===`available`||j.status===`already-local`,Q=F.status===`starting`||F.status===`downloading`,he=T(pe,e(`cid.saveToFallback`)),$=(0,x.useCallback)(async()=>{let t=q.current+1;if(q.current=t,R(``),B(0),H(null),W(null),I({status:`idle`,message:``}),A){P(null),M({status:`error`,message:A});return}if(r===null){P(null),M({status:`waiting-backend`,message:e(`cid.status.waitingBackend`)});return}if(r!==!0){P(null),M({status:`backend-missing`,message:e(`cid.status.backendMissing`)});return}if(!E){P(null),M({status:`login-required`,message:e(`cid.status.loginRequired`)});return}M({status:`checking`,message:e(`cid.status.checking`)}),P(null);try{let n=await _.checkDownload(O);if(q.current!==t)return;P(n),M({status:n.alreadyExists?`already-local`:`available`,message:n.alreadyExists?e(`cid.status.alreadyLocal`,{fileName:n.fileName}):e(`cid.status.available`,{fileName:n.fileName})})}catch(e){if(q.current!==t)return;M({status:`error`,message:await oe(e)}),P(null)}},[r,O,e,E,A]);(0,x.useEffect)(()=>{document.title=e(`cid.meta.title`)},[e]),(0,x.useEffect)(()=>{let e=()=>{J.current!==null&&(window.clearTimeout(J.current),J.current=null)},t=()=>{document.visibilityState===`hidden`&&(e(),K(!1))};return document.addEventListener(`visibilitychange`,t),window.addEventListener(`pagehide`,t),()=>{e(),document.removeEventListener(`visibilitychange`,t),window.removeEventListener(`pagehide`,t)}},[]),(0,x.useEffect)(()=>{$()},[$]),(0,x.useEffect)(()=>{if(r!==!0)return;let e=!1;return _.getDataPath().then(t=>{e||G(t.dataPath)}).catch(()=>{e||G(``)}),()=>{e=!0}},[r]),(0,x.useEffect)(()=>{if(!L||!E)return;let t=null,n=!1;return(async()=>{if(t=new WebSocket(await ie(`/ws`)),n){t.close();return}t.onmessage=t=>{let n=le(t.data);!n||n.payload.taskId!==L||(n.event===`download:progress`&&(B(n.payload.percent||0),H(n.payload.loaded??null),W(n.payload.total??null)),n.event===`download:status`&&I({status:`downloading`,message:n.payload.file?e(`cid.status.downloadingFile`,{fileName:n.payload.file}):e(`cid.status.downloading`)}),n.event===`download:success`&&(B(100),I({status:`completed`,message:e(`cid.status.downloadComplete`,{fileName:n.payload.fileName||Y})}),o(e(`cid.toast.downloadComplete`),`success`)),n.event===`download:error`&&(I({status:`error`,message:n.payload.error||e(`cid.status.downloadFailed`,{error:``})}),o(e(`cid.toast.downloadFailed`,{error:n.payload.error||e(`cid.errorFallback`)}),`error`)),n.event===`download:cancelled`&&(I({status:`cancelled`,message:e(`cid.status.cancelled`)}),o(e(`cid.toast.cancelled`),`warning`)))}})(),()=>{n=!0,t?.close()}},[o,Y,e,L,E]);let ge=async()=>{if(!E){D();return}if(r!==!0){f();return}if(!(!Z||Q)){I({status:`starting`,message:e(`cid.status.startingDownload`)}),B(0);try{let t=await _.downloadFile(O);if(t.alreadyExists){I({status:`completed`,message:e(`cid.status.alreadyLocal`,{fileName:t.fileName||Y})}),o(e(`cid.toast.alreadyLocal`),`warning`);return}t.taskId&&(R(t.taskId),I({status:`downloading`,message:e(`cid.status.downloading`)}),o(e(`cid.toast.downloadStarted`),`info`))}catch(t){let n=await re(t,e(`cid.status.downloadFailed`,{error:e(`cid.errorFallback`)}));I({status:`error`,message:n}),o(n,`error`)}}},_e=()=>{K(!1),J.current!==null&&window.clearTimeout(J.current),J.current=window.setTimeout(()=>{J.current=null,document.visibilityState!==`hidden`&&K(!0)},C)},ve=async()=>{L&&await _.cancelDownload(L).catch(()=>{})},ye=ue(j.status,F.status);return(0,S.jsxs)(`div`,{className:`cid-layout`,children:[(0,S.jsx)(ae,{}),(0,S.jsx)(`main`,{className:`cid-page`,children:(0,S.jsxs)(`section`,{className:`cid-shell`,children:[(0,S.jsxs)(`div`,{className:`cid-heading`,children:[(0,S.jsx)(`span`,{className:`cid-kicker`,children:e(`cid.kicker`)}),(0,S.jsx)(`h1`,{children:e(`cid.title`)}),(0,S.jsx)(`p`,{children:e(`cid.subtitle`)})]}),(0,S.jsxs)(`div`,{className:`cid-panel`,children:[(0,S.jsxs)(`div`,{className:`cid-handoff`,"aria-label":e(`cid.handoff.title`),children:[(0,S.jsxs)(`div`,{className:`cid-handoff-copy`,children:[(0,S.jsx)(`p`,{className:`cid-handoff-title`,children:e(`cid.handoff.title`)}),(0,S.jsx)(`p`,{children:e(`cid.handoff.desc`)})]}),(0,S.jsxs)(`a`,{className:`btn btn-primary`,href:O,onClick:_e,children:[(0,S.jsx)(l,{size:16}),e(`cid.handoff.action`)]})]}),me&&(0,S.jsxs)(`div`,{className:`cid-handoff-fallback`,role:`status`,children:[(0,S.jsx)(d,{size:18}),(0,S.jsx)(`p`,{children:e(`cid.handoff.fallback`)}),(0,S.jsxs)(i,{to:`/download/`,className:`btn btn-secondary`,children:[(0,S.jsx)(c,{size:16}),e(`cid.handoff.downloadAction`)]})]}),(0,S.jsxs)(`div`,{className:`cid-status`,children:[(0,S.jsx)(`span`,{className:`cid-status-icon ${j.status}`,children:ye}),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`p`,{className:`cid-status-label`,children:de(j.status,e)}),(0,S.jsx)(`p`,{className:`cid-status-message`,children:j.message})]})]}),(0,S.jsxs)(`dl`,{className:`cid-details`,children:[(0,S.jsxs)(`div`,{children:[(0,S.jsxs)(`dt`,{children:[(0,S.jsx)(te,{size:16}),e(`cid.fileNameLabel`)]}),(0,S.jsx)(`dd`,{children:Y})]}),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`dt`,{children:e(`cid.cidLabel`)}),(0,S.jsx)(`dd`,{className:`cid-mono`,children:t})]}),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`dt`,{children:e(`cid.sizeLabel`)}),(0,S.jsx)(`dd`,{children:X?h(X):e(`cid.unknownSize`)})]}),(0,S.jsxs)(`div`,{children:[(0,S.jsxs)(`dt`,{children:[(0,S.jsx)(u,{size:16}),e(`cid.saveToLabel`)]}),(0,S.jsx)(`dd`,{children:he})]})]}),F.status!==`idle`&&(0,S.jsxs)(`div`,{className:`cid-download-state ${F.status}`,children:[(0,S.jsx)(`p`,{children:F.message}),(F.status===`starting`||F.status===`downloading`)&&(0,S.jsxs)(`div`,{className:`cid-progress`,children:[(0,S.jsx)(`progress`,{className:`cid-progress-bar`,value:z,max:100}),(0,S.jsx)(`span`,{children:V!==null&&U!==null?`${h(V)} / ${h(U)}`:`${z}%`})]})]}),(0,S.jsxs)(`div`,{className:`cid-actions`,children:[j.status===`login-required`&&(0,S.jsxs)(`button`,{className:`btn btn-primary`,onClick:D,children:[(0,S.jsx)(y,{size:16}),e(`cid.loginAction`)]}),j.status===`backend-missing`&&(0,S.jsxs)(`button`,{className:`btn btn-primary`,onClick:f,children:[(0,S.jsx)(b,{size:16}),e(`cid.connectAction`)]}),(0,S.jsxs)(`button`,{className:`btn btn-primary`,disabled:!Z||Q,onClick:ge,children:[Q?(0,S.jsx)(v,{className:`cid-spin-icon`,size:16}):(0,S.jsx)(c,{size:16}),e(Q?`cid.downloadingAction`:`cid.startAction`)]}),L&&F.status===`downloading`&&(0,S.jsxs)(`button`,{className:`btn btn-secondary`,onClick:ve,children:[(0,S.jsx)(ce,{size:16}),e(`cid.cancelAction`)]}),(0,S.jsxs)(`button`,{className:`btn btn-secondary`,disabled:j.status===`checking`,onClick:$,children:[(0,S.jsx)(ne,{size:16}),e(`cid.retryAction`)]}),(0,S.jsx)(i,{to:`/app/`,className:`btn btn-secondary`,children:e(`cid.openAppAction`)})]})]})]})})]})}function ue(e,t){return t===`completed`?(0,S.jsx)(f,{size:28}):t===`error`||e===`error`?(0,S.jsx)(d,{size:28}):e===`checking`||e===`waiting-backend`||t===`starting`||t===`downloading`?(0,S.jsx)(v,{size:28}):e===`backend-missing`?(0,S.jsx)(b,{size:28}):e===`login-required`?(0,S.jsx)(y,{size:28}):(0,S.jsx)(f,{size:28})}function de(e,t){switch(e){case`checking`:return t(`cid.label.checking`);case`available`:return t(`cid.label.available`);case`already-local`:return t(`cid.label.alreadyLocal`);case`login-required`:return t(`cid.label.loginRequired`);case`backend-missing`:return t(`cid.label.backendMissing`);case`waiting-backend`:return t(`cid.label.waitingBackend`);case`error`:return t(`cid.label.error`);default:return t(`cid.label.idle`)}}var k=o(`/cid/$cid/`)({component:O});export{k as Route};
@@ -1 +0,0 @@
1
- import{C as e}from"./ui-BpDGD3IR.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{C as e}from"./ui-BpDGD3IR.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{C as e}from"./ui-BpDGD3IR.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{C as e}from"./ui-BpDGD3IR.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{C as r,b as i,v as a}from"./ui-BpDGD3IR.js";import{a as o}from"./i18n-NjvOSuV6.js";import{i as s}from"./LanguageToggle-CSQtRZ3A.js";import{t as c}from"./copy-DEzFUzeX.js";import{t as l}from"./dayjs.min-Dcc0B6Je.js";var u=r(`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=r(`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}=o(),[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)(s,{size:i}):(0,p.jsx)(c,{size:i}),t?l?d:t:null]})}var h=t(a(),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(i(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{C as e}from"./ui-BpDGD3IR.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{C as e}from"./ui-BpDGD3IR.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{C as e}from"./ui-BpDGD3IR.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{C as e}from"./ui-BpDGD3IR.js";var t=e(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]);export{t};
@@ -1 +0,0 @@
1
- import{C as e}from"./ui-BpDGD3IR.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{C as e}from"./ui-BpDGD3IR.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{C as e}from"./ui-BpDGD3IR.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{C as e}from"./ui-BpDGD3IR.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{C as e}from"./ui-BpDGD3IR.js";var t=e(`cloud`,[[`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`,key:`p7xjir`}]]),n=e(`smartphone`,[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`,ry:`2`,key:`1yt0o3`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}]]);export{t as n,n as t};
@@ -1 +0,0 @@
1
- import{C as e}from"./ui-BpDGD3IR.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{C as e}from"./ui-BpDGD3IR.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`}]]),n=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 as n,n as t};
@@ -1 +0,0 @@
1
- import{C as e}from"./ui-BpDGD3IR.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{C as r,D as i,s as a}from"./ui-BpDGD3IR.js";import{a as o}from"./i18n-NjvOSuV6.js";import{t as s}from"./SidebarHomeLink-qMFEGjZt.js";import{C as c,E as l,S as u,T as d,b as f,c as p,f as m,w as h,x as g}from"./index-C-_ZwxuN.js";import{t as _}from"./SidebarAccount-_RBE5K_o.js";import{i as v,n as y,r as b,t as x}from"./userProfile-DwZip0Dt.js";import{t as S}from"./useChannelMessages-DOaWHdAP.js";var C=r(`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`}]]),w=r(`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`}]]),T=n(),E=[{id:`gandengyan`,labelKey:`game.gandengyan.title`,href:`/game/gandengyan/`,icon:(0,T.jsx)(w,{size:16})},{id:`zhajinhua`,labelKey:`game.zhajinhua.title`,href:`/game/zhajinhua/`,icon:(0,T.jsx)(C,{size:16})}];function D({activeGame:e,closeSidebar:t}){let{t:n}=o();return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(s,{onNavigate:t}),(0,T.jsx)(`nav`,{className:`sidebar-nav`,children:E.map(r=>(0,T.jsxs)(i,{to:r.href,className:`sidebar-nav-btn ${e===r.id?`active`:``}`,onClick:t,children:[r.icon,(0,T.jsx)(`span`,{children:n(r.labelKey)})]},r.id))}),(0,T.jsx)(_,{})]})}var O=t(e(),1),k=`game`,A=`mostbox.game.event`,j=[`gandengyan`,`zhajinhua`],M=`ABCDEFGHJKLMNPQRSTUVWXYZ23456789`;function N(e){let t=String(e||``).trim().toLowerCase();return j.includes(t)?t:``}function P(e){return h(e)}function F(e){return/^[A-Z0-9]{4,8}$/.test(String(e||``))}function I(){let e=``;for(let t=0;t<6;t++)e+=M[d(32)];return e}function L(e,t){let n=N(e),r=P(t);return!n||!F(r)?``:`game.${n}.${r.toLowerCase()}`}function R({gameId:e,roomCode:t,event:n,payload:r}){let i=N(e);return{kind:A,version:1,gameId:i,roomCode:P(t),event:String(n||``),eventId:f(i||`game`),payload:r||{}}}function z(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=N(n.gameId),i=P(n.roomCode);return!r||!F(i)||t.gameId&&r!==N(t.gameId)||t.roomCode&&i!==P(t.roomCode)?null:{...n,gameId:r,roomCode:i,payload:n.payload&&typeof n.payload==`object`?n.payload:{}}}catch{return null}}function B(e=[],t={}){let n=[],r=new Map,i=``;for(let a of W(e)){let e=z(a.content,t);if(e){if(e.event===`room:create`){let t=H(e.payload?.player,a);if(!t)continue;i||=t.address,U(n,r,t);continue}if(e.event===`player:join`){let t=H(e.payload?.player,a);t&&U(n,r,t);continue}if(e.event===`player:leave`){let t=g(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:N(t.gameId),roomCode:P(t.roomCode),hostAddress:i,players:n}}function V(e=[],t={}){let n=null;for(let r of W(e)){let e=z(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 H(e,t){if(!e||typeof e!=`object`)return null;let n=t&&typeof t==`object`?t:{author:t},r=n.author,i=g(e.address||r);if(!i||g(r)!==i)return null;let a=c(n.authorName||e.name,l(i)),o=u(n.avatar||e.avatar),s={address:i,name:a,publicKey:String(e.publicKey||``).trim(),joinedAt:Number(e.joinedAt||Date.now())};return o&&(s.avatar=o),s}function U(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 W(e){return[...e].sort((e,t)=>Number(e.timestamp||0)-Number(t.timestamp||0))}function G({gameId:e,onError:t,getPlayerPayload:n}){let{t:r}=o(),i=p(e=>e.hasBackend),s=p(e=>e.checkBackend),c=p(e=>e.openConnectModal),l=a(e=>e.identity),u=a(e=>e.openLoginModal),[d,f]=(0,O.useState)(``),[h,_]=(0,O.useState)(``),[y,b]=(0,O.useState)([]),[C,w]=(0,O.useState)(!1),T=(0,O.useRef)(h);T.current=h;let E=i===!0,D=(0,O.useMemo)(()=>l?{...x(l),profileUpdatedAt:l.profileUpdatedAt}:{},[l?.avatar,l?.displayName,l?.profileUpdatedAt,l?.username]),A=(0,O.useCallback)(async(e,n)=>{let r=await m(e,n);t&&t(r)},[t]),j=(0,O.useCallback)(async(e=T.current)=>{if(!e||!E)return b([]),[];try{let t=await v.getChannelPresence(e);return T.current===e?(b(t),t):[]}catch(e){return console.warn(`[Game] Failed to fetch channel presence:`,e instanceof Error?e.message:e),[]}},[E]),M=(0,O.useCallback)((e,t)=>{if(e!==`channel:presence`)return;let n=String(t?.channelKey||t?.channel||``).trim(),r=T.current;r&&(!n||n===r)&&j(r)},[j]),N=(0,O.useCallback)(t=>!!z(t.content,{gameId:e,roomCode:d}),[e,d]),F=(0,O.useCallback)(t=>{let n=z(t.content,{gameId:e,roomCode:d});return n?`${t.author}-${n.eventId}`:`${t.author}-${t.timestamp}-${t.content}`},[e,d]),{clearMessages:B,connected:V,messages:H,sendMessage:U,syncMessages:W}=S({isReady:E,enabled:!!l,channelName:h,limit:500,acceptMessage:N,getMessageKey:F,onSyncError:e=>A(e,r(`game.room.error.readLog`)),onSocketEvent:M,onReconnect:()=>{j()},presenceEnabled:!!(h&&l),presenceProfile:D});(0,O.useEffect)(()=>{if(!h||!E){b([]);return}j(h)},[h,E,j]);let G=(0,O.useMemo)(()=>H.map(t=>({message:t,event:z(t.content,{gameId:e,roomCode:d})})).filter(e=>e.event),[e,H,d]),q=(0,O.useMemo)(()=>{let e=new Map;return y.forEach(t=>{let n=g(t.address);!n||!t.online||e.set(n,t)}),e},[y]),Y=(0,O.useMemo)(()=>new Set(q.keys()),[q]),X=(0,O.useCallback)(()=>l?E?!0:(c(),!1):(u(),!1),[E,c,u,l]);(0,O.useEffect)(()=>{i===null&&s()},[s,i]);let Z=(0,O.useCallback)(async(i,a=!1)=>{if(!X()||!l)return!1;let o=a?I():P(i),s=L(e,o);if(!s)return t&&t(r(`game.room.error.invalidCode`)),!1;w(!0);try{let t=await v.createChannel(s,k,x(l)),r=t.channelKey||t.key||s;return await K(r,l,e,o,a?`room:create`:`player:join`,{player:J(l,n?.(l))}),f(o),_(r),B(),!0}catch(e){return await A(e,r(a?`game.room.error.createFailed`:`game.room.error.joinFailed`)),!1}finally{w(!1)}},[X,e,n,t,A,B,r,l]);return{channelName:h,channelPresence:y,connected:V,createRoom:(0,O.useCallback)(()=>Z(``,!0),[Z]),ensureReady:X,isBackendReady:E,joinRoom:(0,O.useCallback)(e=>Z(e),[Z]),joining:C,messages:H,onlineAddresses:Y,presenceByAddress:q,roomCode:d,roomEvents:G,sendRoomEvent:(0,O.useCallback)(async(t,n={})=>{if(!X()||!l||!h||!d)return!1;let i=R({gameId:e,roomCode:d,event:t,payload:n}),a=JSON.stringify(i);try{return await U({channelName:h,content:a,optimisticId:`${l.address}-${i.eventId}`}),!0}catch(e){return await A(e,r(`game.room.error.sendEventFailed`)),!1}},[h,X,e,A,d,U,r,l]),setRoomCode:f,syncMessages:W,userIdentity:l}}async function K(e,t,n,r,i,a){let o=R({gameId:n,roomCode:r,event:i,payload:a});await v.sendChannelMessage({channelName:e,content:JSON.stringify(o),...b(t)})}function q(e){return{address:e.address,name:y(e),avatar:e.avatar||``,publicKey:``,joinedAt:Date.now()}}function J(e,t={}){let n=q(e),r={...n,...t};return Object.prototype.hasOwnProperty.call(t,`avatar`)||(r.avatar=n.avatar),r}export{C as a,D as i,B as n,V as r,G as t};
@@ -1 +0,0 @@
1
- import{h as e,l as t}from"./index-C-_ZwxuN.js";var n={getChannels(e={}){let n=new URLSearchParams;e.type&&n.set(`type`,e.type);let r=n.toString();return t.get(r?`/api/channels?${r}`:`/api/channels`).json()},createChannel(e,n=`personal`,r={}){return t.post(`/api/channels`,{json:{name:e,type:n,...r}}).json()},leaveChannel(e){return t.delete(`/api/channels`,{json:{channelKey:e}}).json()},getChannelMessages(e,n=100,r=0){return t.get(`/api/channels/${encodeURIComponent(e)}/messages?limit=${n}&offset=${r}`).json()},sendChannelMessage({channelName:e,content:n,author:r,authorName:i,avatar:a,attachment:o}){return t.post(`/api/channels/${encodeURIComponent(e)}/messages`,{json:o?{content:n,author:r,authorName:i,avatar:a,attachment:o}:{content:n,author:r,authorName:i,avatar:a}}).json()},getChannelPeers(e){return t.get(`/api/channels/${encodeURIComponent(e)}/peers`).json()},getChannelPresence(e){return t.get(`/api/channels/${encodeURIComponent(e)}/presence`).json()},setChannelRemark(e,n){return t.put(`/api/channels/${encodeURIComponent(e)}/remark`,{json:{remark:n}}).json()},setChannelPinned(e,n){return t.put(`/api/channels/${encodeURIComponent(e)}/pin`,{json:{pinned:n}}).json()},getFileDownloadUrl(t){return e(`/api/files/${t}/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};
@@ -1 +0,0 @@
1
- import{C as e}from"./ui-BpDGD3IR.js";var t=e(`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`}]]);export{t};
@@ -1 +0,0 @@
1
- import{C as e}from"./ui-BpDGD3IR.js";var t=e(`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`}]]);export{t};