most-box 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -12
- package/electron/main.js +31 -10
- package/out/404/index.html +3 -3
- package/out/404.html +3 -3
- package/out/__next.__PAGE__.txt +6 -6
- package/out/__next._full.txt +16 -16
- package/out/__next._head.txt +3 -3
- package/out/__next._index.txt +8 -8
- package/out/__next._tree.txt +5 -5
- package/out/_next/static/chunks/{06lttvu7563zo.css → 0-ryc9icn6dql.css} +1 -1
- package/out/_next/static/chunks/088-v8tzobg5g.js +1 -0
- package/out/_next/static/chunks/0g9303i8psy6z.js +1 -0
- package/out/_next/static/chunks/0nwdp-n94owg0.css +1 -0
- package/out/_next/static/chunks/{0pt.5cg1t09qs.js → 0s7i7nfr9j3b1.js} +1 -1
- package/out/_next/static/chunks/0vmjat-s4a3yj.css +1 -0
- package/out/_next/static/chunks/10p6-qnuk3p9x.js +1 -0
- package/out/_next/static/chunks/1ei8b9nw-ea8p.css +1 -0
- package/out/_next/static/chunks/1lxjpnw925-0p.css +1 -0
- package/out/_next/static/chunks/1v-molv0hbcjl.js +1 -0
- package/out/_next/static/chunks/23kls47vn_rpg.css +23 -0
- package/out/_next/static/chunks/2524ggtr3e4fp.js +1 -0
- package/out/_next/static/chunks/2fmkcw8ui5xp3.js +5 -0
- package/out/_next/static/chunks/2mcmt4yla_xle.js +1 -0
- package/out/_next/static/chunks/2uget3ephe4e3.js +736 -0
- package/out/_next/static/chunks/2v7_4ps1l4a8o.css +1 -0
- package/out/_next/static/chunks/2va-v1iiap4zv.js +1 -0
- package/out/_next/static/chunks/2vk2ln79gpvm4.js +1 -0
- package/out/_next/static/chunks/2vm9uslik2wfi.css +5 -0
- package/out/_next/static/chunks/37msy2-4ucgts.js +1 -0
- package/out/_next/static/chunks/384w3w4qvhw61.js +1 -0
- package/out/_next/static/chunks/3aa-weedhv4e0.js +1 -0
- package/out/_next/static/chunks/3erbaukgkw8f2.js +1 -0
- package/out/_next/static/chunks/3fea100s764m-.js +1 -0
- package/out/_next/static/chunks/3g0c367tk4esf.js +1 -0
- package/out/_next/static/chunks/{0gcsdf57gcm6h.js → 3oe03qxgd_rid.js} +1 -1
- package/out/_next/static/chunks/3qj5xz_d4cbk6.js +1 -0
- package/out/_next/static/chunks/3r5wf57k0gys9.js +1 -0
- package/out/_next/static/chunks/3yc_zd5vxq0j7.css +1 -0
- package/out/_next/static/chunks/{turbopack-0xta0kqwzkf28.js → turbopack-026p0g9v9_pva.js} +1 -1
- package/out/_not-found/__next._full.txt +13 -13
- package/out/_not-found/__next._head.txt +3 -3
- package/out/_not-found/__next._index.txt +8 -8
- package/out/_not-found/__next._not-found.__PAGE__.txt +4 -4
- package/out/_not-found/__next._not-found.txt +3 -3
- package/out/_not-found/__next._tree.txt +3 -3
- package/out/_not-found/index.html +3 -3
- package/out/_not-found/index.txt +13 -13
- package/out/admin/__next._full.txt +15 -15
- package/out/admin/__next._head.txt +3 -3
- package/out/admin/__next._index.txt +8 -8
- package/out/admin/__next._tree.txt +4 -4
- package/out/admin/__next.admin.__PAGE__.txt +4 -4
- package/out/admin/__next.admin.txt +4 -4
- package/out/admin/index.html +3 -3
- package/out/admin/index.txt +15 -15
- package/out/app/__next._full.txt +14 -14
- package/out/app/__next._head.txt +3 -3
- package/out/app/__next._index.txt +8 -8
- package/out/app/__next._tree.txt +3 -3
- package/out/app/__next.app.__PAGE__.txt +4 -4
- package/out/app/__next.app.txt +3 -3
- package/out/app/index.html +3 -3
- package/out/app/index.txt +14 -14
- package/out/chat/__next._full.txt +15 -15
- package/out/chat/__next._head.txt +3 -3
- package/out/chat/__next._index.txt +8 -8
- package/out/chat/__next._tree.txt +4 -4
- package/out/chat/__next.chat.__PAGE__.txt +4 -4
- package/out/chat/__next.chat.txt +4 -4
- package/out/chat/index.html +3 -3
- package/out/chat/index.txt +15 -15
- package/out/chat/join/__next._full.txt +15 -15
- package/out/chat/join/__next._head.txt +3 -3
- package/out/chat/join/__next._index.txt +8 -8
- package/out/chat/join/__next._tree.txt +4 -4
- package/out/chat/join/__next.chat.join.__PAGE__.txt +4 -4
- package/out/chat/join/__next.chat.join.txt +3 -3
- package/out/chat/join/__next.chat.txt +4 -4
- package/out/chat/join/index.html +3 -3
- package/out/chat/join/index.txt +15 -15
- package/out/demo/__next._full.txt +27 -0
- package/out/demo/__next._head.txt +5 -0
- package/out/demo/__next._index.txt +9 -0
- package/out/demo/__next._tree.txt +7 -0
- package/out/demo/__next.demo.__PAGE__.txt +12 -0
- package/out/demo/__next.demo.txt +5 -0
- package/out/demo/index.html +17 -0
- package/out/demo/index.txt +27 -0
- package/out/download/__next._full.txt +35 -37
- package/out/download/__next._head.txt +3 -3
- package/out/download/__next._index.txt +8 -8
- package/out/download/__next._tree.txt +5 -5
- package/out/download/__next.download.__PAGE__.txt +7 -7
- package/out/download/__next.download.txt +3 -3
- package/out/download/index.html +3 -3
- package/out/download/index.txt +35 -37
- package/out/favicon.ico +0 -0
- package/out/game/__next._full.txt +13 -13
- package/out/game/__next._head.txt +3 -3
- package/out/game/__next._index.txt +8 -8
- package/out/game/__next._tree.txt +4 -4
- package/out/game/__next.game.__PAGE__.txt +2 -2
- package/out/game/__next.game.txt +4 -4
- package/out/game/gandengyan/__next._full.txt +16 -16
- package/out/game/gandengyan/__next._head.txt +3 -3
- package/out/game/gandengyan/__next._index.txt +8 -8
- package/out/game/gandengyan/__next._tree.txt +5 -5
- package/out/game/gandengyan/__next.game.gandengyan.__PAGE__.txt +5 -5
- package/out/game/gandengyan/__next.game.gandengyan.txt +3 -3
- package/out/game/gandengyan/__next.game.txt +4 -4
- package/out/game/gandengyan/index.html +3 -3
- package/out/game/gandengyan/index.txt +16 -16
- package/out/game/index.html +1 -1
- package/out/game/index.txt +13 -13
- package/out/game/zhajinhua/__next._full.txt +15 -15
- package/out/game/zhajinhua/__next._head.txt +3 -3
- package/out/game/zhajinhua/__next._index.txt +8 -8
- package/out/game/zhajinhua/__next._tree.txt +4 -4
- package/out/game/zhajinhua/__next.game.txt +4 -4
- package/out/game/zhajinhua/__next.game.zhajinhua.__PAGE__.txt +4 -4
- package/out/game/zhajinhua/__next.game.zhajinhua.txt +3 -3
- package/out/game/zhajinhua/index.html +3 -3
- package/out/game/zhajinhua/index.txt +15 -15
- package/out/index.html +3 -3
- package/out/index.txt +16 -16
- package/out/logo-512.png +0 -0
- package/out/logo.ico +0 -0
- package/out/logo.svg +12 -0
- package/out/note/__next._full.txt +14 -14
- package/out/note/__next._head.txt +3 -3
- package/out/note/__next._index.txt +8 -8
- package/out/note/__next._tree.txt +3 -3
- package/out/note/__next.note.__PAGE__.txt +4 -4
- package/out/note/__next.note.txt +3 -3
- package/out/note/index.html +3 -3
- package/out/note/index.txt +14 -14
- package/out/ping/__next._full.txt +16 -16
- package/out/ping/__next._head.txt +3 -3
- package/out/ping/__next._index.txt +8 -8
- package/out/ping/__next._tree.txt +5 -5
- package/out/ping/__next.ping.__PAGE__.txt +5 -5
- package/out/ping/__next.ping.txt +4 -4
- package/out/ping/index.html +3 -3
- package/out/ping/index.txt +16 -16
- package/out/web3/__next._full.txt +15 -15
- package/out/web3/__next._head.txt +3 -3
- package/out/web3/__next._index.txt +8 -8
- package/out/web3/__next._tree.txt +4 -4
- package/out/web3/__next.web3.__PAGE__.txt +4 -4
- package/out/web3/__next.web3.txt +4 -4
- package/out/web3/ed25519/__next._full.txt +13 -13
- package/out/web3/ed25519/__next._head.txt +3 -3
- package/out/web3/ed25519/__next._index.txt +8 -8
- package/out/web3/ed25519/__next._tree.txt +4 -4
- package/out/web3/ed25519/__next.web3.ed25519.__PAGE__.txt +2 -2
- package/out/web3/ed25519/__next.web3.ed25519.txt +3 -3
- package/out/web3/ed25519/__next.web3.txt +4 -4
- package/out/web3/ed25519/index.html +1 -1
- package/out/web3/ed25519/index.txt +13 -13
- package/out/web3/index.html +3 -3
- package/out/web3/index.txt +15 -15
- package/out/web3/tools/__next._full.txt +13 -13
- package/out/web3/tools/__next._head.txt +3 -3
- package/out/web3/tools/__next._index.txt +8 -8
- package/out/web3/tools/__next._tree.txt +4 -4
- package/out/web3/tools/__next.web3.tools.__PAGE__.txt +2 -2
- package/out/web3/tools/__next.web3.tools.txt +3 -3
- package/out/web3/tools/__next.web3.txt +4 -4
- package/out/web3/tools/index.html +1 -1
- package/out/web3/tools/index.txt +13 -13
- package/package.json +27 -27
- package/public/favicon.ico +0 -0
- package/public/logo-512.png +0 -0
- package/public/logo.ico +0 -0
- package/public/logo.svg +12 -0
- package/server/src/core/mostLink.js +1 -1
- package/server/src/games/gandengyan.js +49 -19
- package/server/src/http/app.js +40 -15
- package/server/src/http/nodeStatus.js +37 -0
- package/server/src/http/uploads.js +1 -0
- package/server/src/index.js +417 -112
- package/server/src/utils/avatar.js +3 -2
- package/out/_next/static/chunks/03gsbg0fr00ey.js +0 -1
- package/out/_next/static/chunks/0adx~d-j05c9d.css +0 -24
- package/out/_next/static/chunks/0ao1lbi4b.sfa.js +0 -1
- package/out/_next/static/chunks/0fo9-h4knidcz.js +0 -1
- package/out/_next/static/chunks/0g_a~e050bgzg.css +0 -1
- package/out/_next/static/chunks/0h4r.qtmpa6eh.js +0 -1
- package/out/_next/static/chunks/0hpev4am9jpmu.css +0 -1
- package/out/_next/static/chunks/0hyds~bp.auvh.js +0 -1
- package/out/_next/static/chunks/0i9sfdypwuw8~.js +0 -1
- package/out/_next/static/chunks/0o9ce4cyf76by.js +0 -736
- package/out/_next/static/chunks/0olqjomda37-e.js +0 -1
- package/out/_next/static/chunks/0puk.7e.tr2zy.js +0 -1
- package/out/_next/static/chunks/0qgx9t4jx16ua.css +0 -1
- package/out/_next/static/chunks/0s1k6rlwy02c2.js +0 -1
- package/out/_next/static/chunks/0sgltmtk_9s8p.css +0 -1
- package/out/_next/static/chunks/0snehvtvu1n4q.js +0 -1
- package/out/_next/static/chunks/0s~g.l~x049o2.js +0 -1
- package/out/_next/static/chunks/0t_3xxx4zkerp.js +0 -5
- package/out/_next/static/chunks/0u38kke9vhobe.js +0 -1
- package/out/_next/static/chunks/0vd4_a5x-wpdh.js +0 -1
- package/out/_next/static/chunks/0xdwau5k2augv.css +0 -4
- package/out/_next/static/chunks/0xx_10jns1.s7.css +0 -1
- package/out/_next/static/chunks/10f-t2n4y1zx8.js +0 -1
- package/out/_next/static/chunks/13jdyag9a-~kk.js +0 -1
- package/out/_next/static/chunks/153-sz7s.qml2.js +0 -1
- package/out/_next/static/chunks/17cwkb2yn_akx.js +0 -1
- /package/out/_next/static/{sSvbBrwXZY-4lBmcHshga → NPIlpdzQWkiVZpgfhlypH}/_buildManifest.js +0 -0
- /package/out/_next/static/{sSvbBrwXZY-4lBmcHshga → NPIlpdzQWkiVZpgfhlypH}/_clientMiddlewareManifest.js +0 -0
- /package/out/_next/static/{sSvbBrwXZY-4lBmcHshga → NPIlpdzQWkiVZpgfhlypH}/_ssgManifest.js +0 -0
- /package/out/_next/static/chunks/{0bld2u_ld~va2.js → 0-jy8rfo075fy.js} +0 -0
- /package/out/_next/static/chunks/{0bliugh5lxw55.js → 0-kczrcxjk7lc.js} +0 -0
- /package/out/_next/static/chunks/{00d9h1tddnnnd.js → 012yllpioyi-k.js} +0 -0
- /package/out/_next/static/chunks/{00tkdqwxch-3s.js → 02f7w-ybfnvpd.js} +0 -0
- /package/out/_next/static/chunks/{01l3o90g~1z42.js → 04_v8i3c2y4ni.js} +0 -0
- /package/out/_next/static/chunks/{01xlw8hd842-c.js → 05-c3ty_6dwfk.js} +0 -0
- /package/out/_next/static/chunks/{01mfky9camw6i.js → 052vp9tk7oqx6.js} +0 -0
- /package/out/_next/static/chunks/{01r.v-pqs1vrm.js → 05k6874y7n0cw.js} +0 -0
- /package/out/_next/static/chunks/{02zzxfop_k6tl.css → 09g8c9-u_uh1z.css} +0 -0
- /package/out/_next/static/chunks/{03edqrb4zdj~g.js → 0az8vxg2gfuhm.js} +0 -0
- /package/out/_next/static/chunks/{03h_6oo-gqkhz.js → 0b899y85ei3i_.js} +0 -0
- /package/out/_next/static/chunks/{03~yq9q893hmn.js → 0cz1d0mv5g_q7.js} +0 -0
- /package/out/_next/static/chunks/{04hcgsanv1hhu.js → 0eg1osglq6nq7.js} +0 -0
- /package/out/_next/static/chunks/{05g2q0w5b34.g.js → 0hlvocunlbrjs.js} +0 -0
- /package/out/_next/static/chunks/{05of77xycbt8~.js → 0i9k23rx749fx.js} +0 -0
- /package/out/_next/static/chunks/{05zwemzfjx3sh.js → 0j6wiyqf1637r.js} +0 -0
- /package/out/_next/static/chunks/{06dpc5df94.v1.js → 0knzyzd1jvley.js} +0 -0
- /package/out/_next/static/chunks/{06e1~1-z_ic9a.js → 0kp8ujaqwut11.js} +0 -0
- /package/out/_next/static/chunks/{075s7sn.ns~u5.js → 0n92y9hb-ta0u.js} +0 -0
- /package/out/_next/static/chunks/{07dynrbvd3.f4.js → 0nybb-z3ufrbx.js} +0 -0
- /package/out/_next/static/chunks/{07r9nn-pzlgg1.js → 0o-o9af-grvj8.js} +0 -0
- /package/out/_next/static/chunks/{07p~uva5pwgwe.js → 0oxr0r0aewn99.js} +0 -0
- /package/out/_next/static/chunks/{08576xhv~~jck.js → 0qh3b90ouc9bd.js} +0 -0
- /package/out/_next/static/chunks/{08u211~k~qu52.js → 0sh_jm8siqvek.js} +0 -0
- /package/out/_next/static/chunks/{08.72abkgwy9g.js → 0t86ducxkqweb.js} +0 -0
- /package/out/_next/static/chunks/{098.p.2-zm4p7.js → 0u0j5i6-n4oqd.js} +0 -0
- /package/out/_next/static/chunks/{09ngvtajm7e5y.js → 0v73vfxjds7sj.js} +0 -0
- /package/out/_next/static/chunks/{09ps~-43n5qyo.js → 0ve8ixremhwy0.js} +0 -0
- /package/out/_next/static/chunks/{09v7_0gclxr46.js → 0vv5cwj6kr506.js} +0 -0
- /package/out/_next/static/chunks/{09yql86dir9c4.js → 0w3wf8o-ewec9.js} +0 -0
- /package/out/_next/static/chunks/{09zmlfljowj1~.js → 0w6o4o76scrb2.js} +0 -0
- /package/out/_next/static/chunks/{0n4t80gjc3q5h.js → 1-88dio6azz54.js} +0 -0
- /package/out/_next/static/chunks/{0cn9a7aimbdzq.js → 12zg24u7mbv4z.js} +0 -0
- /package/out/_next/static/chunks/{0d3f-nk3c.2re.js → 14lsse587-ccf.js} +0 -0
- /package/out/_next/static/chunks/{0dtohpf7~3d12.js → 16qtikqm_sate.js} +0 -0
- /package/out/_next/static/chunks/{0e531nije_ln2.js → 17_ly1mk2z3q8.js} +0 -0
- /package/out/_next/static/chunks/{0e5zvj_rh0z3m.js → 181421-y2xzj7.js} +0 -0
- /package/out/_next/static/chunks/{0myp4sjagr~h0.js → 1_e-vuvfsntao.js} +0 -0
- /package/out/_next/static/chunks/{0e-3e8h7g99yf.js → 1aljc62wfhqhr.js} +0 -0
- /package/out/_next/static/chunks/{0f4y~rkk-n81e.js → 1b7mbzsylsn-m.js} +0 -0
- /package/out/_next/static/chunks/{0fk~0~p7ivfn1.js → 1cjakikh0o1tm.js} +0 -0
- /package/out/_next/static/chunks/{0fw6juc~lsj3z.js → 1dfzez629llzh.js} +0 -0
- /package/out/_next/static/chunks/{0g0u7785a73vo.js → 1e4ilit3ave6c.js} +0 -0
- /package/out/_next/static/chunks/{0gze5uso1mbe9.js → 1gzgcv355ziff.js} +0 -0
- /package/out/_next/static/chunks/{0g_fpgh7drfda.js → 1h0o6fj73le9_.js} +0 -0
- /package/out/_next/static/chunks/{0hf.aosc-7172.js → 1in766ibz5l-p.js} +0 -0
- /package/out/_next/static/chunks/{0hgz35c1ejbs9.js → 1ip_c70si4tj2.js} +0 -0
- /package/out/_next/static/chunks/{0hrw-r.xmvmsq.js → 1jlu197-yog_n.js} +0 -0
- /package/out/_next/static/chunks/{0hzg4al.v~8~m.js → 1k788fny29y_j.js} +0 -0
- /package/out/_next/static/chunks/{0ip9xrols_83o.js → 1mnhfyfn52md5.js} +0 -0
- /package/out/_next/static/chunks/{0j4-d0qf.v~kn.js → 1o8brm8yipzn4.js} +0 -0
- /package/out/_next/static/chunks/{0jhdeq.j9_02m.js → 1p8oa39bqu6ed.js} +0 -0
- /package/out/_next/static/chunks/{0jy63h3i-y69i.js → 1qmnmb_dutuw8.js} +0 -0
- /package/out/_next/static/chunks/{0kdnx_u-60k9s.js → 1s6rdcw0q185p.js} +0 -0
- /package/out/_next/static/chunks/{0kq~edq42o1-c.js → 1ta0w8zc7tae7.js} +0 -0
- /package/out/_next/static/chunks/{0l682p362d-5w.js → 1uvi_hie0s3z5.js} +0 -0
- /package/out/_next/static/chunks/{0m68p9txef5rs.js → 1y36s6sv2z7r4.js} +0 -0
- /package/out/_next/static/chunks/{0mme-fm5d2oz2.js → 1zf4i-oj7n-ll.js} +0 -0
- /package/out/_next/static/chunks/{0y.li-~3oybew.js → 2-vtwv8h_uokj.js} +0 -0
- /package/out/_next/static/chunks/{0n.qlfk~z7o.6.js → 2227enga_0c-6.js} +0 -0
- /package/out/_next/static/chunks/{0oz3yl6_-716p.js → 24zr4q96g-eii.js} +0 -0
- /package/out/_next/static/chunks/{0pqt~8bl3ukh4.js → 27jktro2p5rq9.js} +0 -0
- /package/out/_next/static/chunks/{0yl2t7cs-n_ng.js → 2_cqphhur0a6t.js} +0 -0
- /package/out/_next/static/chunks/{0yq3kh.hchtm_.js → 2_s88st3j0tql.js} +0 -0
- /package/out/_next/static/chunks/{0ys0l5au.9c2c.js → 2_y6edbaubqrt.js} +0 -0
- /package/out/_next/static/chunks/{0qqupeexg83u7.js → 2at8y3pbt5cue.js} +0 -0
- /package/out/_next/static/chunks/{0rb-ri481.kc9.js → 2cv1zex4has67.js} +0 -0
- /package/out/_next/static/chunks/{0rsnmahfd.59p.js → 2e6j5h4ftd4jd.js} +0 -0
- /package/out/_next/static/chunks/{0rt6rgnvr-s_p.js → 2e8b26r0td7ou.js} +0 -0
- /package/out/_next/static/chunks/{0runh28p_gg6..js → 2ecppdrjm9cs4.js} +0 -0
- /package/out/_next/static/chunks/{0shy.t1fwqcev.js → 2gl0wusc9zf3d.js} +0 -0
- /package/out/_next/static/chunks/{0t2xr05rlu96l.js → 2im7c515bo69p.js} +0 -0
- /package/out/_next/static/chunks/{0t6h56rhg1y5i.js → 2ixaku9ie8hym.js} +0 -0
- /package/out/_next/static/chunks/{0tdqd1zunusgk.js → 2jhnrjgj_k2-z.js} +0 -0
- /package/out/_next/static/chunks/{0ujbnp38x63ek.js → 2n6pb94vmohgf.js} +0 -0
- /package/out/_next/static/chunks/{0ukyg~tkm~h2m.css → 2nbju8t9-ux58.css} +0 -0
- /package/out/_next/static/chunks/{0v68pdrp54lb-.js → 2pdxw43rsbho0.js} +0 -0
- /package/out/_next/static/chunks/{0vsm0m5sxrb.3.js → 2r6z3vlfw0ppd.js} +0 -0
- /package/out/_next/static/chunks/{0vzlz.iboqo3c.js → 2rskzmv3skmq3.js} +0 -0
- /package/out/_next/static/chunks/{0w87vbpkf-ogd.js → 2stoe6xiau1b3.js} +0 -0
- /package/out/_next/static/chunks/{0xgg0~kmf3gd-.js → 2wqoc60afpg_5.js} +0 -0
- /package/out/_next/static/chunks/{0xj24-70ptdzp.js → 2wyvwsayrr98o.js} +0 -0
- /package/out/_next/static/chunks/{0xxlx772fr3x4.js → 2y3o2mnyfnx68.js} +0 -0
- /package/out/_next/static/chunks/{16i.qbk8t8gf_.js → 3-7y7sjol3yto.js} +0 -0
- /package/out/_next/static/chunks/{0z48pmi6buytt.js → 3089gugfv3ov9.js} +0 -0
- /package/out/_next/static/chunks/{0zapnvgy89mg..js → 30s3_0brd77ky.js} +0 -0
- /package/out/_next/static/chunks/{0_s~ebb-7b2hr.js → 35idql3ziq0wz.js} +0 -0
- /package/out/_next/static/chunks/{0_w-0-2z5oqd_.js → 35unmm4isvqg5.js} +0 -0
- /package/out/_next/static/chunks/{0-n3pg7th.zza.js → 389wmv2b6x2nn.js} +0 -0
- /package/out/_next/static/chunks/{0~4f5p6tvn1lq.js → 39-oy5n969lo6.js} +0 -0
- /package/out/_next/static/chunks/{0~3ik-hfp9s-7.js → 39yvee40syj70.js} +0 -0
- /package/out/_next/static/chunks/{0~_0ys.2whxbw.js → 3clhij8e1eul0.js} +0 -0
- /package/out/_next/static/chunks/{0~_ui9l7.2sxf.js → 3cnsdzbvm3q7p.js} +0 -0
- /package/out/_next/static/chunks/{0~.-vxi5oc.r0.js → 3cxmalqqghdac.js} +0 -0
- /package/out/_next/static/chunks/{0.4j.0k5a64vg.js → 3d9p88evh2scq.js} +0 -0
- /package/out/_next/static/chunks/{0.ozi1_x2.m.~.js → 3eyprczj7yrg6.js} +0 -0
- /package/out/_next/static/chunks/{0.t5wlt51zou5.js → 3f9v_gtppe4hs.js} +0 -0
- /package/out/_next/static/chunks/{0.w4hkvap~bva.js → 3fj0amtzqae6f.js} +0 -0
- /package/out/_next/static/chunks/{1037jlyw5~7ht.js → 3gf98e08a-l_e.js} +0 -0
- /package/out/_next/static/chunks/{1045hfzu533z0.js → 3gi6og9m_yaak.js} +0 -0
- /package/out/_next/static/chunks/{104e5nmc.c-pl.js → 3giw7r1lii84y.js} +0 -0
- /package/out/_next/static/chunks/{109taw1pbh-0b.js → 3gzhy1cs_f2oi.js} +0 -0
- /package/out/_next/static/chunks/{10ynz1dy483wf.js → 3i_ceknny1oqt.js} +0 -0
- /package/out/_next/static/chunks/{10x7~onqwp338.js → 3iw0815ssih3b.js} +0 -0
- /package/out/_next/static/chunks/{11hds.mg~4_r-.js → 3kun-vwr7nzd4.js} +0 -0
- /package/out/_next/static/chunks/{11ibzaklcauw~.js → 3kxm1e-b1er3_.js} +0 -0
- /package/out/_next/static/chunks/{11z.0s6.42b.p.js → 3mc8fynmv71yg.js} +0 -0
- /package/out/_next/static/chunks/{126enaq~f7scl.js → 3n6cor2n9zyn7.js} +0 -0
- /package/out/_next/static/chunks/{12pep-2t-qg4n.css → 3or2h8swxfxyj.css} +0 -0
- /package/out/_next/static/chunks/{12-9n56l0y3yr.js → 3ppt04b6xqz29.js} +0 -0
- /package/out/_next/static/chunks/{1380op_pfk.qo.js → 3ql2pi_m5_5p_.js} +0 -0
- /package/out/_next/static/chunks/{14a4fwbiq.l3z.js → 3t-6u8caafiu9.js} +0 -0
- /package/out/_next/static/chunks/{146oiw1bggtn4.js → 3tqdzb_n12tdm.js} +0 -0
- /package/out/_next/static/chunks/{14cowsqn95m1k.js → 3u6zpg943kpst.js} +0 -0
- /package/out/_next/static/chunks/{14dtd3l03v.kx.js → 3uaedu2hf291z.js} +0 -0
- /package/out/_next/static/chunks/{14tm3qa-v9o-4.js → 3vladx3wh0d4k.js} +0 -0
- /package/out/_next/static/chunks/{14_inksek_rth.js → 3w4o9hklow6fg.js} +0 -0
- /package/out/_next/static/chunks/{14_po2rb_arn4.js → 3w56w25z6u89b.js} +0 -0
- /package/out/_next/static/chunks/{157z7bowux3xj.js → 3x1y_gkazt6kx.js} +0 -0
- /package/out/_next/static/chunks/{15m1_677az2cm.js → 3y7r1h96dtcov.js} +0 -0
- /package/out/_next/static/chunks/{15v.~.ne6ogkk.js → 3z0hydntmwg19.js} +0 -0
- /package/out/_next/static/chunks/{15-o4kb-evqd7.js → 3zhu1svjr0bc5.js} +0 -0
- /package/out/_next/static/chunks/{16u9f35gylw8l.js → 404orp1erq__7.js} +0 -0
- /package/out/_next/static/chunks/{17ajyb5ogk5yj.js → 41talcs-dc2tc.js} +0 -0
- /package/out/_next/static/chunks/{17dyfxbq8yz8n.js → 421pn8weymo-b.js} +0 -0
- /package/out/_next/static/chunks/{180zln9pcq9ih.js → 44987pmr20now.js} +0 -0
- /package/out/_next/static/chunks/{1814izi5gh.kp.js → 449ygeh62gitc.js} +0 -0
- /package/out/_next/static/media/{KaTeX_AMS-Regular.0b~8ki5y928w2.woff → KaTeX_AMS-Regular.10y3kupq4t663.woff} +0 -0
- /package/out/_next/static/media/{KaTeX_AMS-Regular.0p1vbqd84i2~o.woff2 → KaTeX_AMS-Regular.25ieegmnh38ts.woff2} +0 -0
- /package/out/_next/static/media/{KaTeX_AMS-Regular.173t6ktr7uf-w.ttf → KaTeX_AMS-Regular.418dr7cz3fo2x.ttf} +0 -0
- /package/out/_next/static/media/{KaTeX_Caligraphic-Bold.01-pzluls4zgb.woff2 → KaTeX_Caligraphic-Bold.06b-ya9t43ioz.woff2} +0 -0
- /package/out/_next/static/media/{KaTeX_Caligraphic-Bold.0x2v1lwn~880f.woff → KaTeX_Caligraphic-Bold.2vmk2hva4ctha.woff} +0 -0
- /package/out/_next/static/media/{KaTeX_Caligraphic-Bold.16zv5fax0h0ka.ttf → KaTeX_Caligraphic-Bold.40ltxhe834pns.ttf} +0 -0
- /package/out/_next/static/media/{KaTeX_Caligraphic-Regular.02i3z7wig438t.ttf → KaTeX_Caligraphic-Regular.07-7u27-nhn_r.ttf} +0 -0
- /package/out/_next/static/media/{KaTeX_Caligraphic-Regular.0rysu1t-ncjq8.woff2 → KaTeX_Caligraphic-Regular.2eph4dlhid_m9.woff2} +0 -0
- /package/out/_next/static/media/{KaTeX_Caligraphic-Regular.10927swgekwun.woff → KaTeX_Caligraphic-Regular.3gxeetazf831f.woff} +0 -0
- /package/out/_next/static/media/{KaTeX_Fraktur-Bold.0et27v~3~4uhe.ttf → KaTeX_Fraktur-Bold.19yqa_tc9d_gx.ttf} +0 -0
- /package/out/_next/static/media/{KaTeX_Fraktur-Bold.0e-16u10iuyyf.woff → KaTeX_Fraktur-Bold.1alcy76__wdj2.woff} +0 -0
- /package/out/_next/static/media/{KaTeX_Fraktur-Bold.0w23i72~hprpq.woff2 → KaTeX_Fraktur-Bold.2sasz-d-jtw8y.woff2} +0 -0
- /package/out/_next/static/media/{KaTeX_Fraktur-Regular.0b.riegzdfue2.woff → KaTeX_Fraktur-Regular.110oo81prr9n5.woff} +0 -0
- /package/out/_next/static/media/{KaTeX_Fraktur-Regular.0rekyoa-52fj_.woff2 → KaTeX_Fraktur-Regular.2d10y4xmjvzlf.woff2} +0 -0
- /package/out/_next/static/media/{KaTeX_Fraktur-Regular.0vjwa15znhk~4.ttf → KaTeX_Fraktur-Regular.2qhy34r6a05dn.ttf} +0 -0
- /package/out/_next/static/media/{KaTeX_Main-Bold.09i7~607shf-h.ttf → KaTeX_Main-Bold.0us_n0tnxlxu7.ttf} +0 -0
- /package/out/_next/static/media/{KaTeX_Main-Bold.09lmynrorhcbw.woff → KaTeX_Main-Bold.0v1esh257kqpe.woff} +0 -0
- /package/out/_next/static/media/{KaTeX_Main-Bold.16pfc63_du6mx.woff2 → KaTeX_Main-Bold.3-rowy8o6_4ky.woff2} +0 -0
- /package/out/_next/static/media/{KaTeX_Main-BoldItalic.0cp37g7x1q8h6.woff → KaTeX_Main-BoldItalic.13355ck5zr48q.woff} +0 -0
- /package/out/_next/static/media/{KaTeX_Main-BoldItalic.0d54rk08rx11s.woff2 → KaTeX_Main-BoldItalic.14r2naom8mrec.woff2} +0 -0
- /package/out/_next/static/media/{KaTeX_Main-BoldItalic.15j6k~hix2t_0.ttf → KaTeX_Main-BoldItalic.3x_u9cepaced0.ttf} +0 -0
- /package/out/_next/static/media/{KaTeX_Main-Italic.0382gqciexmbu.woff → KaTeX_Main-Italic.0afv392dj4w59.woff} +0 -0
- /package/out/_next/static/media/{KaTeX_Main-Italic.06o5nq0_91v60.woff2 → KaTeX_Main-Italic.0lig0v9j0700p.woff2} +0 -0
- /package/out/_next/static/media/{KaTeX_Main-Italic.0su4i6mm18-wo.ttf → KaTeX_Main-Italic.2hkw3230mfwcv.ttf} +0 -0
- /package/out/_next/static/media/{KaTeX_Main-Regular.08zh8z.7shijf.ttf → KaTeX_Main-Regular.0symfa7dqj6jd.ttf} +0 -0
- /package/out/_next/static/media/{KaTeX_Main-Regular.0diheg01zyoph.woff → KaTeX_Main-Regular.15u8r3b2y7fv4.woff} +0 -0
- /package/out/_next/static/media/{KaTeX_Main-Regular.0kaf-ag2_wkm-.woff2 → KaTeX_Main-Regular.1ryvsdzh2w1_e.woff2} +0 -0
- /package/out/_next/static/media/{KaTeX_Math-BoldItalic.0ajzxypnbx1h1.ttf → KaTeX_Math-BoldItalic.0y5w36a5aq__2.ttf} +0 -0
- /package/out/_next/static/media/{KaTeX_Math-BoldItalic.0ck1myuerwyqw.woff → KaTeX_Math-BoldItalic.12pl58orkw9rg.woff} +0 -0
- /package/out/_next/static/media/{KaTeX_Math-BoldItalic.0ja97dn.cpc87.woff2 → KaTeX_Math-BoldItalic.1oopuu636h4il.woff2} +0 -0
- /package/out/_next/static/media/{KaTeX_Math-Italic.09xkhecjcn5r9.woff → KaTeX_Math-Italic.0w0b1ugh62cfr.woff} +0 -0
- /package/out/_next/static/media/{KaTeX_Math-Italic.0x23a-bmp-5tg.ttf → KaTeX_Math-Italic.2vkekfblmz5nb.ttf} +0 -0
- /package/out/_next/static/media/{KaTeX_Math-Italic.0zrha2c4sl2je.woff2 → KaTeX_Math-Italic.32405s1aq8vas.woff2} +0 -0
- /package/out/_next/static/media/{KaTeX_SansSerif-Bold.05a9.pc1j_zx9.woff2 → KaTeX_SansSerif-Bold.0h3wi2z_eouyg.woff2} +0 -0
- /package/out/_next/static/media/{KaTeX_SansSerif-Bold.0jcl-ayi1uun0.woff → KaTeX_SansSerif-Bold.1ovw5p-yjp56g.woff} +0 -0
- /package/out/_next/static/media/{KaTeX_SansSerif-Bold.0re8y.dm7.mt5.ttf → KaTeX_SansSerif-Bold.2d03q85pwxpti.ttf} +0 -0
- /package/out/_next/static/media/{KaTeX_SansSerif-Italic.0a0234dc3s62j.woff2 → KaTeX_SansSerif-Italic.0wkjc4dm2kcit.woff2} +0 -0
- /package/out/_next/static/media/{KaTeX_SansSerif-Italic.0judofdln9731.woff → KaTeX_SansSerif-Italic.1qavw__2zz8gk.woff} +0 -0
- /package/out/_next/static/media/{KaTeX_SansSerif-Italic.10z1iap9pfus8.ttf → KaTeX_SansSerif-Italic.3i-q087b23-m8.ttf} +0 -0
- /package/out/_next/static/media/{KaTeX_SansSerif-Regular.0h9yjlugq4q_e.woff → KaTeX_SansSerif-Regular.1i4afx8nk8n4r.woff} +0 -0
- /package/out/_next/static/media/{KaTeX_SansSerif-Regular.0v6gcj32-czft.woff2 → KaTeX_SansSerif-Regular.2peiewu59z3d-.woff2} +0 -0
- /package/out/_next/static/media/{KaTeX_SansSerif-Regular.0zm18kga42ebc.ttf → KaTeX_SansSerif-Regular.31pbu25feko_c.ttf} +0 -0
- /package/out/_next/static/media/{KaTeX_Script-Regular.0c4.h-mer83d_.woff2 → KaTeX_Script-Regular.11h14300o9pd0.woff2} +0 -0
- /package/out/_next/static/media/{KaTeX_Script-Regular.0q14y6zkzlpob.ttf → KaTeX_Script-Regular.28p_x7iz71ofe.ttf} +0 -0
- /package/out/_next/static/media/{KaTeX_Script-Regular.0ze6v4r_-99oy.woff → KaTeX_Script-Regular.3110jb9c-bxna.woff} +0 -0
- /package/out/_next/static/media/{KaTeX_Size1-Regular.013x6a4ierotp.woff2 → KaTeX_Size1-Regular.03lhvx36ekcou.woff2} +0 -0
- /package/out/_next/static/media/{KaTeX_Size1-Regular.0kidw0oi.m68o.woff → KaTeX_Size1-Regular.1slf4bh0hc6vm.woff} +0 -0
- /package/out/_next/static/media/{KaTeX_Size1-Regular.0m6y-i6wfokni.ttf → KaTeX_Size1-Regular.1y57-ck23ey8c.ttf} +0 -0
- /package/out/_next/static/media/{KaTeX_Size2-Regular.0blpmluwilgbg.woff → KaTeX_Size2-Regular.0-kwyvx03omo8.woff} +0 -0
- /package/out/_next/static/media/{KaTeX_Size2-Regular.0d5inmyp-tyv3.woff2 → KaTeX_Size2-Regular.14s5gg-puz6h-.woff2} +0 -0
- /package/out/_next/static/media/{KaTeX_Size2-Regular.0wnhnvj-.k9d5.ttf → KaTeX_Size2-Regular.2u0s-b07k2o9m.ttf} +0 -0
- /package/out/_next/static/media/{KaTeX_Size3-Regular.01h0xm_sfctj3.woff → KaTeX_Size3-Regular.04o9a_02gu_e8.woff} +0 -0
- /package/out/_next/static/media/{KaTeX_Size3-Regular.0iukctyhw5j56.woff2 → KaTeX_Size3-Regular.1n1rgzz84z8r9.woff2} +0 -0
- /package/out/_next/static/media/{KaTeX_Size3-Regular.0jl8mqyf4gzpn.ttf → KaTeX_Size3-Regular.1pkn-dge4q0fv.ttf} +0 -0
- /package/out/_next/static/media/{KaTeX_Size4-Regular.0w3.rb_c4stzk.woff2 → KaTeX_Size4-Regular.2sgotkdv3dcyv.woff2} +0 -0
- /package/out/_next/static/media/{KaTeX_Size4-Regular.0wr_9l81-mu06.ttf → KaTeX_Size4-Regular.2uelkfk2yna5e.ttf} +0 -0
- /package/out/_next/static/media/{KaTeX_Size4-Regular.12tvaesf3.zl3.woff → KaTeX_Size4-Regular.3p2r1l7xmebxv.woff} +0 -0
- /package/out/_next/static/media/{KaTeX_Typewriter-Regular.0c4zdxz~8frhm.woff2 → KaTeX_Typewriter-Regular.11gr2d2wuwz77.woff2} +0 -0
- /package/out/_next/static/media/{KaTeX_Typewriter-Regular.0cgrzn5l3kao5.woff → KaTeX_Typewriter-Regular.12f8myjij3617.woff} +0 -0
- /package/out/_next/static/media/{KaTeX_Typewriter-Regular.128~qc3858otl.ttf → KaTeX_Typewriter-Regular.3nee9kjfy6nm8.ttf} +0 -0
- /package/out/{pwa-512x512.png → avatar.png} +0 -0
- /package/public/{pwa-512x512.png → avatar.png} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,68590,e=>{"use strict";let a=(0,e.i(56420).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);e.s(["MessageSquare",0,a],68590)},30274,e=>{"use strict";let a=(0,e.i(56420).default)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);e.s(["Send",0,a],30274)},87884,e=>{"use strict";var a=e.i(26913);e.s(["channelApi",0,{getChannels(e={}){let t=new URLSearchParams;e.type&&t.set("type",e.type),e.excludeType&&t.set("excludeType",e.excludeType);let s=t.toString();return a.api.get(s?`/api/channels?${s}`:"/api/channels").json()},createChannel:(e,t="personal",s={})=>a.api.post("/api/channels",{json:{name:e,type:t,...s}}).json(),leaveChannel:e=>a.api.delete(`/api/channels/${encodeURIComponent(e)}`).json(),getChannelMessages:(e,t=100,s=0)=>a.api.get(`/api/channels/${encodeURIComponent(e)}/messages?limit=${t}&offset=${s}`).json(),sendChannelMessage:({channelName:e,content:t,author:s,authorName:n,avatar:i,attachment:r})=>a.api.post(`/api/channels/${encodeURIComponent(e)}/messages`,{json:r?{content:t,author:s,authorName:n,avatar:i,attachment:r}:{content:t,author:s,authorName:n,avatar:i}}).json(),getChannelMembers:e=>a.api.get(`/api/channels/${encodeURIComponent(e)}/members`).json(),getChannelPeers:e=>a.api.get(`/api/channels/${encodeURIComponent(e)}/peers`).json(),setChannelRemark:(e,t)=>a.api.put(`/api/channels/${encodeURIComponent(e)}/remark`,{json:{remark:t}}).json(),getFileDownloadUrl:e=>(0,a.getApiUrl)(`/api/files/${e}/download`)}])},23952,e=>{"use strict";var a=e.i(71645),t=e.i(87884),s=e.i(26913);function n(e){return String(e.id||`${e.author||""}-${e.timestamp||""}-${e.content||""}`)}e.s(["useChannelMessages",0,function({isReady:e,enabled:i=!0,channelName:r="",peerId:l="",waitForPeerId:c=!1,limit:d=100,reconnectBaseDelay:o=2500,acceptMessage:u,getMessageKey:h=n,onSyncError:m,onSocketEvent:p}){let[f,x]=(0,a.useState)([]),[y,g]=(0,a.useState)(!1),v=(0,a.useRef)(null),j=(0,a.useRef)(r),b=(0,a.useRef)(null),k=(0,a.useRef)(0),w=(0,a.useRef)(u),N=(0,a.useRef)(h),C=(0,a.useRef)(p),S=(0,a.useRef)(m),M=(0,a.useRef)(l);(0,a.useEffect)(()=>{w.current=u},[u]),(0,a.useEffect)(()=>{N.current=h},[h]),(0,a.useEffect)(()=>{C.current=p},[p]),(0,a.useEffect)(()=>{S.current=m},[m]);let I=(0,a.useCallback)(e=>{let a=w.current;return a?e.filter(a):e},[]),A=(0,a.useCallback)((e,a,t=!0)=>{let s=[...e];for(let e of I(a)){let a=N.current(e);if(t){let t=s.findIndex(a=>a.pending&&a.author?.toLowerCase()===e.author?.toLowerCase()&&a.content===e.content);if(-1!==t){s[t]={...e,id:e.id||a};continue}}s.some(e=>N.current(e)===a)||s.push({...e,id:e.id||a})}return s},[I]),z=(0,a.useCallback)((e,a)=>{v.current?.readyState===WebSocket.OPEN&&v.current.send(JSON.stringify({event:e,data:a}))},[]),$=(0,a.useCallback)(e=>{e&&z("channel:subscribe",{channel:e})},[z]),E=(0,a.useCallback)(e=>{e&&z("channel:unsubscribe",{channel:e})},[z]),R=(0,a.useCallback)(async(a=j.current,s={})=>{if(!a||!e)return[];try{let e=I(await t.channelApi.getChannelMessages(a,d));return x(a=>s.replace?e:A(a,e,!1)),e}catch(e){return s.replace&&x([]),await S.current?.(e),[]}},[I,e,d,A]);(0,a.useEffect)(()=>{M.current=l,l&&(z("register",{peerId:l}),c&&j.current&&($(j.current),R(j.current,{replace:!0})))},[l,$,R,c,z]);let D=(0,a.useCallback)(()=>{x([])},[]),L=(0,a.useCallback)(async({channelName:e=j.current,content:a,author:s,authorName:n,avatar:i,attachment:r,optimisticId:l})=>{let c=a.trim();if(!e||!c)return null;let d={id:l||`${s}-${Date.now()}-${Math.random().toString(36).slice(2)}`,author:s,authorName:n,content:c,timestamp:Date.now(),pending:!0,attachment:r};x(e=>[...e,d]);try{let a=await t.channelApi.sendChannelMessage({channelName:e,content:c,author:s,authorName:n,avatar:i,attachment:r});return x(e=>e.map(e=>e.id===d.id?{...a.message,id:a.message.id||N.current(a.message)}:e)),a.message}catch(e){throw x(e=>e.filter(e=>e.id!==d.id)),e}},[]);return(0,a.useEffect)(()=>{let a=j.current;if(j.current=r,a&&a!==r&&E(a),r&&e&&i)return R(r,{replace:!0}),(!c||M.current)&&$(r),()=>E(r)},[r,i,e,$,R,E,c]),(0,a.useEffect)(()=>{if(!e||!i)return void g(!1);let a=!1;async function t(){let e=new WebSocket(await (0,s.getAuthenticatedWebSocketUrl)("/ws"));a?e.close():(e.onopen=()=>{g(!0),k.current=0,M.current&&e.send(JSON.stringify({event:"register",data:{peerId:M.current}})),j.current&&(!c||M.current)&&($(j.current),R(j.current,{replace:!0}))},e.onmessage=e=>{try{let a=JSON.parse(e.data);C.current?.(a.event,a.data),"channel:message"===a.event&&a.data?.channel===j.current&&a.data?.message&&x(e=>A(e,[a.data.message]))}catch{}},e.onclose=()=>{if(g(!1),a)return;let e=k.current;if(e>=20)return;let s=Math.min(o*Math.pow(2,e),3e4);k.current=e+1,b.current=setTimeout(t,s)},e.onerror=()=>e.close(),v.current=e)}return k.current=0,t(),()=>{a=!0,b.current&&clearTimeout(b.current),v.current?.close(),v.current=null}},[i,e,A,o,$,R,c]),{clearMessages:D,connected:y,messages:f,sendMessage:L,setMessages:x,syncMessages:R}}])},62368,e=>{"use strict";let a=(0,e.i(56420).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["Download",0,a],62368)},66595,e=>{"use strict";let a=(0,e.i(56420).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",0,a],66595)},51921,e=>{"use strict";let a=(0,e.i(56420).default)("music",[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]]);e.s(["Music",0,a],51921)},15170,e=>{"use strict";let a=(0,e.i(56420).default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);e.s(["Image",0,a],15170)},80796,e=>{"use strict";let a=(0,e.i(56420).default)("film",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M7 3v18",key:"bbkbws"}],["path",{d:"M3 7.5h4",key:"zfgn84"}],["path",{d:"M3 12h18",key:"1i2n21"}],["path",{d:"M3 16.5h4",key:"1230mu"}],["path",{d:"M17 3v18",key:"in4fa5"}],["path",{d:"M17 7.5h4",key:"myr1c1"}],["path",{d:"M17 16.5h4",key:"go4c1d"}]]);e.s(["Film",0,a],80796)},12796,e=>{"use strict";let a=(0,e.i(56420).default)("loader",[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]]);e.s(["Loader",0,a],12796)},6933,e=>{"use strict";e.s(["getFileSubtype",0,function(e){let a=String(e||"").split(".").pop()?.toLowerCase()||"";return["jpg","jpeg","png","gif","webp","svg","bmp","ico","tiff","heic","heif"].includes(a)?"image":["mp4","webm","mov","avi","mkv","flv","wmv","m4v","mpeg","3gp"].includes(a)?"video":["mp3","wav","ogg","flac","aac","m4a","wma","opus"].includes(a)?"audio":["txt","md","js","ts","jsx","tsx","css","scss","less","json","xml","html","htm","yaml","yml","toml","ini","cfg","conf","log","sh","bash","py","rb","go","rs","java","c","cpp","h","hpp","cs","php","sql","graphql","env","gitignore","dockerfile","readme"].includes(a)?"text":"file"}])},26091,e=>{"use strict";let a=(0,e.i(56420).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);e.s(["FileText",0,a],26091)},77071,e=>{"use strict";let a=(0,e.i(56420).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,a],77071)},99847,e=>{"use strict";let a=(0,e.i(56420).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",0,a],99847)},77685,e=>{"use strict";var a=e.i(18050),t=e.i(99847),s=e.i(62368),n=e.i(72382),i=e.i(26091),r=e.i(80796),l=e.i(15170),c=e.i(12796),d=e.i(51921);function o(e){let a=String(e||"").split("/");return a[a.length-1]||e}e.s(["ChatAttachmentCard",0,function({attachment:e,status:u="idle",pending:h=!1,onOpen:m}){var p,f;let x="checking"===u,y=["ui-file-action","chat-attachment-action","error"===u?"error":"","available"===u?"available":""].filter(Boolean).join(" "),g=((p=e.size)&&!(p<=0)?p<1024?`${p} B`:p<1048576?`${(p/1024).toFixed(1)} KB`:p<0x40000000?`${(p/1048576).toFixed(1)} MB`:`${(p/0x40000000).toFixed(2)} GB`:"")||"MostBox 文件";return(0,a.jsxs)("button",{type:"button",className:"ui-file-card chat-attachment-card",onClick:()=>m?.(e),disabled:h||x,title:e.link,children:[(0,a.jsx)("span",{className:`ui-file-icon chat-attachment-icon ${e.kind}`,children:x?(0,a.jsx)(c.Loader,{size:20,className:"ui-spinner chat-attachment-spinner"}):"image"===(f=e.kind)?(0,a.jsx)(l.Image,{size:20}):"video"===f?(0,a.jsx)(r.Film,{size:20}):"audio"===f?(0,a.jsx)(d.Music,{size:20}):(0,a.jsx)(i.FileText,{size:20})}),(0,a.jsxs)("span",{className:"ui-file-info chat-attachment-info",children:[(0,a.jsx)("span",{className:"ui-file-name chat-attachment-name",children:o(e.fileName)}),(0,a.jsx)("span",{className:"ui-file-meta chat-attachment-meta",children:h?"发送中...":g})]}),(0,a.jsx)("span",{className:y,children:x?"检测中":"available"===u?(0,a.jsx)(n.Eye,{size:16}):"error"===u?(0,a.jsx)(t.AlertCircle,{size:17}):(0,a.jsx)(s.Download,{size:16})})]})},"getAttachmentBaseFileName",0,o])},11241,e=>{"use strict";let a=(0,e.i(56420).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,a],11241)},35965,e=>{"use strict";let a=(0,e.i(56420).default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);e.s(["Sun",0,a],35965)},96699,e=>{"use strict";let a=(0,e.i(56420).default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);e.s(["Moon",0,a],96699)},59665,5142,e=>{"use strict";var a=e.i(18050),t=e.i(71645);let s=(0,e.i(56420).default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);function n(e=!1,a={}){let[s,i]=(0,t.useState)(e),r=(0,t.useCallback)(()=>{i(e=>e||(a.onOpen?.(),!0))},[a.onOpen]),l=(0,t.useCallback)(()=>{i(e=>e?(a.onClose?.(),!1):e)},[a.onClose]);return[s,{open:r,close:l,toggle:(0,t.useCallback)(()=>{s?l():r()},[l,r,s]),set:i}]}e.s(["useDisclosure",0,n],5142);let i=(0,t.createContext)(null);e.s(["default",0,function({sidebar:e,headerTitle:r,headerRight:l,children:c}){let[d,o]=n(!1),[u,h]=(0,t.useState)(!1),m=function(e,{getInitialValueInEffect:a}={getInitialValueInEffect:!0}){let[s,n]=(0,t.useState)(a?void 0:!!("u">typeof window&&"matchMedia"in window)&&window.matchMedia(e).matches);return(0,t.useEffect)(()=>{try{if("matchMedia"in window){let a=window.matchMedia(e);n(a.matches);let t=e=>n(e.matches);return a.addEventListener("change",t),()=>{a.removeEventListener("change",t)}}}catch(e){return}},[e]),s||!1}("(max-width: 768px)"),p=()=>{m?o.open():h(!1)};return(0,a.jsx)(i.Provider,{value:{closeSidebar:o.close,openSidebar:p,isSidebarVisible:m?d:!u},children:(0,a.jsxs)("div",{className:"app-layout",children:[(0,a.jsx)("div",{className:`sidebar-overlay ${d?"visible":""}`,onClick:()=>o.close()}),(0,a.jsx)("div",{className:`sidebar ${d?"open":""} ${u?"collapsed":""}`,children:e({closeSidebar:o.close,openSidebar:p})}),(0,a.jsxs)("div",{className:"main-content",children:[(0,a.jsxs)("header",{className:"app-header",children:[(0,a.jsxs)("div",{className:"header-left",children:[(0,a.jsx)("button",{onClick:()=>{m?o.toggle():h(!u)},className:"btn btn-icon sidebar-toggle-btn","aria-label":m?"打开菜单":u?"展开侧边栏":"收起侧边栏",children:(0,a.jsx)(s,{size:16})}),r]}),(0,a.jsx)("div",{className:"header-right",children:l})]}),c]})]})})},"useAppShell",0,function(){let e=(0,t.useContext)(i);if(!e)throw Error("useAppShell must be used within AppShell");return e}],59665)},27648,e=>{"use strict";var a=e.i(18050),t=e.i(93957),s=e.i(71192);e.s(["default",0,function({className:e=""}){let n=(0,s.useUserStore)(e=>e.identity),i=(0,s.useUserStore)(e=>e.openLoginModal),r=(0,s.useUserStore)(e=>e.logoutUser);return(0,a.jsxs)("div",{className:`chat-sidebar-footer sidebar-account ${e}`,children:[(0,a.jsxs)("div",{className:"user-info",children:[(0,a.jsx)("img",{className:"user-avatar-img",src:(0,t.generateAvatar)(n?.address,n?.avatar),alt:"avatar"}),(0,a.jsx)("span",{className:"user-name",title:n?.address,children:n?.displayName||"未登录"})]}),n?(0,a.jsx)("button",{className:"btn btn-ghost logout-btn",onClick:r,children:"退出"}):(0,a.jsx)("button",{className:"btn btn-primary login-btn",onClick:i,children:"登录"})]})}])},39626,e=>{"use strict";var a=e.i(18050);let t=(0,e.i(56420).default)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);var s=e.i(59665);e.s(["default",0,function({label:e="打开侧边栏",className:n="",variant:i="primary"}){let{isSidebarVisible:r,openSidebar:l}=(0,s.useAppShell)();return r?null:(0,a.jsxs)("button",{type:"button",className:`btn ${"primary"===i?"btn-primary":""} sidebar-open-hint ${n}`.trim(),onClick:l,children:[(0,a.jsx)(t,{size:16}),e]})}],39626)},79490,11028,27668,e=>{"use strict";let a=(0,e.i(56420).default)("pen",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]]);e.s(["Edit2",0,a],79490);var t=e.i(18050),s=e.i(71645),n=e.i(26091),i=e.i(12796),r=e.i(51921),l=e.i(63676),c=e.i(26913);e.s(["default",0,function({item:e,isBackendReady:a,getFileDownloadUrl:d,onClose:o}){let[u,h]=(0,s.useState)(""),[m,p]=(0,s.useState)(!1),[f,x]=(0,s.useState)(""),[y,g]=(0,s.useState)("");return(0,s.useEffect)(()=>{if("text"!==e.subtype)return;let t=!1;return(h(""),g(""),a)?(p(!0),(async()=>{try{let a=await fetch(d(e.cid),{headers:{...await (0,c.getApiRequestHeaders)("GET",`/api/files/${e.cid}/download`),Range:"bytes=0-9999"}});if(!a.ok)throw Error("加载失败");let s=await a.text();t||h(s||"(文件为空)")}catch{t||h("加载失败")}finally{t||p(!1)}})(),()=>{t=!0}):void h("加载失败")},[d,a,e.cid,e.subtype]),(0,s.useEffect)(()=>{var t;if("image"!==(t=e.subtype)&&"video"!==t&&"audio"!==t)return void x("");if(x(""),g(""),!a)return void g("加载失败");let s="",n=!1;return(async()=>{try{let a=await fetch(d(e.cid),{headers:await (0,c.getApiRequestHeaders)("GET",`/api/files/${e.cid}/download`)});if(!a.ok)throw Error("加载失败");let t=URL.createObjectURL(await a.blob());s=t,n||x(t)}catch{n||g("加载失败")}})(),()=>{n=!0,s&&URL.revokeObjectURL(s)}},[d,a,e.cid,e.subtype]),(0,t.jsxs)("div",{className:"preview-overlay",onClick:o,children:[(0,t.jsx)("button",{type:"button",className:"preview-close",onClick:o,"aria-label":"关闭预览",children:(0,t.jsx)(l.X,{size:20})}),(0,t.jsxs)("div",{onClick:e=>e.stopPropagation(),children:["image"===e.subtype&&(0,t.jsx)("div",{className:"preview-media-wrapper",children:f?(0,t.jsx)("img",{src:f,alt:e.fileName}):y?(0,t.jsxs)("div",{className:"preview-unsupported",children:[(0,t.jsx)(n.FileText,{size:48,className:"preview-file-icon"}),(0,t.jsx)("p",{children:e.fileName}),(0,t.jsx)("p",{className:"preview-unsupported-hint",children:y})]}):(0,t.jsx)("div",{className:"preview-loading",children:(0,t.jsx)("div",{className:"preview-loading-spinner"})})}),"video"===e.subtype&&(0,t.jsx)("div",{className:"preview-media-wrapper",children:f?(0,t.jsx)("video",{src:f,controls:!0}):y?(0,t.jsxs)("div",{className:"preview-unsupported",children:[(0,t.jsx)(n.FileText,{size:48,className:"preview-file-icon"}),(0,t.jsx)("p",{children:e.fileName}),(0,t.jsx)("p",{className:"preview-unsupported-hint",children:y})]}):(0,t.jsx)("div",{className:"preview-loading",children:(0,t.jsx)("div",{className:"preview-loading-spinner"})})}),"audio"===e.subtype&&(0,t.jsxs)("div",{className:"preview-audio",children:[(0,t.jsx)("div",{className:"preview-audio-icon",children:(0,t.jsx)(r.Music,{size:36,color:"var(--accent)"})}),(0,t.jsx)("p",{className:"preview-audio-filename",children:e.fileName}),f?(0,t.jsx)("audio",{className:"preview-audio-player",src:f,controls:!0}):(0,t.jsx)("div",{className:"preview-text-loading",children:y?(0,t.jsx)("p",{children:y}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.Loader,{size:24,className:"preview-text-spinner"}),(0,t.jsx)("p",{children:"正在加载音频预览..."})]})})]}),"file"===e.subtype&&(0,t.jsxs)("div",{className:"preview-unsupported",children:[(0,t.jsx)(n.FileText,{size:48,className:"preview-file-icon"}),(0,t.jsx)("p",{children:e.fileName}),(0,t.jsx)("p",{className:"preview-unsupported-hint",children:"无法预览"})]}),"text"===e.subtype&&(0,t.jsxs)("div",{className:"preview-text-container",children:[(0,t.jsx)("div",{className:"preview-text-header",children:(0,t.jsx)("span",{children:e.fileName})}),m?(0,t.jsxs)("div",{className:"preview-text-loading",children:[(0,t.jsx)(i.Loader,{size:24,className:"preview-text-spinner"}),(0,t.jsx)("p",{children:"正在加载文本预览..."}),(0,t.jsx)("p",{className:"preview-text-loading-hint",children:"如果是初次预览,可能需要等待 P2P 网络同步"})]}):(0,t.jsx)("pre",{className:"preview-text",children:u||"(文件为空)"})]})]})]})}],11028);var d=e.i(64621);let o="链接格式不正确,请粘贴完整的 most://<cid>?filename=... 分享链接。",u="暂时没有发现在线种子。请确认分享者或其他下载者仍在线做种,稍后再检测。",h={"Link must be a valid most:// URL":"链接无法解析,请粘贴完整的 most://<cid>?filename=... 分享链接。","Link must use most:// protocol":"链接协议不正确,应以 most:// 开头。","Link path is not supported":"链接里不应包含路径,请使用 most://<cid>?filename=... 格式。","Invalid CID format":"CID 无效,请确认 most:// 后面的内容没有缺失或被截断。","Invalid CID format: CID v1 required":"CID 格式不符合 MostBox 要求,请确认分享链接完整。","CID digest must be 32 bytes":"CID 格式不符合 MostBox 要求,请确认分享链接完整。","filename is required":"链接缺少 filename 参数,请复制完整分享链接后再检测。"};e.s(["getDownloadCheckErrorMessageFromPayload",0,function(e={},a=""){if("TimeoutError"===a)return"检测等待超时,暂时没有等到在线种子响应。请确认分享者或其他下载者仍在线做种,稍后再检测。";if(!e.status)return"无法连接本地节点,请确认 MostBox 后端正在运行后再检测。";if(404===e.status)return"当前后端还没有检测接口,请重启 MostBox 后端后再试。";switch(e.code){case"VALIDATION_ERROR":return o;case"CONFLICT":return e.error?`${e.error},请先处理同名文件后再下载。`:"下载目录已有同名文件,请先重命名或移走后再检测。";case"PEER_NOT_FOUND":return u;case"PERMISSION_ERROR":return e.error?`下载目录不可写:${e.error}`:"下载目录不可写,请检查目录权限后再检测。";case"ENGINE_NOT_INITIALIZED":return"本地节点还没有启动完成,请稍等几秒后重新检测。"}return 503===e.status?u:e.status>=500?"本地节点检测时出错,请稍后重试或查看节点日志。":e.error?`检测未通过:${e.error}`:"检测未通过,请确认链接完整、发布者在线且本机网络正常。"},"getDownloadLinkValidationMessage",0,function(e=""){let a=String(e||"").trim();if(!a)return"请先粘贴 most:// 分享链接。";let t=function(e){let a;if(!e||"string"!=typeof e)return{cid:"",error:"Link must be a non-empty string"};try{a=new URL(e)}catch{return{cid:"",error:"Link must be a valid most:// URL"}}if("most:"!==a.protocol)return{cid:"",error:"Link must use most:// protocol"};if(a.pathname&&"/"!==a.pathname)return{cid:"",error:"Link path is not supported"};let t=a.hostname,s=a.searchParams.get("filename"),n=[...a.searchParams.keys()].find(e=>"filename"!==e),i=function(e){let a;if(!e||"string"!=typeof e)return{valid:!1,error:"CID must be a non-empty string"};try{a=d.CID.parse(e)}catch{return{valid:!1,error:"Invalid CID format"}}return 1!==a.version?{valid:!1,error:"Invalid CID format: CID v1 required"}:32!==a.multihash.digest.length?{valid:!1,error:"CID digest must be 32 bytes"}:{valid:!0}}(t);return i.valid?s&&s.trim()?n?{cid:"",error:`Unsupported query parameter: ${n}`}:{cid:t,fileName:s}:{cid:"",error:"filename is required"}:{cid:"",error:i.error}}(a);if(!t.error)return t.fileName?.trim()?null:h["filename is required"];if(t.error.startsWith("Unsupported query parameter: ")){let e=t.error.slice(29);return`链接包含暂不支持的参数 ${e},请只保留 filename。`}return h[t.error]||o}],27668)},41222,e=>{"use strict";var a=e.i(18050),t=e.i(71645),s=e.i(68590),n=e.i(30274),i=e.i(77071),r=e.i(35965),l=e.i(96699),c=e.i(63676),d=e.i(11241),o=e.i(79490),u=e.i(56420);let h=(0,u.default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]),m=(0,u.default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]),p=(0,u.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var f=e.i(15170),x=e.i(80796),y=e.i(12796);let g=(0,u.default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);var v=e.i(66595),j=e.i(59665),b=e.i(77685),k=e.i(11028);e.i(4121);var w=e.i(47910),N=e.i(88361),C=e.i(57667),S=e.i(39626),M=e.i(26913),I=e.i(27668),A=e.i(93957),z=e.i(3593),$=e.i(71192),E=e.i(5142),R=e.i(23952),D=e.i(27648),L=e.i(87884),F=e.i(6933);let U=/^[a-zA-Z0-9_-]+$/,T={async publishFile(e,a){let t=new FormData;t.append("file",e,a);let s=await M.api.post("/api/publish",{body:t});if(!s.ok)throw Error((await s.json().catch(()=>({error:s.statusText}))).error||"Request failed");return s.json()},downloadFile:e=>M.api.post("/api/download",{json:{link:e}}).json(),checkDownload:e=>M.api.post("/api/download/check",{json:{link:e,timeout:1e4},timeout:12e3}).json(),getFileDownloadUrl:e=>(0,M.getApiUrl)(`/api/files/${e}/download`)};async function P(e){let a=await (0,M.getApiErrorPayload)(e),t=e&&"object"==typeof e&&"name"in e?String(e.name):"";return(0,I.getDownloadCheckErrorMessageFromPayload)(a,t)}e.s(["default",0,function(){let e=(0,z.useAppStore)(e=>e.isDarkMode),u=(0,z.useAppStore)(e=>e.setIsDarkMode),O=(0,z.useAppStore)(e=>e.hasBackend),q=(0,z.useAppStore)(e=>e.addToast),B=(0,z.useAppStore)(e=>e.openConnectModal),K=(0,$.useUserStore)(e=>e.identity),V=(0,$.useUserStore)(e=>e.openLoginModal),[H,W]=(0,t.useState)([]),[_,G]=(0,t.useState)(null),[X,J]=(0,t.useState)(""),[Z,Q]=(0,t.useState)(""),[Y,ee]=(0,E.useDisclosure)(!1),[ea,et]=(0,t.useState)(""),[es,en]=(0,t.useState)(!1),[ei,er]=(0,t.useState)(!1),[el,ec]=(0,E.useDisclosure)(!1),[ed,eo]=(0,t.useState)(null),[eu,eh]=(0,t.useState)(!1),[em,ep]=(0,t.useState)(""),[ef,ex]=(0,t.useState)(null),[ey,eg]=(0,t.useState)(!1),[ev,ej]=(0,t.useState)({}),[eb,ek]=(0,t.useState)(null),[ew,eN]=(0,t.useState)([]),[eC,eS]=(0,t.useState)(!1),[eM,eI]=(0,t.useState)(!1),eA=(0,t.useRef)(null),ez=(0,t.useRef)(null),e$=(0,t.useRef)(null),eE=(0,t.useRef)(null),eR=(0,t.useRef)(new Map),eD=(0,t.useRef)(new Set),eL=!0===O,eF=(0,t.useCallback)(async(e,a)=>{q(await (0,M.getApiErrorMessage)(e,a),"error")},[q]),eU=(0,t.useCallback)(()=>({displayName:K?.displayName||K?.username||"",avatar:K?.avatar}),[K?.avatar,K?.displayName,K?.username]),eT=(0,t.useCallback)(async(e=_?.name)=>{if(!e||!eL||!K)return void eN([]);eS(!0);try{eN(await L.channelApi.getChannelMembers(e))}catch(e){eN([]),await eF(e,"无法读取频道成员")}finally{eS(!1)}},[_?.name,eL,eF,K]),{clearMessages:eP,messages:eO,sendMessage:eq,syncMessages:eB}=(0,R.useChannelMessages)({isReady:eL,enabled:!!K,channelName:_?.name||"",peerId:ea,waitForPeerId:!0,onSyncError:e=>eF(e,"无法读取频道消息"),onSocketEvent:function(e,a){switch(e){case"channel:peer:online":case"channel:peer:offline":_&&L.channelApi.getChannelPeers(_.name).catch(e=>{console.warn("[Chat] Failed to fetch peers on event:",e.message)});break;case"channel:joined":case"channel:left":eW(),eT();break;case"download:success":{let e=eR.current.get(a.taskId);e&&(eR.current.delete(a.taskId),eD.current.delete(e.cid),ej(a=>({...a,[e.cid]:{status:"available"}})),q(`${a.fileName||(0,b.getAttachmentBaseFileName)(e.fileName)} 下载完成`,"success"),e_(e,a.fileName||e.fileName));break}case"download:error":case"download:cancelled":{let t=eR.current.get(a.taskId);t&&(eR.current.delete(a.taskId),eD.current.delete(t.cid),ej(s=>({...s,[t.cid]:{status:"error",message:"download:cancelled"===e?"附件下载已取消":a.error||"附件下载失败"}})),q("download:cancelled"===e?"附件下载已取消":a.error||"附件下载失败","error"))}}}});function eK(){return!!eL||(B(),!1)}function eV(){return!!K||(V(),!1)}function eH(e){return e.length<3?"频道名至少 3 个字符":e.length>30?"频道名最多 30 个字符":U.test(e)?"":"频道名只能包含字母、数字、下划线和连字符"}async function eW(){if(eL)try{let e=await L.channelApi.getChannels({excludeType:"game"});W(e)}catch(e){W([]),await eF(e,"无法读取频道列表")}}function e_(e,a=e.fileName){let t=(0,F.getFileSubtype)(a);ex({cid:e.cid,fileName:a,subtype:"file"===t?e.kind:t})}async function eG(e){let a=(0,I.getDownloadLinkValidationMessage)(e.link);if(a)return ej(t=>({...t,[e.cid]:{status:"error",message:a}})),!1;try{ej(a=>({...a,[e.cid]:{status:"checking"}}));let a=await T.checkDownload(e.link);return ej(t=>({...t,[e.cid]:{status:"available",message:a.alreadyExists?"本机已有":"可预览"}})),!0}catch(t){let a=await P(t);return ej(t=>({...t,[e.cid]:{status:"error",message:a}})),!1}}async function eX(e){ek(null),await eG(e)&&await eJ(e)}async function eJ(e){if(!eD.current.has(e.cid)){eD.current.add(e.cid),ej(a=>({...a,[e.cid]:{status:"available"}}));try{let a=await T.downloadFile(e.link);if(a.alreadyExists||a.fileName){eD.current.delete(e.cid),ej(a=>({...a,[e.cid]:{status:"available"}})),e_({...e,fileName:a.fileName||e.fileName},a.fileName||e.fileName);return}a.taskId&&(eR.current.set(a.taskId,e),q("开始下载附件","success"))}catch(t){let a=await P(t);eD.current.delete(e.cid),ej(t=>({...t,[e.cid]:{status:"error",message:a}}))}}}async function eZ(e){!eV()||eK()&&(G(e),window.history.pushState({},"",`?channel=${encodeURIComponent(e.name)}`))}async function eQ(e,a){if((a&&a.stopPropagation(),eV()&&eK())&&!ei){er(!0);try{if(await L.channelApi.leaveChannel(e),_?.name===e){G(null),eP();let e=new URL(window.location.href);e.searchParams.delete("channel"),window.history.pushState({},"",e.pathname)}eW(),ec.close(),eo(null)}catch(e){await eF(e,"退出频道失败")}finally{er(!1)}}}async function eY(e){let a=e.trim();if(!a||es)return;let t=eH(a);if(t)return void q(t,"error");if(eV()&&eK()){en(!0);try{let e=await L.channelApi.createChannel(a,"public",eU()),t=H.find(e=>e.name===a),s={...t,name:e.name||a,type:e.type||t?.type||"public",createdAt:e.createdAt||t?.createdAt,coreKey:e.coreKey||e.key||t?.coreKey,remark:t?.remark};W(e=>e.some(e=>e.name===a)?e.map(e=>e.name===a?{...e,...s}:e):[...e,s]),ee.close(),await eZ(s),eT(a),eW()}catch(e){await eF(e,"加入频道失败")}finally{en(!1)}}}async function e0(e,a){if(!e.trim()||!_||!eV()||!eK())return!1;let t=e.trim();try{return await eq({channelName:_.name,content:t,author:K.address,authorName:K.displayName||K.username,avatar:K.avatar,attachment:a}),eT(_.name),!0}catch(e){return await eF(e,"发送失败"),!1}}async function e1(){if(!Z.trim())return;let e=Z.trim();Q(""),await e0(e)}async function e2(e){if(e&&0!==e.length&&_&&eV()&&eK()&&!ey){eg(!0);try{for(let s of Array.from(e)){var a,t;let e=(a=_.name,t=s.name,`chat-file/${a}/${t}`),n=await T.publishFile(s,e),i=n.fileName||e,r=n.link||`most://${n.cid}?filename=${encodeURIComponent(i)}`,l={kind:s.type.startsWith("image/")?"image":s.type.startsWith("video/")?"video":s.type.startsWith("audio/")?"audio":s.type.startsWith("text/")?"text":(0,F.getFileSubtype)(i),cid:n.cid,fileName:i,link:r,mimeType:s.type||void 0,size:s.size};await e0(r,l)&&q(`${(0,b.getAttachmentBaseFileName)(i)} 已发布`,"success")}}catch(e){await eF(e,"附件发送失败")}finally{eg(!1)}}}async function e4(e){if(!eV()||!eK())return;let a=ev[e.cid];if(a?.status!=="checking"){if(a?.status==="error")return void ek(e);if(a?.status!=="available"){await eG(e)&&await eJ(e);return}await eJ(e)}}async function e6(){if(_&&eV()&&eK())try{let e=await L.channelApi.setChannelRemark(_.name,em);W(a=>a.map(a=>a.name===_.name?{...a,remark:e.remark}:a)),G(a=>a?{...a,remark:e.remark}:null)}catch(e){await eF(e,"设置备注失败")}}function e3(e,a){let t=String(e||"").trim();return t?eM?/#[a-fA-F0-9]{4}$/.test(String(t||"").trim())?t:a?`${t}#${a.slice(-4).toUpperCase()}`:t:t.replace(/#[a-fA-F0-9]{4}$/,""):a?`${a.slice(0,6)}...${a.slice(-4)}`:"Unknown"}(0,t.useEffect)(()=>{eA.current?.scrollIntoView({behavior:"smooth"})},[eO]),(0,t.useEffect)(()=>{eL?M.api.get("/api/node-id").json().then(e=>et(e.id)).catch(e=>{console.warn("[Chat] Failed to fetch node ID:",e.message),eF(e,"无法读取节点 ID")}):et("")},[eL,eF]),(0,t.useEffect)(()=>{eL&&K&&eW()},[O,eL,K?.address]),(0,t.useEffect)(()=>{_&&eL&&(eB(_.name,{replace:!0}),L.channelApi.getChannelPeers(_.name).catch(()=>{}),eT(_.name))},[_,O,eL,eT,eB]),(0,t.useEffect)(()=>{eu&&_&&eT(_.name)},[_,eT,eu]),(0,t.useEffect)(()=>{let e=new URLSearchParams(window.location.search).get("channel");if(e&&H.length>0){let a=H.find(a=>a.name===e);a&&(!_||_.name!==a.name)?eZ(a):a&&_&&_.name===a.name&&(_.createdAt!==a.createdAt||_.coreKey!==a.coreKey||_.remark!==a.remark||_.type!==a.type)&&G(a)}},[H,_]),(0,t.useEffect)(()=>{K||(W([]),G(null),eP(),Q(""),et(""),eh(!1),ex(null),eN([]),ej({}),eD.current.clear(),eR.current.clear())},[eP,K?.address]);let e9=_?(0,a.jsx)("h2",{className:"header-title",children:_.remark||_.name}):(0,a.jsx)("h2",{className:"header-title",children:"聊天"}),e8=X.trim().toLowerCase(),e5=e8?H.filter(e=>[e.remark||e.name,e.name].some(e=>e.toLowerCase().includes(e8))):H;return(0,a.jsxs)(j.default,{sidebar:({closeSidebar:e})=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"sidebar-header sidebar-header-link",onClick:()=>window.location.href="/",children:[(0,a.jsx)(d.ArrowLeft,{size:18}),(0,a.jsx)("h1",{children:"MOST PEOPLE"})]}),(0,a.jsx)("div",{className:"chat-channel-search",children:(0,a.jsxs)("div",{className:"ui-input-control",children:[(0,a.jsx)(v.Search,{className:"ui-input-icon",size:15}),(0,a.jsx)("input",{type:"search",className:"input input-compact",placeholder:"搜索频道",value:X,onChange:e=>J(e.target.value),"aria-label":"搜索频道"})]})}),(0,a.jsx)("nav",{className:"sidebar-nav",children:0===H.length?(0,a.jsx)("div",{className:"sidebar-empty-state",children:(0,a.jsx)("p",{children:"暂无频道"})}):0===e5.length?(0,a.jsx)("div",{className:"sidebar-empty-state",children:(0,a.jsx)("p",{children:"未找到频道"})}):e5.map(t=>(0,a.jsxs)("div",{className:`sidebar-nav-btn ${_?.name===t.name?"active":""}`,onClick:()=>{eZ(t),e()},role:"button",tabIndex:0,onKeyDown:a=>{"Enter"===a.key&&(eZ(t),e())},children:[(0,a.jsx)(s.MessageSquare,{size:16}),(0,a.jsx)("span",{children:t.remark||t.name}),(0,a.jsx)("button",{className:"leave-channel-btn",onClick:e=>{e.stopPropagation(),eo(t),ec.open()},title:"退出频道",children:(0,a.jsx)(c.X,{size:14})})]},t.name))}),(0,a.jsxs)("button",{className:"ui-action-dashed create-channel-btn",onClick:()=>{eV()&&eK()&&ee.open()},children:[(0,a.jsx)(i.Plus,{size:16}),"加入频道"]}),(0,a.jsx)(D.default,{})]}),headerTitle:e9,headerRight:(0,a.jsxs)("div",{className:"header-right-actions",children:[(0,a.jsx)("button",{className:"btn btn-icon",onClick:()=>u(!e),title:"切换主题",children:e?(0,a.jsx)(r.Sun,{size:16}):(0,a.jsx)(l.Moon,{size:16})}),_&&(0,a.jsx)("button",{className:"btn btn-icon",onClick:()=>eh(!0),title:"频道设置",children:(0,a.jsx)(p,{size:16})})]}),children:[_?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"chat-messages",children:[0===eO.length?(0,a.jsxs)("div",{className:"ui-empty-state chat-messages-empty",children:[(0,a.jsx)("div",{className:"ui-empty-icon empty-icon",children:(0,a.jsx)(s.MessageSquare,{size:28})}),(0,a.jsx)("p",{children:"暂无消息,开始聊天吧!"})]}):eO.map(e=>(0,a.jsxs)("div",{className:`chat-message ${e.author===K?.address?"self":"other"} ${e.pending?"pending":""}`,children:[(0,a.jsx)("img",{className:"msg-avatar",src:(0,A.generateAvatar)(e.author,e.author===K?.address?K.avatar:void 0),alt:"avatar"}),(0,a.jsxs)("div",{className:"msg-content",children:[(0,a.jsx)("span",{className:"message-author",children:e3(e.authorName,e.author)}),function(e){if(!e.attachment)return(0,a.jsx)("div",{className:"message-bubble",children:e.content});let t=e.attachment,s=ev[t.cid],n=s?.status;return(0,a.jsx)("div",{className:"message-bubble has-attachment",children:(0,a.jsx)(b.ChatAttachmentCard,{attachment:t,status:n,pending:e.pending,onOpen:e4})})}(e),(0,a.jsx)("span",{className:"message-time",children:new Date(e.timestamp).toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"})})]})]},e.id||`${e.author}-${e.timestamp}`)),(0,a.jsx)("div",{ref:eA})]}),(0,a.jsxs)("div",{className:"chat-input-area",children:[(0,a.jsx)("input",{ref:ez,type:"file",accept:"image/*",className:"chat-file-input",onChange:e=>{e2(e.target.files),e.currentTarget.value=""}}),(0,a.jsx)("input",{ref:e$,type:"file",accept:"video/*",className:"chat-file-input",onChange:e=>{e2(e.target.files),e.currentTarget.value=""}}),(0,a.jsx)("input",{ref:eE,type:"file",className:"chat-file-input",onChange:e=>{e2(e.target.files),e.currentTarget.value=""}}),(0,a.jsx)("button",{type:"button",className:"btn btn-circle chat-tool-btn",onClick:()=>ez.current?.click(),disabled:!K||ey,title:"发送图片",children:(0,a.jsx)(f.Image,{size:18})}),(0,a.jsx)("button",{type:"button",className:"btn btn-circle chat-tool-btn",onClick:()=>e$.current?.click(),disabled:!K||ey,title:"发送视频",children:(0,a.jsx)(x.Film,{size:18})}),(0,a.jsx)("button",{type:"button",className:"btn btn-circle chat-tool-btn",onClick:()=>eE.current?.click(),disabled:!K||ey,title:"发送文件",children:ey?(0,a.jsx)(y.Loader,{size:18,className:"ui-spinner chat-attachment-spinner"}):(0,a.jsx)(g,{size:18})}),(0,a.jsx)("input",{type:"text",className:"input input-pill",placeholder:K?"输入消息...":"请先登录后发言",value:Z,disabled:!K,onChange:e=>Q(e.target.value),onKeyDown:e=>{"Enter"===e.key&&Z.trim()&&e1()}}),(0,a.jsx)("button",{className:"btn btn-circle btn-primary send-btn",onClick:e1,disabled:!K||!Z.trim(),children:(0,a.jsx)(n.Send,{size:18})})]})]}):(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)("div",{className:"ui-empty-state chat-welcome",children:[(0,a.jsx)("div",{className:"ui-empty-icon ui-empty-icon-lg welcome-icon",children:(0,a.jsx)(s.MessageSquare,{size:36})}),(0,a.jsx)("h2",{className:"ui-empty-title",children:"选择频道"}),(0,a.jsx)("p",{className:"ui-empty-desc",children:"从左侧边栏选择一个频道开始聊天,或创建一个新频道"}),(0,a.jsx)(S.default,{label:"打开频道列表"})]})}),Y&&(0,a.jsx)(w.InputModal,{title:"加入频道",placeholder:"频道ID:3-20 位字母、数字、_ 或 -",confirmText:"加入",validate:eH,onConfirm:eY,onClose:()=>ee.close(),isLoading:es,loadingText:"加入中..."}),el&&ed&&(0,a.jsx)(N.ConfirmModal,{title:"退出频道",message:`确定要退出频道 "${ed.name}" 吗?`,confirmText:ei?"退出中...":"退出",onConfirm:()=>eQ(ed.name,void 0),onClose:()=>{ec.close(),eo(null)},danger:!0}),eb&&(0,a.jsx)(C.ModalOverlay,{onClose:()=>ek(null),closeOnOverlayClick:!0,children:(0,a.jsxs)("div",{className:"confirm-modal",onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)("div",{className:"modal-header",children:[(0,a.jsx)("h3",{children:"暂时没有在线种子"}),(0,a.jsx)("button",{type:"button",className:"btn btn-icon",onClick:()=>ek(null),"aria-label":"关闭",children:(0,a.jsx)(c.X,{size:18})})]}),(0,a.jsx)("p",{children:ev[eb.cid]?.message||"暂时没有发现在线种子。请确认分享者或其他下载者仍在线做种。"}),(0,a.jsxs)("div",{className:"modal-actions",children:[(0,a.jsx)("button",{type:"button",className:"btn btn-secondary",onClick:()=>ek(null),children:"取消"}),(0,a.jsx)("button",{type:"button",className:"btn btn-primary",onClick:()=>eX(eb),disabled:ev[eb.cid]?.status==="checking",children:ev[eb.cid]?.status==="checking"?"检测中...":"再次检测"})]})]})}),ef&&(0,a.jsx)(k.default,{item:ef,isBackendReady:eL,getFileDownloadUrl:T.getFileDownloadUrl,onClose:()=>ex(null)}),eu&&_&&(0,a.jsx)("div",{className:"channel-detail-overlay",onClick:()=>eh(!1),children:(0,a.jsxs)("div",{className:"channel-detail-drawer",onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)("div",{className:"channel-detail-header",children:[(0,a.jsx)("h3",{children:"频道详情"}),(0,a.jsx)("button",{className:"btn btn-icon",onClick:()=>eh(!1),children:(0,a.jsx)(c.X,{size:18})})]}),(0,a.jsxs)("div",{className:"channel-detail-body",children:[(0,a.jsxs)("div",{className:"channel-detail-section channel-members-section",children:[(0,a.jsx)("div",{className:"channel-detail-label",children:(0,a.jsxs)("span",{children:["群成员 (",ew.length,")"]})}),eC&&0===ew.length?(0,a.jsx)("div",{className:"ui-empty-inline channel-members-empty",children:"正在读取成员..."}):0===ew.length?(0,a.jsx)("div",{className:"ui-empty-inline channel-members-empty",children:"暂无成员"}):(0,a.jsx)("div",{className:"channel-members-grid",children:ew.map(e=>(0,a.jsxs)("div",{className:"channel-member",children:[(0,a.jsx)("img",{className:"channel-member-avatar",src:(0,A.generateAvatar)(e.address,e.avatar),alt:"avatar"}),(0,a.jsx)("span",{className:"channel-member-name",children:e3(e.displayName,e.address)})]},e.address))})]}),(0,a.jsx)("div",{className:"channel-detail-section",children:(0,a.jsxs)("label",{className:"setting-switch",children:[(0,a.jsx)("span",{children:"显示 #地址后四位"}),(0,a.jsx)("input",{type:"checkbox",checked:eM,onChange:e=>eI(e.target.checked)})]})}),(0,a.jsxs)("div",{className:"channel-detail-section",children:[(0,a.jsxs)("div",{className:"channel-detail-label",children:[(0,a.jsx)(m,{size:14}),(0,a.jsx)("span",{children:"频道 ID"})]}),(0,a.jsx)("div",{className:"ui-meta-box channel-detail-value channel-detail-mono",children:_.name})]}),(0,a.jsxs)("div",{className:"channel-detail-section",children:[(0,a.jsxs)("div",{className:"channel-detail-label",children:[(0,a.jsx)(o.Edit2,{size:14}),(0,a.jsx)("span",{children:"备注名称"})]}),(0,a.jsx)("input",{type:"text",className:"input input-compact",placeholder:"输入备注名称",value:em,onChange:e=>ep(e.target.value),onFocus:()=>ep(_.remark||""),onBlur:()=>e6(),onKeyDown:e=>{"Enter"===e.key&&e.currentTarget.blur()},maxLength:50})]}),(0,a.jsxs)("div",{className:"channel-detail-section",children:[(0,a.jsxs)("div",{className:"channel-detail-label",children:[(0,a.jsx)(h,{size:14}),(0,a.jsx)("span",{children:"创建时间"})]}),(0,a.jsx)("div",{className:"ui-meta-box channel-detail-value",children:_.createdAt?new Date(_.createdAt).toLocaleDateString("zh-CN"):"-"})]})]}),(0,a.jsx)("div",{className:"channel-detail-footer",children:(0,a.jsx)("button",{className:"btn btn-danger btn-block",onClick:()=>{eh(!1),eo(_),ec.open()},children:"退出频道"})})]})})]})}],41222)}]);
|