most-box 0.1.9 → 0.2.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.
- package/README.md +16 -3
- package/out/admin/index.html +0 -0
- package/out/app/index.html +0 -0
- package/out/assets/AppShell-OiOEqXPr.js +1 -0
- package/out/assets/ChatUi-Cif5LRF3.js +1 -0
- package/out/assets/CopyButton-Dm7krgbq.js +1 -0
- package/out/assets/LanguageToggle-B4ZNuBCV.js +1 -0
- package/out/assets/LogoIcon-B2fFe0l1.js +1 -0
- package/out/assets/MarketingHeader-yIZuQP7m.js +1 -0
- package/out/assets/MarketingLayout-DVH0Nx7S.js +1 -0
- package/out/assets/MarketingThemeToggle-qlwCZU1o.js +1 -0
- package/out/assets/MilkdownEditor-_TGlDyA_.js +1054 -0
- package/out/assets/MoveModal-BVr4Q7-b.js +1 -0
- package/out/assets/Nav-5xeettNJ.js +1 -0
- package/out/assets/NoteSidebar-DpniUKmy.js +1 -0
- package/out/assets/OpenSidebarButton-BfgG2HIT.js +1 -0
- package/out/assets/PemBlock-CxwIepth.js +1 -0
- package/out/assets/SidebarAccount-Zg5DZblE.js +1 -0
- package/out/assets/arrow-right-CL9YSDVS.js +1 -0
- package/out/assets/channelApi-DNdJfsJ-.js +1 -0
- package/out/assets/chevron-down-CnLh_-aO.js +1 -0
- package/out/assets/{circle-alert-CqEQz6P4.js → circle-alert-oiiRDvhx.js} +1 -1
- package/out/assets/cloud-BEe2N89j.js +1 -0
- package/out/assets/code-9LB8QqxL.js +1 -0
- package/out/assets/{copy-CM-qWlbv.js → copy-giX4rmFJ.js} +1 -1
- package/out/assets/{dist-CvatM4u8.js → dist-8QDHqrPN.js} +1 -1
- package/out/assets/{dist-BmtYO1GG.js → dist-B0JrbG7f.js} +5 -5
- package/out/assets/{dist-DBpw-A8y.js → dist-BFSyuOuw.js} +1 -1
- package/out/assets/{dist-D5Cf0hK8.js → dist-BPs0Xns9.js} +2 -2
- package/out/assets/{dist-BQV5zYG_.js → dist-Br_5lLVO.js} +9 -9
- package/out/assets/{dist-CrzjJUOw.js → dist-BzqqCPi2.js} +1 -1
- package/out/assets/dist-C3lbe8SW.js +9 -0
- package/out/assets/{dist-CWJ3323z.js → dist-CfU9fwWz.js} +1 -1
- package/out/assets/{dist-BdmTLuCI.js → dist-DCX0ws1K.js} +1 -1
- package/out/assets/{dist-DrumcFOX.js → dist-DJdv-Ma3.js} +1 -1
- package/out/assets/{dist-C5HibLEW.js → dist-chOCTzB2.js} +1 -1
- package/out/assets/{download-0rM8xVCe.js → download-D0oMEYQZ.js} +1 -1
- package/out/assets/downloadValidation-Bk1VsBBo.js +1 -0
- package/out/assets/external-link-Cm2WCUxv.js +1 -0
- package/out/assets/{filePreview-BvbHWUTG.js → filePreview-BZ50vZZf.js} +1 -1
- package/out/assets/format-CR8oUWq6.js +1 -0
- package/out/assets/game-Bvz4dspe.js +1 -0
- package/out/assets/{hard-drive-CCdIvSap.js → hard-drive-B3CQbcp2.js} +1 -1
- package/out/assets/index-BkZvz4WA.css +1 -0
- package/out/assets/index-WCK14Vja.js +34 -0
- package/out/assets/index.lazy-5Q6GuMNT.js +1 -0
- package/out/assets/index.lazy-5jq6EFXa.js +3 -0
- package/out/assets/index.lazy-7n1Q-NrA.js +3 -0
- package/out/assets/index.lazy-BFnOyQFj.js +1 -0
- package/out/assets/index.lazy-B_oPp6qK.js +1 -0
- package/out/assets/index.lazy-BvY50KVz.js +1 -0
- package/out/assets/index.lazy-C0Kn_amZ.js +1 -0
- package/out/assets/index.lazy-C3cek3Gn.js +1 -0
- package/out/assets/index.lazy-CLpPkdy1.js +1 -0
- package/out/assets/index.lazy-Cpr1kApf.js +2 -0
- package/out/assets/index.lazy-CuwLZiUK.js +1 -0
- package/out/assets/index.lazy-DDc3Ylgf.js +2 -0
- package/out/assets/index.lazy-Dg3aqOss.js +1 -0
- package/out/assets/{key-round-tIqGrtt_.js → key-round-CzuljhND.js} +1 -1
- package/out/assets/lock-D2NhNoJW.js +1 -0
- package/out/assets/message-square-DwBq_Go5.js +1 -0
- package/out/assets/mp-Bln2MB9G.js +1 -0
- package/out/assets/{music-BkZKq879.js → music-CB73K5Gz.js} +1 -1
- package/out/assets/{notebook-pen-B4VSbweh.js → notebook-pen-Up7r5zoI.js} +1 -1
- package/out/assets/play-OszVgROb.js +1 -0
- package/out/assets/plus-BbxQG_Ai.js +1 -0
- package/out/assets/{save-BzjzC3eV.js → save-CiqyiifY.js} +1 -1
- package/out/assets/search-gqAPOsgS.js +1 -0
- package/out/assets/{send-DtQInX0y.js → send-vwCWsZGP.js} +1 -1
- package/out/assets/shield-check-CxWxsNLc.js +1 -0
- package/out/assets/{trash-2-BhMrUgGM.js → trash-2-DNGr8IgF.js} +1 -1
- package/out/assets/triangle-alert-B_1BlX1b.js +1 -0
- package/out/assets/upload-Dxl7GUzb.js +1 -0
- package/out/assets/useChannelMessages-7bYKXU_R.js +3 -0
- package/out/assets/useGameRoom-DqA1mkfk.js +1 -0
- package/out/assets/wallet-DlkawdPJ.js +1 -0
- package/out/assets/{wifi-v3JpPCNm.js → wifi-sBOKcPFM.js} +1 -1
- package/out/avatars/default/LICENSE.md +7 -0
- package/out/avatars/default/dusk.svg +100 -0
- package/out/avatars/default/ember.svg +55 -0
- package/out/avatars/default/mint.svg +29 -0
- package/out/avatars/default/ocean.svg +25 -0
- package/out/avatars/default/sage.svg +34 -0
- package/out/avatars/default/violet.svg +60 -0
- package/out/chat/index.html +0 -0
- package/out/chat/join/index.html +0 -0
- package/out/demo/index.html +0 -0
- package/out/download/index.html +7 -2
- package/out/game/gandengyan/index.html +0 -0
- package/out/game/index.html +0 -0
- package/out/game/zhajinhua/index.html +0 -0
- package/out/index.html +7 -2
- package/out/note/index.html +0 -0
- package/out/ping/index.html +7 -2
- package/out/{web3/ed25519 → profile}/index.html +0 -0
- package/out/web3/index.html +0 -0
- package/package.json +2 -2
- package/public/avatars/default/LICENSE.md +7 -0
- package/public/avatars/default/dusk.svg +100 -0
- package/public/avatars/default/ember.svg +55 -0
- package/public/avatars/default/mint.svg +29 -0
- package/public/avatars/default/ocean.svg +25 -0
- package/public/avatars/default/sage.svg +34 -0
- package/public/avatars/default/violet.svg +60 -0
- package/server/index.js +9 -0
- package/server/src/core/channelAttachment.js +7 -3
- package/server/src/core/channelIdentity.js +39 -0
- package/server/src/core/cid.js +6 -1
- package/server/src/core/cidTopic.js +18 -4
- package/server/src/core/displayPath.js +10 -0
- package/server/src/core/gameRoom.js +2 -2
- package/server/src/core/mostLink.js +45 -25
- package/server/src/core/ownerMetadata.js +34 -0
- package/server/src/core/userSyncKeys.js +36 -0
- package/server/src/http/app.js +68 -148
- package/server/src/http/dataPath.js +26 -0
- package/server/src/http/errors.js +8 -4
- package/server/src/http/nodeStatus.js +13 -13
- package/server/src/http/rateLimit.js +39 -0
- package/server/src/http/routePolicy.js +43 -0
- package/server/src/index.js +2010 -823
- package/server/src/node/offlineSwarm.js +20 -0
- package/server/src/utils/api.js +1 -15
- package/server/src/utils/avatar.js +44 -3
- package/server/src/utils/downloadMessages.js +17 -18
- package/server/src/utils/errors.js +3 -1
- package/server/src/utils/noteUtils.js +27 -3
- package/out/assets/AppShell-DmZQwVA9.js +0 -1
- package/out/assets/ChatUi-CVGqjFdx.js +0 -1
- package/out/assets/LogoIcon-CYQ7cHd5.js +0 -1
- package/out/assets/MarketingLayout-BTIbv4fW.js +0 -1
- package/out/assets/MilkdownEditor-BL8xE7u9.js +0 -1054
- package/out/assets/MoveModal-BKkVBvrS.js +0 -1
- package/out/assets/Nav-BDGeJnbC.js +0 -1
- package/out/assets/NoteSidebar-BIJ8_m5K.js +0 -1
- package/out/assets/OpenSidebarButton-Di62DGiu.js +0 -1
- package/out/assets/PemBlock-Dxx6k9MH.js +0 -1
- package/out/assets/SidebarAccount-CCHZLGdP.js +0 -1
- package/out/assets/admin-BepWGXWG.js +0 -2
- package/out/assets/app-3D79fY3w.js +0 -1
- package/out/assets/arrow-right-D0sGC8QA.js +0 -1
- package/out/assets/channelApi-CL7YsIQ-.js +0 -1
- package/out/assets/chat-B56sk6od.js +0 -1
- package/out/assets/check-DdfnsLKm.js +0 -1
- package/out/assets/chevron-down-Xlb3wTxd.js +0 -1
- package/out/assets/circle-check-CwAH4dgJ.js +0 -1
- package/out/assets/cloud-CcPRoob1.js +0 -1
- package/out/assets/code-Dr6STnCn.js +0 -1
- package/out/assets/database-DQ7ZtUT9.js +0 -1
- package/out/assets/dateTime-D1koKRQU.js +0 -1
- package/out/assets/demo-B_6rlIjn.js +0 -3
- package/out/assets/dist-BGtXa07s.js +0 -9
- package/out/assets/download-BLPU-Kzq.js +0 -1
- package/out/assets/downloadMessages-7Xbd-HhS.js +0 -1
- package/out/assets/ed25519-BEctXF0E.js +0 -1
- package/out/assets/folder-CcbCxm-k.js +0 -1
- package/out/assets/game-B0zuqnOh.js +0 -1
- package/out/assets/gandengyan-DbQC7hCK.js +0 -1
- package/out/assets/index-BLhmAher.css +0 -1
- package/out/assets/index-Cf23WD2V.js +0 -29
- package/out/assets/join-DQHXjlfH.js +0 -1
- package/out/assets/note-DmWqGSS2.js +0 -2
- package/out/assets/ping-JILckfMu.js +0 -1
- package/out/assets/play-BIl5vwqS.js +0 -1
- package/out/assets/plus-DHvLpuuw.js +0 -1
- package/out/assets/routes-Dyckj88f.js +0 -1
- package/out/assets/search-C-EpsDNl.js +0 -1
- package/out/assets/sun-C3IUQTpa.js +0 -1
- package/out/assets/tools-BEctXF0E.js +0 -1
- package/out/assets/triangle-alert-DUODU79n.js +0 -1
- package/out/assets/upload-CpDM23UH.js +0 -1
- package/out/assets/useChannelMessages-Bs1hEJyd.js +0 -3
- package/out/assets/useGameRoom-C6UgmIGG.js +0 -1
- package/out/assets/wallet-YxbxCi7C.js +0 -1
- package/out/assets/web3-CRX1YFmw.js +0 -3
- package/out/assets/zhajinhua-QDmSZbOp.js +0 -1
- package/out/web3/tools/index.html +0 -0
- /package/out/assets/{gandengyan-8eWJAjpY.css → index-8eWJAjpY.css} +0 -0
- /package/out/assets/{zhajinhua-BZc4blbW.css → index-BZc4blbW.css} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e,o as t,r as n,t as r}from"./jsx-runtime-Bt-cYkS5.js";import{n as i,t as a}from"./triangle-alert-B_1BlX1b.js";import{t as o}from"./download-D0oMEYQZ.js";import{n as s,t as c}from"./trash-2-DNGr8IgF.js";import{t as l}from"./hard-drive-B3CQbcp2.js";import{t as u}from"./save-CiqyiifY.js";import{t as d}from"./shield-check-CxWxsNLc.js";import{t as f}from"./wifi-sBOKcPFM.js";import{J as p,T as m,W as h,Z as g,_,b as v,g as y,tt as b,w as ee}from"./index-WCK14Vja.js";import{t as x}from"./dayjs.min-Dcc0B6Je.js";import{t as te}from"./MarketingHeader-yIZuQP7m.js";import{t as S}from"./format-CR8oUWq6.js";var ne=p(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),re=p(`clipboard`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}]]),C=p(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),ie=p(`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`}]]),w=n(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_relativeTime=r()})(e,(function(){return function(e,t,n){e||={};var r=t.prototype,i={future:`in %s`,past:`%s ago`,s:`a few seconds`,m:`a minute`,mm:`%d minutes`,h:`an hour`,hh:`%d hours`,d:`a day`,dd:`%d days`,M:`a month`,MM:`%d months`,y:`a year`,yy:`%d years`};function a(e,t,n,i){return r.fromToBase(e,t,n,i)}n.en.relativeTime=i,r.fromToBase=function(t,r,a,o,s){for(var c,l,u,d=a.$locale().relativeTime||i,f=e.thresholds||[{l:`s`,r:44,d:`second`},{l:`m`,r:89},{l:`mm`,r:44,d:`minute`},{l:`h`,r:89},{l:`hh`,r:21,d:`hour`},{l:`d`,r:35},{l:`dd`,r:25,d:`day`},{l:`M`,r:45},{l:`MM`,r:10,d:`month`},{l:`y`,r:17},{l:`yy`,d:`year`}],p=f.length,m=0;m<p;m+=1){var h=f[m];h.d&&(c=o?n(t).diff(a,h.d,!0):a.diff(t,h.d,!0));var g=(e.rounding||Math.round)(Math.abs(c));if(u=c>0,g<=h.r||!h.r){g<=1&&m>0&&(h=f[m-1]);var _=d[h.l];s&&(g=s(``+g)),l=typeof _==`string`?_.replace(`%d`,g):_(g,r,h.l,u);break}}if(r)return l;var v=u?d.future:d.past;return typeof v==`function`?v(l):v.replace(`%s`,l)},r.to=function(e,t){return a(e,t,this,!0)},r.from=function(e,t){return a(e,t,this)};var o=function(e){return e.$u?n.utc():n()};r.toNow=function(e){return this.to(o(this),e)},r.fromNow=function(e){return this.from(o(this),e)}}}))})),T=n(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r(x()):typeof define==`function`&&define.amd?define([`dayjs`],r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_locale_zh_cn=r(n.dayjs)})(e,(function(e){function t(e){return e&&typeof e==`object`&&`default`in e?e:{default:e}}var n=t(e),r={name:`zh-cn`,weekdays:`星期日_星期一_星期二_星期三_星期四_星期五_星期六`.split(`_`),weekdaysShort:`周日_周一_周二_周三_周四_周五_周六`.split(`_`),weekdaysMin:`日_一_二_三_四_五_六`.split(`_`),months:`一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月`.split(`_`),monthsShort:`1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月`.split(`_`),ordinal:function(e,t){return t===`W`?e+`周`:e+`日`},weekStart:1,yearStart:4,formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`YYYY/MM/DD`,LL:`YYYY年M月D日`,LLL:`YYYY年M月D日Ah点mm分`,LLLL:`YYYY年M月D日ddddAh点mm分`,l:`YYYY/M/D`,ll:`YYYY年M月D日`,lll:`YYYY年M月D日 HH:mm`,llll:`YYYY年M月D日dddd HH:mm`},relativeTime:{future:`%s内`,past:`%s前`,s:`几秒`,m:`1 分钟`,mm:`%d 分钟`,h:`1 小时`,hh:`%d 小时`,d:`1 天`,dd:`%d 天`,M:`1 个月`,MM:`%d 个月`,y:`1 年`,yy:`%d 年`},meridiem:function(e,t){var n=100*e+t;return n<600?`凌晨`:n<900?`早上`:n<1100?`上午`:n<1300?`中午`:n<1800?`下午`:`晚上`}};return n.default.locale(r,null,!0),r}))})),E=n(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r(x()):typeof define==`function`&&define.amd?define([`dayjs`],r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_locale_zh_tw=r(n.dayjs)})(e,(function(e){function t(e){return e&&typeof e==`object`&&`default`in e?e:{default:e}}var n=t(e),r={name:`zh-tw`,weekdays:`星期日_星期一_星期二_星期三_星期四_星期五_星期六`.split(`_`),weekdaysShort:`週日_週一_週二_週三_週四_週五_週六`.split(`_`),weekdaysMin:`日_一_二_三_四_五_六`.split(`_`),months:`一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月`.split(`_`),monthsShort:`1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月`.split(`_`),ordinal:function(e,t){return t===`W`?e+`週`:e+`日`},formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`YYYY/MM/DD`,LL:`YYYY年M月D日`,LLL:`YYYY年M月D日 HH:mm`,LLLL:`YYYY年M月D日dddd HH:mm`,l:`YYYY/M/D`,ll:`YYYY年M月D日`,lll:`YYYY年M月D日 HH:mm`,llll:`YYYY年M月D日dddd HH:mm`},relativeTime:{future:`%s內`,past:`%s前`,s:`幾秒`,m:`1 分鐘`,mm:`%d 分鐘`,h:`1 小時`,hh:`%d 小時`,d:`1 天`,dd:`%d 天`,M:`1 個月`,MM:`%d 個月`,y:`1 年`,yy:`%d 年`},meridiem:function(e,t){var n=100*e+t;return n<600?`凌晨`:n<900?`早上`:n<1100?`上午`:n<1300?`中午`:n<1800?`下午`:`晚上`}};return n.default.locale(r,null,!0),r}))})),D=t(e(),1),O=t(x(),1),k=t(w(),1);T(),E();var A=r();O.default.extend(k.default);var ae=null;function oe(e,t){let n=Math.max(0,Number(e)||0),r=Math.floor(n/86400),i=Math.floor(n%86400/3600),a=Math.floor(n%3600/60);return r>0?t(`admin.uptime.daysHours`,{days:r,hours:i}):i>0?t(`admin.uptime.hoursMinutes`,{hours:i,minutes:a}):t(`admin.uptime.minutes`,{minutes:a})}function j(e){return Number.isFinite(e)?String(Math.round(e/(1024*1024*1024)*100)/100):`0`}function M(e){let t=Number(e);return!Number.isFinite(t)||t<0?0:Math.round(t*1024*1024*1024)}function se(e){return Array.from(new Set(String(e||``).split(/[\n,]/).map(e=>e.trim()).filter(Boolean)))}function N(e,t=12,n=8){return e?e.length<=t+n+3?e:`${e.slice(0,t)}...${e.slice(-n)}`:`-`}function ce(e,t){switch(e.seedStatus){case`queued`:return t(`admin.seedStatus.queued`);case`joining`:return t(`admin.seedStatus.joining`);case`active`:return t(`admin.seedStatus.active`);case`paused`:return t(`admin.seedStatus.paused`);case`error`:return e.seedError?t(`admin.seedStatus.errorWithMessage`,{message:e.seedError}):t(`admin.seedStatus.error`);default:return e.joined?t(`admin.seedStatus.active`):t(`admin.seedStatus.notJoined`)}}function P(e){return{"zh-CN":`zh-cn`,"zh-TW":`zh-tw`,en:`en`}[e]}function le(e,t,n){if(!e)return t(`admin.time.never`);let r=(0,O.default)(e);if(!r.isValid())return t(`admin.time.never`);if(r.isAfter((0,O.default)()))return t(`admin.time.justNow`);let i=P(n);return r.locale(i).from((0,O.default)().locale(i))}var ue=[{labelKey:`admin.seedHelp.active.label`,tone:`active`,descKey:`admin.seedHelp.active.desc`},{labelKey:`admin.seedHelp.pending.label`,tone:`pending`,descKey:`admin.seedHelp.pending.desc`},{labelKey:`admin.seedHelp.paused.label`,tone:`muted`,descKey:`admin.seedHelp.paused.desc`},{labelKey:`admin.seedHelp.error.label`,tone:`error`,descKey:`admin.seedHelp.error.desc`}],de=[{value:`all`,labelKey:`admin.logFilter.all`},{value:`join`,labelKey:`admin.logFilter.join`},{value:`pull`,labelKey:`admin.logFilter.pull`},{value:`verify`,labelKey:`admin.logFilter.verify`},{value:`serve`,labelKey:`admin.logFilter.serve`},{value:`error`,labelKey:`admin.logFilter.error`}],F={join:[`join`,`joined`,`topic`],pull:[`pull`,`p2p`],verify:[`verify`,`verified`,`integrity`,`download:success`],serve:[`seed`,`seeding`,`holding`,`publish:success`,`topic:joined`],error:[`error`,`failed`,`fail`]};function I(e){let t=``;try{t=JSON.stringify(e.data||{})}catch{}return[e.level,e.event,e.message,t].map(e=>String(e||``).toLowerCase()).join(` `)}function fe(e,t){let n=String(t||`all`).trim().toLowerCase();if(!n||n===`all`)return!0;let r=I(e);return n===`error`?e.level===`error`||F.error.some(e=>r.includes(e)):(F[n]||[n]).some(e=>r.includes(e))}function L(){let{t:e,locale:t,formatNumber:n,formatTime:r}=g(),p=y(e=>e.hasBackend),b=y(e=>e.addToast),[x,w]=(0,D.useState)(ae),[T,E]=(0,D.useState)([]),[O,k]=(0,D.useState)(``),[P,F]=(0,D.useState)(!1),[I,L]=(0,D.useState)(!1),[R,z]=(0,D.useState)(!1),[B,pe]=(0,D.useState)(`all`),[V,me]=(0,D.useState)([]),[he,H]=(0,D.useState)(``),[U,W]=(0,D.useState)({dataPath:``,capacityGiB:`100`,maxFileSizeGiB:`10`,remoteInvites:``}),G=p===!0;function K(){return G?!0:(b(e(p===null?`admin.toast.backendChecking`:`admin.toast.backendDisconnected`),`warning`),!1)}let q=(0,D.useMemo)(()=>!x||x.capacity.configuredBytes<=0?0:Math.min(100,Math.round(x.capacity.usedBytes/x.capacity.configuredBytes*100)),[x]),ge=(0,D.useMemo)(()=>(x?.holdings||[]).slice(0,100),[x]),J=Math.max(0,(x?.holdings.length||0)-100),Y=m(),X=!!Y&&!Y.includes(`localhost`)&&!Y.includes(`127.0.0.1`),Z=async()=>{if(!G)return!1;try{let e=await _.get(`/api/node/status`).json(),t=await _.get(`/api/node/config`).json();return w(e),W({dataPath:t.dataPath||e.dataPath||``,capacityGiB:j(t.capacityBytes),maxFileSizeGiB:j(t.maxFileSizeBytes),remoteInvites:(t.remoteInvites||[]).join(`
|
|
2
|
+
`)}),k(``),!0}catch(t){let n=await v(t,e(`admin.error.readStatus`));return k(n),b(n,`error`),!1}},_e=async()=>{K()&&await Z()&&b(e(`admin.toast.statusRefreshed`),`success`)},Q=async(e=B)=>{if(G)try{let t=new URLSearchParams({limit:`80`,filter:e});E((await _.get(`/api/node/logs?${t.toString()}`).json()).logs||[])}catch{}},$=async()=>{if(G)try{me((await _.get(`/api/admin/users`).json()).users||[])}catch{}},ve=async()=>{if(K()){F(!0);try{await _.post(`/api/node/config`,{json:{dataPath:U.dataPath,capacityBytes:M(U.capacityGiB),maxFileSizeBytes:M(U.maxFileSizeGiB),remoteInvites:se(U.remoteInvites)}}).json(),b(U.dataPath===(x?.dataPath||``)?e(`admin.toast.configSaved`):e(`admin.toast.configSavedRestart`),`success`),await Z(),await Q()}catch(t){let n=await v(t,e(`admin.error.saveConfig`));b(n,`error`),k(n)}finally{F(!1)}}},ye=async()=>{x?.nodeId&&(await navigator.clipboard.writeText(x.nodeId),b(e(`admin.toast.nodeIdCopied`),`success`))},be=async()=>{if(K()){L(!0);try{await _.delete(`/api/node/logs`).json(),E([]),b(e(`admin.toast.logsCleared`),`success`)}catch(t){let n=await v(t,e(`admin.error.clearLogs`));b(n,`error`),k(n)}finally{L(!1)}}},xe=async()=>{if(K()){z(!0);try{let t=await _.get(`/api/node/diagnostics`).json(),n=new Blob([JSON.stringify(t,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`),a=new Date().toISOString().replace(/[:.]/g,`-`);i.href=r,i.download=`mostbox-diagnostics-${a}.json`,document.body.appendChild(i),i.click(),i.remove(),URL.revokeObjectURL(r),b(e(`admin.toast.diagnosticsExported`),`success`)}catch(t){let n=await v(t,e(`admin.error.exportDiagnostics`));b(n,`error`),k(n)}finally{z(!1)}}},Se=async t=>{if(K()&&window.confirm(e(`admin.confirm.clearUserData`,{address:`${t.slice(0,6)}...${t.slice(-4)}`}))){H(t);try{await _.delete(`/api/admin/users/${t}/data`).json(),b(e(`admin.toast.userDataCleared`),`success`),await $(),await Z()}catch(t){let n=await v(t,e(`admin.error.clearUserData`));b(n,`error`),k(n)}finally{H(``)}}};return(0,D.useEffect)(()=>{if(!G||X)return;Z(),Q(),$();let e=null,t=!1;return(async()=>{if(e=new WebSocket(await ee(`/ws`)),t){e.close();return}e.onmessage=e=>{try{let t=JSON.parse(e.data);t.event===`node:status`&&w(t.data),t.event===`node:log`&&fe(t.data,B)&&E(e=>[t.data,...e].slice(0,80)),t.event===`node:logs:cleared`&&E([]),(t.event===`publish:success`||t.event===`download:success`||t.event===`network:status`)&&Z()}catch{}}})(),()=>{t=!0,e?.close()}},[G,X,B]),(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(te,{}),(0,A.jsxs)(`main`,{className:`admin-page`,children:[(0,A.jsxs)(`header`,{className:`admin-topbar`,children:[(0,A.jsx)(`div`,{className:`admin-title-group`,children:(0,A.jsx)(`h1`,{children:e(`admin.title`)})}),(0,A.jsxs)(`div`,{className:`admin-topbar-actions`,children:[(0,A.jsxs)(`span`,{className:`admin-status-pill ${x?.status===`online`?`online`:``}`,children:[(0,A.jsx)(ne,{size:14}),x?.status===`online`?e(`admin.status.online`):e(`admin.status.waiting`)]}),(0,A.jsxs)(`button`,{className:`btn btn-secondary`,onClick:_e,children:[(0,A.jsx)(ie,{size:16}),e(`admin.action.refresh`)]})]})]}),p===!1&&(0,A.jsxs)(`section`,{className:`admin-panel admin-error`,children:[(0,A.jsx)(h,{size:20}),(0,A.jsx)(`span`,{children:e(`admin.error.localDaemonDisconnected`)})]}),X&&(0,A.jsxs)(`section`,{className:`admin-panel admin-error`,children:[(0,A.jsx)(a,{size:18}),(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`h2`,{children:e(`admin.remoteUnavailable.title`)}),(0,A.jsx)(`p`,{children:e(`admin.remoteUnavailable.desc`)})]})]}),!X&&O&&(0,A.jsxs)(`section`,{className:`admin-panel admin-error`,children:[(0,A.jsx)(s,{size:20}),(0,A.jsx)(`span`,{children:O})]}),!X&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`section`,{className:`admin-overview`,children:[(0,A.jsxs)(`div`,{className:`admin-metric`,children:[(0,A.jsx)(`div`,{className:`admin-metric-icon`,children:(0,A.jsx)(d,{size:18})}),(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`span`,{children:e(`admin.metric.nodeId`)}),(0,A.jsx)(`strong`,{translate:`no`,children:N(x?.nodeId||``)})]}),(0,A.jsx)(`button`,{className:`btn btn-icon admin-metric-action`,onClick:ye,"aria-label":e(`admin.action.copyNodeId`),children:(0,A.jsx)(re,{size:15})})]}),(0,A.jsxs)(`div`,{className:`admin-metric`,children:[(0,A.jsx)(`div`,{className:`admin-metric-icon`,children:(0,A.jsx)(f,{size:18})}),(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`span`,{children:e(`admin.metric.connections`)}),(0,A.jsx)(`strong`,{children:x?e(`admin.metric.peers`,{count:x.network.peers}):`-`})]})]}),(0,A.jsxs)(`div`,{className:`admin-metric`,children:[(0,A.jsx)(`div`,{className:`admin-metric-icon`,children:(0,A.jsx)(l,{size:18})}),(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`span`,{children:e(`admin.metric.capacity`)}),(0,A.jsxs)(`strong`,{children:[q,`%`]})]})]}),(0,A.jsxs)(`div`,{className:`admin-metric`,children:[(0,A.jsx)(`div`,{className:`admin-metric-icon`,children:(0,A.jsx)(h,{size:18})}),(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`span`,{children:e(`admin.metric.uptime`)}),(0,A.jsx)(`strong`,{children:x?oe(x.uptimeSeconds,e):`-`})]})]})]}),(0,A.jsxs)(`section`,{className:`admin-grid`,children:[(0,A.jsxs)(`div`,{className:`admin-panel admin-span-2`,children:[(0,A.jsxs)(`div`,{className:`admin-panel-header`,children:[(0,A.jsx)(`div`,{children:(0,A.jsx)(`h2`,{children:e(`admin.nodeStatus.title`)})}),(0,A.jsx)(i,{size:18})]}),(0,A.jsxs)(`div`,{className:`admin-status-grid`,children:[(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`span`,{children:e(`admin.nodeStatus.version`)}),(0,A.jsx)(`strong`,{translate:`no`,children:x?.version||`-`})]}),(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`span`,{children:e(`admin.nodeStatus.listen`)}),(0,A.jsx)(`strong`,{translate:`no`,children:x?`${x.host}:${x.port}`:`-`})]}),(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`span`,{children:e(`admin.nodeStatus.dataPath`)}),(0,A.jsx)(`strong`,{translate:`no`,children:x?.dataPath||`-`})]})]}),(0,A.jsx)(`div`,{className:`admin-address-list`,children:(x?.listen.addresses||[]).map(e=>(0,A.jsxs)(`span`,{translate:`no`,children:[e.label,`: `,e.ip,`:`,x?.port]},`${e.type}-${e.ip}`))})]}),(0,A.jsxs)(`div`,{className:`admin-panel admin-span-2`,children:[(0,A.jsxs)(`div`,{className:`admin-panel-header`,children:[(0,A.jsx)(`div`,{children:(0,A.jsx)(`h2`,{children:e(`admin.userData.title`)})}),(0,A.jsx)(C,{size:18})]}),(0,A.jsxs)(`div`,{className:`admin-table`,children:[(0,A.jsxs)(`div`,{className:`admin-table-row admin-table-head`,children:[(0,A.jsx)(`span`,{children:e(`admin.userData.user`)}),(0,A.jsx)(`span`,{children:e(`admin.userData.files`)}),(0,A.jsx)(`span`,{children:e(`admin.userData.trash`)}),(0,A.jsx)(`span`,{children:e(`admin.userData.actions`)})]}),V.map(t=>(0,A.jsxs)(`div`,{className:`admin-table-row`,children:[(0,A.jsx)(`span`,{title:t.address,translate:`no`,children:N(t.address)}),(0,A.jsx)(`span`,{children:n(t.fileCount)}),(0,A.jsx)(`span`,{children:n(t.trashCount)}),(0,A.jsx)(`span`,{children:(0,A.jsxs)(`button`,{className:`btn btn-ghost`,onClick:()=>Se(t.address),disabled:he===t.address,children:[(0,A.jsx)(c,{size:16}),e(`admin.action.clear`)]})})]},t.address)),V.length===0&&(0,A.jsx)(`div`,{className:`admin-empty-row`,children:e(`admin.userData.empty`)})]})]}),(0,A.jsxs)(`div`,{className:`admin-panel admin-span-2`,children:[(0,A.jsxs)(`div`,{className:`admin-panel-header`,children:[(0,A.jsx)(`div`,{children:(0,A.jsx)(`h2`,{children:e(`admin.settings.title`)})}),(0,A.jsx)(C,{size:18})]}),(0,A.jsxs)(`div`,{className:`admin-settings-fields`,children:[(0,A.jsxs)(`label`,{className:`admin-field admin-field-wide`,children:[(0,A.jsx)(`span`,{children:e(`admin.settings.dataPath`)}),(0,A.jsx)(`input`,{className:`input`,value:U.dataPath,onChange:e=>W(t=>({...t,dataPath:e.target.value}))})]}),(0,A.jsxs)(`label`,{className:`admin-field`,children:[(0,A.jsx)(`span`,{children:e(`admin.settings.capacityGiB`)}),(0,A.jsx)(`input`,{className:`input`,type:`number`,min:`0`,step:`1`,value:U.capacityGiB,onChange:e=>W(t=>({...t,capacityGiB:e.target.value}))})]}),(0,A.jsxs)(`label`,{className:`admin-field`,children:[(0,A.jsx)(`span`,{children:e(`admin.settings.maxFileSizeGiB`)}),(0,A.jsx)(`input`,{className:`input`,type:`number`,min:`0`,step:`1`,value:U.maxFileSizeGiB,onChange:e=>W(t=>({...t,maxFileSizeGiB:e.target.value}))})]}),(0,A.jsxs)(`label`,{className:`admin-field admin-field-wide`,children:[(0,A.jsx)(`span`,{children:e(`admin.settings.remoteInvites`)}),(0,A.jsx)(`textarea`,{className:`input admin-textarea`,value:U.remoteInvites,placeholder:e(`admin.settings.remoteInvitesPlaceholder`),onChange:e=>W(t=>({...t,remoteInvites:e.target.value}))})]})]}),(0,A.jsx)(`p`,{className:`admin-field-hint`,children:e(`admin.settings.hint`)}),(0,A.jsxs)(`button`,{className:`btn btn-primary btn-full`,onClick:ve,disabled:P,children:[(0,A.jsx)(u,{size:16}),e(`admin.action.saveConfig`)]})]}),(0,A.jsxs)(`div`,{className:`admin-panel admin-span-2`,children:[(0,A.jsxs)(`div`,{className:`admin-panel-header`,children:[(0,A.jsx)(`div`,{children:(0,A.jsx)(`h2`,{children:e(`admin.holdings.title`)})}),(0,A.jsx)(l,{size:18})]}),(0,A.jsxs)(`div`,{className:`admin-capacity-row`,children:[(0,A.jsx)(`progress`,{value:q,max:`100`}),(0,A.jsxs)(`span`,{children:[S(x?.capacity.usedBytes||0),` /`,` `,S(x?.capacity.configuredBytes||0)]})]}),(0,A.jsx)(`div`,{className:`admin-seed-help`,"aria-label":e(`admin.seedHelp.label`),children:ue.map(t=>(0,A.jsxs)(`div`,{className:`admin-seed-help-item`,children:[(0,A.jsx)(`span`,{className:`admin-seed-dot ${t.tone}`}),(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`strong`,{children:e(t.labelKey)}),(0,A.jsx)(`span`,{children:e(t.descKey)})]})]},t.labelKey))}),J>0&&(0,A.jsx)(`p`,{className:`admin-table-note`,children:e(`admin.holdings.hiddenCount`,{count:n(J)})}),(0,A.jsxs)(`div`,{className:`admin-table`,children:[(0,A.jsxs)(`div`,{className:`admin-table-row admin-table-head`,children:[(0,A.jsx)(`span`,{children:e(`admin.holdings.file`)}),(0,A.jsx)(`span`,{children:`CID`}),(0,A.jsx)(`span`,{children:e(`admin.holdings.size`)}),(0,A.jsx)(`span`,{children:`Peer`}),(0,A.jsx)(`span`,{children:e(`admin.holdings.lastServed`)}),(0,A.jsx)(`span`,{children:e(`admin.holdings.status`)})]}),ge.map(n=>(0,A.jsxs)(`div`,{className:`admin-table-row`,children:[(0,A.jsx)(`span`,{translate:`no`,children:n.fileName||`-`}),(0,A.jsx)(`span`,{title:n.cid,translate:`no`,children:N(n.cid)}),(0,A.jsx)(`span`,{children:S(n.size)}),(0,A.jsx)(`span`,{children:n.peerCount??0}),(0,A.jsx)(`span`,{title:n.lastServedAt||``,children:le(n.lastServedAt,e,t)}),(0,A.jsx)(`span`,{className:`admin-seed-pill ${n.seedStatus===`error`?`error`:n.seedStatus===`active`||n.joined?`active`:``}`,children:ce(n,e)})]},n.cid)),(!x||x.holdings.length===0)&&(0,A.jsx)(`div`,{className:`admin-empty-row`,children:e(`admin.holdings.empty`)})]})]}),(0,A.jsxs)(`div`,{className:`admin-panel admin-span-2`,children:[(0,A.jsxs)(`div`,{className:`admin-panel-header`,children:[(0,A.jsx)(`div`,{children:(0,A.jsx)(`h2`,{children:e(`admin.logs.title`)})}),(0,A.jsxs)(`div`,{className:`admin-panel-actions`,children:[(0,A.jsxs)(`button`,{className:`btn btn-secondary`,onClick:xe,disabled:R,children:[(0,A.jsx)(o,{size:16}),e(`admin.action.exportDiagnostics`)]}),(0,A.jsxs)(`button`,{className:`btn btn-ghost`,onClick:be,disabled:I||T.length===0,children:[(0,A.jsx)(c,{size:16}),e(`admin.action.clearLogs`)]}),(0,A.jsx)(s,{size:18})]})]}),(0,A.jsx)(`div`,{className:`admin-log-filter`,"aria-label":e(`admin.logs.filterLabel`),children:de.map(t=>(0,A.jsx)(`button`,{type:`button`,className:B===t.value?`active`:``,onClick:()=>{pe(t.value),Q(t.value)},children:e(t.labelKey)},t.value))}),(0,A.jsxs)(`div`,{className:`admin-log-list`,children:[T.map(e=>(0,A.jsxs)(`div`,{className:`admin-log-row`,children:[(0,A.jsx)(`time`,{children:r(e.ts)}),(0,A.jsx)(`span`,{className:`admin-log-level ${e.level}`,translate:`no`,children:e.level}),(0,A.jsx)(`strong`,{translate:`no`,children:e.event}),(0,A.jsx)(`span`,{translate:`no`,children:e.message})]},e.id)),T.length===0&&(0,A.jsx)(`div`,{className:`admin-empty-row`,children:e(`admin.logs.empty`)})]})]})]})]})]})]})}var R=b(`/admin/`)({component:L});export{R as Route};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,o as t,t as n}from"./jsx-runtime-Bt-cYkS5.js";import{n as r,r as i}from"./LanguageToggle-B4ZNuBCV.js";import{t as a}from"./copy-giX4rmFJ.js";import{t as o}from"./AppShell-OiOEqXPr.js";import{t as s}from"./play-OszVgROb.js";import{a as c,i as l,n as u,r as d,t as f}from"./useGameRoom-DqA1mkfk.js";import{D as p,E as m,G as h,J as g,O as ee,Z as te,g as _,m as ne,tt as v}from"./index-WCK14Vja.js";var re=g(`refresh-ccw`,[[`path`,{d:`M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`14sxne`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16`,key:`1hlbsb`}],[`path`,{d:`M16 16h5v5`,key:`ccwih5`}]]),y=t(e(),1),b=[10,20,50,100],x=[`2`,`3`,`4`,`5`,`6`,`7`,`8`,`9`,`10`,`J`,`Q`,`K`,`A`],S=[`D`,`C`,`H`,`S`],ie=new Map(x.map((e,t)=>[e,t+2])),C=new Map(S.map((e,t)=>[e,t+1])),w={high:1,pair:2,straight:3,flush:4,straightFlush:5,triple:6},ae={[w.high]:`散牌`,[w.pair]:`对子`,[w.straight]:`顺子`,[w.flush]:`金花`,[w.straightFlush]:`顺金`,[w.triple]:`豹子`};function T(e){return String(e||``).trim().toUpperCase().replace(/[^A-Z0-9]/g,``).slice(0,8)}function E(e=`zhajinhua`){return`${e}_${Date.now()}_${_e(4)}`}function D(){return E(`round`)}function oe(){let e=[];for(let t of S)for(let n of x)e.push(`${n}${t}`);return e}function se(e=oe(),t=Math.random){let n=[...e];for(let e=n.length-1;e>0;e--){let r=Math.floor(t()*(e+1));[n[e],n[r]]=[n[r],n[e]]}return n}function O(e){let t=String(e||``).trim().toUpperCase(),n=t.slice(-1),r=t.slice(0,-1);if(!ie.has(r)||!C.has(n))throw Error(`Invalid card: ${e}`);return{id:`${r}${n}`,rank:r,suit:n,rankValue:ie.get(r),suitValue:C.get(n)}}function ce(e,t){let n=Math.max(e.length,t.length);for(let r=0;r<n;r++){let n=e[r]||0,i=t[r]||0;if(n!==i)return n-i}return 0}function k(e){let t=[...new Set(e)].sort((e,t)=>e-t);return t.length===3?t[0]===2&&t[1]===3&&t[2]===14?3:t[0]+1===t[1]&&t[1]+1===t[2]?t[2]:0:0}function A(e){if(!Array.isArray(e)||e.length!==3)throw Error(`炸金花手牌必须是 3 张牌`);let t=e.map(O),n=t.map(e=>e.rankValue),r=new Map;for(let e of n)r.set(e,(r.get(e)||0)+1);let i=new Set(t.map(e=>e.suit)).size===1,a=k(n),o=[...n].sort((e,t)=>t-e),s=Math.max(...t.map(e=>e.suitValue)),c=w.high,l=o;return r.size===1?(c=w.triple,l=[o[0]]):a&&i?(c=w.straightFlush,l=[a]):i?(c=w.flush,l=o):a?(c=w.straight,l=[a]):r.size===2&&(c=w.pair,l=[[...r.entries()].find(([,e])=>e===2)[0],[...r.entries()].find(([,e])=>e===1)[0]]),{category:c,label:ae[c],tiebreakers:l,tieSuit:s,cards:t.map(e=>e.id)}}function j(e,t){let n=A(e),r=A(t);if(n.category!==r.category)return n.category-r.category;let i=ce(n.tiebreakers,r.tiebreakers);return i===0?n.tieSuit-r.tieSuit:i}function le(e){return A(e).label}function ue({roundId:e,action:t,amount:n,target:r}){return{roundId:e,eventId:E(`action`),action:t,amount:n,target:r}}function de(e=[]){let t=e.filter(e=>Number(e.chips)>=10);return t.length>=2&&t.length<=5}function fe({roomCode:e,players:t,hostAddress:n,previousSeq:r=0,previousWinner:i=``,roundId:a=D(),random:o=Math.random}){let s=t.filter(e=>Number(e.chips)>=10).slice(0,5);if(s.length<2)throw Error(`至少需要 2 名有足够筹码的玩家`);let c=se(oe(),o),l={},u=s.map((e,t)=>{let n=c.slice(t*3,t*3+3);return l[e.address]=n,{address:e.address,name:e.name,publicKey:e.publicKey,chips:Number(e.chips)-10,status:`active`,looked:!1,bet:10}}),d,f=U(i),p=f?u.findIndex(e=>U(e.address)===f):-1;return d=p>=0?u[p].address:u[Math.floor(o()*u.length)].address,{roomCode:T(e),roundId:a,status:`playing`,host:U(n),seq:r+1,startedAt:Date.now(),ante:10,pot:10*u.length,currentBet:10,turnAddress:d,players:u,lastAction:`本局开始`,winner:null,showdown:null,appliedEventIds:[],hands:l,actionCounts:{},compareReveal:{}}}function pe(e){if(!e)return null;let t={...e};return delete t.hands,W(t)}function me(e,t){let n=M(e);return!n||!t||typeof t!=`object`?null:{...n,hands:W(t)}}function M(e){return!e||typeof e!=`object`||!e.roundId||!Array.isArray(e.players)?null:{roomCode:T(e.roomCode),roundId:String(e.roundId),status:e.status===`finished`?`finished`:`playing`,host:U(e.host),seq:Number(e.seq)||1,startedAt:Number(e.startedAt)||Date.now(),ante:Number(e.ante)||10,pot:Math.max(0,Number(e.pot)||0),currentBet:Math.max(0,Number(e.currentBet)||10),turnAddress:U(e.turnAddress),players:e.players.map(H).filter(Boolean),lastAction:String(e.lastAction||``),winner:e.winner?U(e.winner):null,showdown:e.showdown&&typeof e.showdown==`object`?W(e.showdown):null,appliedEventIds:Array.isArray(e.appliedEventIds)?e.appliedEventIds.map(String):[],actionCounts:e.actionCounts&&typeof e.actionCounts==`object`?W(e.actionCounts):{},compareReveal:e.compareReveal&&typeof e.compareReveal==`object`?W(e.compareReveal):{},lastCompare:e.lastCompare&&typeof e.lastCompare==`object`?W(e.lastCompare):null,finishedAt:e.finishedAt?Number(e.finishedAt):null}}function N(e,t,n){let r=M(e);if(!r||r.status!==`playing`)return{ok:!1,error:`当前没有进行中的牌局`};let i=U(n),a=r.players.find(e=>e.address===i);if(!a||a.status!==`active`)return{ok:!1,error:`玩家不在本轮牌局中`};if(r.turnAddress!==i)return{ok:!1,error:`还没有轮到你操作`};let o=t?.action;if(![`look`,`call`,`raise`,`compare`,`fold`].includes(o))return{ok:!1,error:`未知操作`};if(o===`look`)return a.looked?{ok:!1,error:`已经看过牌`}:{ok:!0};if(o===`call`)return a.chips>=10?{ok:!0}:{ok:!1,error:`筹码不足,不能跟注`};if(o===`raise`){let e=Number(t.amount);if(!b.includes(e))return{ok:!1,error:`加注档位无效`};let n=r.currentBet+e-a.bet;return a.chips>=n?{ok:!0}:{ok:!1,error:`筹码不足,不能加注`}}if(o===`compare`){let e=U(t.target),n=r.players.find(t=>t.address===e);if(!e||e===i||!n||n.status!==`active`)return{ok:!1,error:`请选择有效的比牌对象`};if(!r.players.filter(e=>e.status===`active`).every(e=>(r.actionCounts?.[e.address]||0)>=1))return{ok:!1,error:`第一轮不能比牌,请先跟注或加注`};let o=Math.max(0,r.currentBet-a.bet);return a.chips>=o?{ok:!0}:{ok:!1,error:`筹码不足,不能比牌`}}return{ok:!0}}function P(e,t,n){let r=N(e,t,n);if(!r.ok)return{ok:!1,error:r.error,state:e};let i=W(e),a=U(n),o=i.players.find(e=>e.address===a),s=String(t.eventId);if(i.appliedEventIds?.includes(s))return{ok:!0,state:i,duplicate:!0};if(Array.isArray(i.appliedEventIds)||(i.appliedEventIds=[]),i.appliedEventIds.push(s),t.action===`look`)return o.looked=!0,i.lastAction=`${o.name} 看牌`,V(i);if(t.action===`fold`)return o.status=`folded`,i.lastAction=`${o.name} 弃牌`,L(i,a),R(i,a);if(t.action===`call`)return o.chips-=10,o.bet+=10,i.pot+=10,i.lastAction=`${o.name} 跟注`,L(i,a),R(i,a);if(t.action===`raise`){let e=Number(t.amount);return i.currentBet+=e,I(i,o),i.lastAction=`${o.name} 加注 ${e}`,L(i,a),R(i,a)}if(t.action===`compare`){I(i,o);let e=U(t.target),n=i.players.find(t=>t.address===e),r=o.looked,s=n.looked,c=j(i.hands?.[a]||[],i.hands?.[e]||[]),l=c>=0?o:n,u=c>=0?n:o;u.status=`folded`,u.looked=!0,i.compareReveal||={};let d=r&&s,f=!r&&!s;if(d)i.compareReveal[a]=i.hands?.[e]||[],i.compareReveal[e]=i.hands?.[a]||[];else if(f)i.compareReveal[u.address]=i.hands?.[l.address]||[];else{let e=r?o:n,t=r?n:o;i.compareReveal[e.address]=i.hands?.[t.address]||[],i.compareReveal[u.address]=i.hands?.[l.address]||[]}return i.lastCompare={initiator:a,target:e,winner:l.address,loser:u.address,initiatorLooked:r,targetLooked:s,timestamp:Date.now()},i.lastAction=`${o.name} 与 ${n.name} 比牌,${u.name} 出局`,L(i,a),R(i,a)}return{ok:!1,error:`未知操作`,state:e}}function F(e){return(e?.players||[]).filter(e=>e.status===`active`)}function he(e,t){let n=(e?.players||[]).find(e=>e.address===U(t));if(!e||e.status!==`playing`||!n||n.status!==`active`||e.turnAddress!==n.address)return[];let r=[];return n.looked||r.push(`look`),N(e,{action:`call`},n.address).ok&&r.push(`call`),b.some(t=>N(e,{action:`raise`,amount:t},n.address).ok)&&r.push(`raise`),F(e).length>1&&e.players.filter(e=>e.status===`active`).every(t=>(e.actionCounts?.[t.address]||0)>=1)&&r.push(`compare`),r.push(`fold`),r}function I(e,t){let n=Math.max(0,e.currentBet-t.bet);t.chips-=n,t.bet+=n,e.pot+=n}function L(e,t){e.actionCounts||={},e.actionCounts[t]=(e.actionCounts[t]||0)+1}function R(e,t){let n=F(e);return n.length===1?z(e,n[0].address):(e.turnAddress=B(e,t),V(e))}function z(e,t){let n=e.players.find(e=>e.address===t),r=e.pot;return n&&(n.chips+=e.pot),e.status=`finished`,e.winner=t,e.winAmount=r,e.turnAddress=``,e.showdown=e.hands?W(e.hands):null,e.lastAction=n?`${n.name} 赢得 ${r} 筹码`:`本局结束`,e.pot=0,e.finishedAt=Date.now(),V(e)}function B(e,t){let n=e.players,r=Math.max(0,n.findIndex(e=>e.address===U(t)));for(let e=1;e<=n.length;e++){let t=n[(r+e)%n.length];if(t.status===`active`)return t.address}return``}function V(e){return e.seq=Number(e.seq||0)+1,{ok:!0,state:e}}function H(e){if(!e||typeof e!=`object`)return null;let t=U(e.address);return t?{address:t,name:String(e.name||ge(t)).slice(0,50),publicKey:String(e.publicKey||``),chips:Math.max(0,Number(e.chips)||0),status:e.status===`folded`?`folded`:`active`,looked:e.looked===!0,bet:Math.max(0,Number(e.bet)||0)}:null}function U(e){let t=String(e||``).trim();return/^0x[a-fA-F0-9]{40}$/.test(t)?t.toLowerCase():``}function ge(e){return e?`${e.slice(0,6)}...${e.slice(-4)}`:``}function W(e){return JSON.parse(JSON.stringify(e))}function _e(e){let t=new Uint8Array(e);if(globalThis.crypto?.getRandomValues)globalThis.crypto.getRandomValues(t);else for(let e=0;e<t.length;e++)t[e]=Math.floor(Math.random()*256);return[...t].map(e=>e.toString(16).padStart(2,`0`)).join(``)}var G={page:`_page_1nzmd_1`,headerActions:`_headerActions_1nzmd_12`,entry:`_entry_1nzmd_18`,entryBrand:`_entryBrand_1nzmd_28`,cardMark:`_cardMark_1nzmd_34`,entryPanel:`_entryPanel_1nzmd_62`,accountLine:`_accountLine_1nzmd_72`,joinForm:`_joinForm_1nzmd_89`,status:`_status_1nzmd_110`,board:`_board_1nzmd_116`,table:`_table_1nzmd_123`,tableCenter:`_tableCenter_1nzmd_144`,finishBanner:`_finishBanner_1nzmd_173`,finishBannerIcon:`_finishBannerIcon_1nzmd_192`,seats:`_seats_1nzmd_196`,seat:`_seat_1nzmd_196`,seatTurn:`_seatTurn_1nzmd_218`,seatWinner:`_seatWinner_1nzmd_223`,seatFolded:`_seatFolded_1nzmd_228`,seatAvatar:`_seatAvatar_1nzmd_232`,seatMain:`_seatMain_1nzmd_244`,seatMeta:`_seatMeta_1nzmd_245`,panel:`_panel_1nzmd_276`,panelSection:`_panelSection_1nzmd_283`,panelTitle:`_panelTitle_1nzmd_293`,hand:`_hand_1nzmd_303`,card:`_card_1nzmd_34`,red:`_red_1nzmd_337`,black:`_black_1nzmd_341`,cardBack:`_cardBack_1nzmd_345`,handLabel:`_handLabel_1nzmd_366`,actionGrid:`_actionGrid_1nzmd_373`,raiseRow:`_raiseRow_1nzmd_374`,statusGrid:`_statusGrid_1nzmd_385`,muted:`_muted_1nzmd_403`,compareOverlay:`_compareOverlay_1nzmd_410`,compareBox:`_compareBox_1nzmd_422`,compareTitle:`_compareTitle_1nzmd_436`,comparePlayers:`_comparePlayers_1nzmd_442`,compareSide:`_compareSide_1nzmd_449`,compareWinner:`_compareWinner_1nzmd_461`,compareName:`_compareName_1nzmd_466`,compareCards:`_compareCards_1nzmd_477`,compareLabel:`_compareLabel_1nzmd_502`,compareVs:`_compareVs_1nzmd_508`,compareResult:`_compareResult_1nzmd_515`},K=n(),ve=`zhajinhua`;function q(...e){return e.filter(Boolean).join(` `)}function J(e,t){return String(e||``).toLowerCase()===String(t||``).toLowerCase()}function ye(e=``){return e?`${e.slice(0,6)}...${e.slice(-4)}`:``}function be(e){return e.displayName||e.username}function xe(e){let t=String(e||``),n=t.slice(-1);return{rank:t.slice(0,-1),suit:{S:`♠`,H:`♥`,C:`♣`,D:`♦`}[n]||n,color:n===`H`||n===`D`?`red`:`black`}}function Se(){let{t:e}=te(),t=_(e=>e.isDarkMode),n=_(e=>e.setIsDarkMode),g=_(e=>e.addToast),v=ne(e=>e.initializeUser),[x,S]=(0,y.useState)(``),[ie,C]=(0,y.useState)(!1),w=(0,y.useRef)(``),ae=(0,y.useRef)(!1),[T,E]=(0,y.useState)(20),[D,oe]=(0,y.useState)(``),[se,O]=(0,y.useState)({}),[ce,k]=(0,y.useState)(!0),[A,j]=(0,y.useState)(!1),M=(0,y.useRef)(null),N=(0,y.useRef)(new Set),I=f({gameId:ve,onError:e=>g(e,`error`),getPlayerPayload:e=>{let t=m(e.danger);return{address:e.address,name:be(e),publicKey:t.public_key,joinedAt:Date.now()}}}),L=(0,y.useMemo)(()=>I.userIdentity?.danger?m(I.userIdentity.danger):null,[I.userIdentity?.danger]);(0,y.useEffect)(()=>{v()},[v]),(0,y.useEffect)(()=>{let e=new URLSearchParams(window.location.search).get(`room`)?.toUpperCase();e&&(S(e),w.current=e)},[]),(0,y.useEffect)(()=>{let t=w.current;!t||ae.current||!I.isBackendReady||!I.userIdentity||(ae.current=!0,w.current=``,I.joinRoom(t).then(t=>{t&&g(e(`game.toast.joinedRoom`),`success`)}))},[I.isBackendReady,I.userIdentity,I.joinRoom,g,e]),(0,y.useEffect)(()=>{if(!I.roomCode)return;let e=`/game/zhajinhua?room=${I.roomCode}`;`${window.location.pathname}${window.location.search}`!==e&&window.history.replaceState(null,``,e)},[I.roomCode]);let R=(0,y.useMemo)(()=>u(I.messages,{gameId:ve,roomCode:I.roomCode}),[I.messages,I.roomCode]),z=(0,y.useMemo)(()=>d(I.messages,{gameId:ve,roomCode:I.roomCode}),[I.messages,I.roomCode])?.payload?.round||null,B=z?.host||R.hostAddress,V=J(B,I.userIdentity?.address),H=I.userIdentity?.address?.toLowerCase()||``,U=z?.players.find(e=>J(e.address,H)),ge=U||R.players.find(e=>J(e.address,H)),W=se[z?.roundId||``]||null,_e=z?.showdown&&H?z.showdown[H]:null,Se=z?.compareReveal&&H?z.compareReveal[H]:null,X=_e||Se||(U?.looked?W:null),Z=he(z,H),we=F(z),Q=V&&de(R.players.map(e=>({...e,chips:z?.players.find(t=>J(t.address,e.address))?.chips??1e3}))),Te=I.roomCode&&typeof window<`u`?`${window.location.origin}/game/zhajinhua?room=${I.roomCode}`:``;(0,y.useEffect)(()=>{if(!(!z||!I.userIdentity||!L||!B))for(let e of I.roomEvents){let t=e.event;if(!t||t.event!==`deal:private`)continue;let n=t.payload;if(n.roundId!==z.roundId||!J(n.recipient,I.userIdentity.address))continue;let r=p(n.encrypted||``,{senderPublicKey:n.senderPublicKey||``,recipientPrivateKey:L.private_key});if(r)try{let e=JSON.parse(r);Array.isArray(e)&&O(t=>({...t,[z.roundId]:e.map(String)}))}catch{}}},[z?.roundId,I.roomEvents,I.userIdentity,B,L?.private_key]),(0,y.useEffect)(()=>{if(z?.status===`finished`&&z.winner){k(!0);let e=setTimeout(()=>k(!1),5e3);return()=>clearTimeout(e)}},[z?.finishedAt,z?.status,z?.winner]),(0,y.useEffect)(()=>{if(z?.lastCompare?.timestamp){j(!0);let e=setTimeout(()=>j(!1),5e3);return()=>clearTimeout(e)}else j(!1)},[z?.lastCompare?.timestamp,z?.roundId]),(0,y.useEffect)(()=>{if(!V||!z||z.status!==`playing`)return;let e=M.current;if(!e)return;let t=I.roomEvents.filter(e=>{let t=e.event;if(!t||t.event!==`player:action`)return!1;let n=t.payload.actionEvent;return!(!n||n.roundId!==z.roundId||N.current.has(n.eventId)||z.appliedEventIds?.includes(n.eventId))});if(t.length===0)return;let n=!1;async function r(){let r=me(z,e);if(r)for(let e of t){if(n)return;let t=(e.event?.payload).actionEvent,i=P(r,t,e.message.author);if(!i.ok){let n=e.message.author;if(!J(n,I.userIdentity?.address)&&r.status===`playing`&&J(r.turnAddress,n)){let e=P(r,ue({roundId:r.roundId,action:`call`,amount:void 0,target:void 0}),n);if(e.ok)i=e;else{let e=P(r,ue({roundId:r.roundId,action:`fold`,amount:void 0,target:void 0}),n);e.ok&&(i=e)}}if(!i.ok){N.current.add(t.eventId);continue}}if(r=i.state,M.current=i.state.hands,await ke(i.state)&&N.current.add(t.eventId),i.state.status===`finished`)break}}return r(),()=>{n=!0}},[z?.roundId,z?.seq,z?.status,I.roomEvents,V]);async function Ee(){await I.createRoom()&&g(e(`game.toast.roomCreated`),`success`)}async function De(t){t.preventDefault(),await I.joinRoom(x)&&g(e(`game.toast.joinedRoom`),`success`)}async function Oe(){Te&&(await navigator.clipboard.writeText(Te),C(!0),setTimeout(()=>C(!1),1400))}async function ke(e){return I.sendRoomEvent(`room:state`,{round:pe(e),seq:e.seq})}async function Ae(){if(!I.userIdentity||!L||!Q){g(e(`game.zhajinhua.error.notEnoughPlayers`),`error`);return}try{let t=R.players.map(e=>({...e,chips:z?.players.find(t=>J(t.address,e.address))?.chips??1e3})),n=fe({roomCode:I.roomCode,players:t,hostAddress:I.userIdentity.address,previousSeq:z?.seq||0,previousWinner:z?.winner||``});M.current=n.hands,N.current.clear(),await ke(n);for(let e of n.players){let t=ee(JSON.stringify(n.hands[e.address]),{senderPrivateKey:L.private_key,recipientPublicKey:e.publicKey});await I.sendRoomEvent(`deal:private`,{roundId:n.roundId,recipient:e.address,senderPublicKey:L.public_key,encrypted:t})}O(e=>({...e,[n.roundId]:n.hands[I.userIdentity.address.toLowerCase()]})),g(e(`game.zhajinhua.toast.roundStarted`),`success`)}catch(t){g(t instanceof Error?t.message:e(`game.zhajinhua.error.startFailed`),`error`)}}async function $(e,t={}){if(!z||!I.userIdentity)return;let n=ue({roundId:z.roundId,action:e,amount:t.amount,target:t.target});await I.sendRoomEvent(`player:action`,{actionEvent:n})}let je=z?.status===`playing`?J(z.turnAddress,H)?e(`game.zhajinhua.status.yourTurn`):z.turnAddress?e(`game.zhajinhua.status.waitingPlayer`,{player:Y(z.turnAddress,R.players)}):e(`game.status.playing`):z?.status===`finished`?e(`game.status.finished`):e(`game.status.waitingStart`),Me=we.filter(e=>!J(e.address,H));return(0,K.jsx)(o,{sidebar:({closeSidebar:e})=>(0,K.jsx)(l,{activeGame:`zhajinhua`,closeSidebar:e}),headerTitle:(0,K.jsx)(`h2`,{className:`header-title`,children:e(`game.zhajinhua.title`)}),headerRight:(0,K.jsxs)(`div`,{className:G.headerActions,children:[I.roomCode&&(0,K.jsxs)(`button`,{className:`btn btn-sm`,onClick:Oe,children:[(0,K.jsx)(a,{size:14}),e(ie?`common.copied`:`game.action.shareRoom`)]}),(0,K.jsx)(`button`,{className:`btn btn-icon`,onClick:()=>n(!t),title:e(`common.theme.toggle`),children:t?(0,K.jsx)(r,{size:16}):(0,K.jsx)(i,{size:16})})]}),children:(0,K.jsx)(`main`,{className:G.page,children:I.roomCode?(0,K.jsxs)(`div`,{className:G.board,children:[(0,K.jsxs)(`section`,{className:G.table,children:[z?.status===`finished`&&z.winner&&ce&&(0,K.jsxs)(`div`,{className:G.finishBanner,children:[(0,K.jsx)(`span`,{className:G.finishBannerIcon,children:`🏆`}),(0,K.jsx)(`span`,{children:e(`game.zhajinhua.result.winChips`,{player:Y(z.winner,R.players),amount:z.winAmount??0})})]}),z?.lastCompare&&A&&(0,K.jsx)(Ce,{lastCompare:z.lastCompare,compareReveal:z.compareReveal||{},myAddress:H,myDealtHand:W,lobbyPlayers:R.players,onClose:()=>j(!1)}),(0,K.jsxs)(`div`,{className:G.tableCenter,children:[(0,K.jsx)(`span`,{children:e(`game.zhajinhua.pot`)}),(0,K.jsx)(`strong`,{children:z?.pot||0}),(0,K.jsx)(`small`,{children:e(`game.zhajinhua.currentBet`,{amount:z?.currentBet||0})})]}),(0,K.jsx)(`div`,{className:G.seats,children:R.players.map(t=>{let n=z?.players.find(e=>J(e.address,t.address)),r=z?.turnAddress===t.address,i=z?.winner===t.address,a=n?.status===`folded`;return(0,K.jsxs)(`div`,{className:q(G.seat,r&&G.seatTurn,i&&G.seatWinner,a&&G.seatFolded),children:[(0,K.jsx)(`div`,{className:G.seatAvatar,children:t.name.slice(0,1)}),(0,K.jsxs)(`div`,{className:G.seatMain,children:[(0,K.jsx)(`strong`,{translate:`no`,children:t.name}),(0,K.jsx)(`span`,{translate:`no`,children:ye(t.address)})]}),(0,K.jsxs)(`div`,{className:G.seatMeta,children:[(0,K.jsx)(`span`,{children:e(`game.zhajinhua.chips`,{amount:n?.chips??1e3})}),(0,K.jsx)(`span`,{children:n?.status===`folded`?e(`game.zhajinhua.player.folded`):n?.looked?e(`game.zhajinhua.player.looked`):e(z?`game.zhajinhua.player.inRound`:`game.status.waitingStart`)})]})]},t.address)})})]}),(0,K.jsxs)(`aside`,{className:G.panel,children:[(0,K.jsxs)(`div`,{className:G.panelSection,children:[(0,K.jsxs)(`div`,{className:G.panelTitle,children:[(0,K.jsx)(c,{size:16}),(0,K.jsx)(`span`,{children:e(`game.zhajinhua.myHand`)})]}),(0,K.jsx)(`div`,{className:G.hand,children:X?X.map(e=>{let t=xe(e),n=`${t.suit}${t.rank}`;return(0,K.jsxs)(`div`,{className:q(G.card,G[t.color]),children:[(0,K.jsx)(`span`,{children:n}),(0,K.jsx)(`i`,{children:t.suit})]},e)}):[0,1,2].map(e=>(0,K.jsx)(`div`,{className:G.cardBack,children:(0,K.jsx)(c,{size:18})},e))}),(0,K.jsx)(`p`,{className:G.handLabel,children:X?le(X):e(W?`game.zhajinhua.hand.unlooked`:`game.zhajinhua.hand.waitingDeal`)})]}),(0,K.jsxs)(`div`,{className:G.panelSection,children:[(0,K.jsxs)(`div`,{className:G.panelTitle,children:[(0,K.jsx)(s,{size:16}),(0,K.jsx)(`span`,{children:e(`game.actions`)})]}),V?(0,K.jsxs)(`button`,{className:`btn btn-primary btn-full`,onClick:Ae,disabled:!Q||z?.status===`playing`,children:[(0,K.jsx)(re,{size:16}),z?.status===`finished`?e(`game.action.nextRound`):e(`game.action.startRound`)]}):(0,K.jsx)(`p`,{className:G.muted,children:e(`game.waitingHost`)}),V&&z?.status===`finished`&&!Q&&(0,K.jsx)(`p`,{className:G.muted,children:e(`game.zhajinhua.error.tooManyLowChips`)}),(0,K.jsxs)(`div`,{className:G.actionGrid,children:[(0,K.jsxs)(`button`,{className:`btn btn-secondary`,disabled:!Z.includes(`look`),onClick:()=>$(`look`),children:[(0,K.jsx)(h,{size:16}),e(`game.zhajinhua.action.look`)]}),(0,K.jsx)(`button`,{className:`btn btn-secondary`,disabled:!Z.includes(`call`),onClick:()=>$(`call`),children:e(`game.zhajinhua.action.call`)}),(0,K.jsx)(`button`,{className:`btn btn-secondary`,disabled:!Z.includes(`fold`),onClick:()=>$(`fold`),children:e(`game.zhajinhua.action.fold`)})]}),(0,K.jsxs)(`div`,{className:G.raiseRow,children:[(0,K.jsx)(`select`,{className:`input input-compact`,value:T,onChange:e=>E(Number(e.target.value)),children:b.map(t=>(0,K.jsx)(`option`,{value:t,children:e(`game.zhajinhua.action.raiseOption`,{amount:t})},t))}),(0,K.jsx)(`button`,{className:`btn btn-secondary`,disabled:!Z.includes(`raise`),onClick:()=>$(`raise`,{amount:T}),children:e(`game.zhajinhua.action.raise`)})]}),(0,K.jsxs)(`div`,{className:G.raiseRow,children:[(0,K.jsxs)(`select`,{className:`input input-compact`,value:D,onChange:e=>oe(e.target.value),children:[(0,K.jsx)(`option`,{value:``,children:e(`game.zhajinhua.action.comparePlaceholder`)}),Me.map(e=>(0,K.jsx)(`option`,{value:e.address,children:e.name},e.address))]}),(0,K.jsx)(`button`,{className:`btn btn-secondary`,disabled:!Z.includes(`compare`)||!D,onClick:()=>$(`compare`,{target:D}),children:e(`game.zhajinhua.action.compare`)})]})]}),(0,K.jsxs)(`div`,{className:G.panelSection,children:[(0,K.jsx)(`div`,{className:G.panelTitle,children:e(`game.status.title`)}),(0,K.jsxs)(`div`,{className:G.statusGrid,children:[(0,K.jsx)(`span`,{children:e(`game.host`)}),(0,K.jsx)(`strong`,{children:B?ye(B):`-`}),(0,K.jsx)(`span`,{children:e(`game.zhajinhua.myChips`)}),(0,K.jsx)(`strong`,{children:ge?.chips??1e3}),(0,K.jsx)(`span`,{children:e(`game.round`)}),(0,K.jsx)(`strong`,{children:je}),(0,K.jsx)(`span`,{children:e(`game.hint`)}),(0,K.jsx)(`strong`,{children:z?.lastAction||e(`game.waitingPlayers`)})]})]})]})]}):(0,K.jsxs)(`section`,{className:G.entry,children:[(0,K.jsxs)(`div`,{className:G.entryBrand,children:[(0,K.jsx)(`div`,{className:G.cardMark,children:(0,K.jsx)(c,{size:48})}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`h1`,{children:e(`game.zhajinhua.hero.title`)}),(0,K.jsx)(`p`,{children:e(`game.hero.desc`)})]})]}),(0,K.jsxs)(`div`,{className:G.entryPanel,children:[(0,K.jsxs)(`div`,{className:G.accountLine,children:[(0,K.jsx)(`span`,{children:e(`game.currentAccount`)}),(0,K.jsx)(`strong`,{translate:`no`,children:I.userIdentity?.displayName||e(`web3.notSignedIn`)})]}),(0,K.jsxs)(`button`,{className:`btn btn-primary`,disabled:I.joining,onClick:Ee,children:[(0,K.jsx)(s,{size:16}),e(`game.action.createRoom`)]}),(0,K.jsxs)(`form`,{onSubmit:De,className:G.joinForm,children:[(0,K.jsxs)(`label`,{children:[e(`game.roomCode`),(0,K.jsx)(`input`,{value:x,maxLength:8,onChange:e=>S(e.target.value.toUpperCase()),placeholder:e(`game.roomCode.placeholder`)})]}),(0,K.jsx)(`button`,{className:`btn`,disabled:I.joining||!x,children:e(`game.action.joinRoom`)})]}),(0,K.jsx)(`p`,{className:G.status,children:I.isBackendReady?e(`game.status.nodeConnected`):e(`game.status.nodeConnecting`)})]})]})})})}function Ce({lastCompare:e,compareReveal:t,myAddress:n,myDealtHand:r,lobbyPlayers:i,onClose:a}){let{t:o}=te(),s=Y(e.initiator,i),l=Y(e.target,i),u=Y(e.winner,i),d=J(n,e.initiator),f=J(n,e.target),p=d||f;function m(e,i){return t[e]||(p&&J(e,n)&&i&&r?r:null)}let h=m(e.initiator,e.initiatorLooked),g=m(e.target,e.targetLooked);return(0,K.jsx)(`div`,{className:G.compareOverlay,onClick:a,children:(0,K.jsxs)(`div`,{className:G.compareBox,onClick:e=>e.stopPropagation(),children:[(0,K.jsx)(`div`,{className:G.compareTitle,children:o(`game.zhajinhua.compareResult`)}),(0,K.jsxs)(`div`,{className:G.comparePlayers,children:[(0,K.jsxs)(`div`,{className:q(G.compareSide,J(e.winner,e.initiator)&&G.compareWinner),children:[(0,K.jsx)(`div`,{className:G.compareName,children:s}),(0,K.jsx)(`div`,{className:G.compareCards,children:h?h.map(e=>{let t=xe(e);return(0,K.jsxs)(`div`,{className:q(G.card,G[t.color]),children:[(0,K.jsx)(`span`,{children:t.rank}),(0,K.jsx)(`i`,{children:t.suit})]},e)}):[0,1,2].map(e=>(0,K.jsx)(`div`,{className:G.cardBack,children:(0,K.jsx)(c,{size:18})},e))}),h&&(0,K.jsx)(`div`,{className:G.compareLabel,children:le(h)})]}),(0,K.jsx)(`div`,{className:G.compareVs,children:`VS`}),(0,K.jsxs)(`div`,{className:q(G.compareSide,J(e.winner,e.target)&&G.compareWinner),children:[(0,K.jsx)(`div`,{className:G.compareName,children:l}),(0,K.jsx)(`div`,{className:G.compareCards,children:g?g.map(e=>{let t=xe(e);return(0,K.jsxs)(`div`,{className:q(G.card,G[t.color]),children:[(0,K.jsx)(`span`,{children:t.rank}),(0,K.jsx)(`i`,{children:t.suit})]},e)}):[0,1,2].map(e=>(0,K.jsx)(`div`,{className:G.cardBack,children:(0,K.jsx)(c,{size:18})},e))}),g&&(0,K.jsx)(`div`,{className:G.compareLabel,children:le(g)})]})]}),(0,K.jsx)(`div`,{className:G.compareResult,children:o(`game.zhajinhua.result.winner`,{player:u})}),(0,K.jsx)(`button`,{className:`btn btn-sm`,onClick:a,children:o(`common.close`)})]})})}function Y(e,t){let n=e.toLowerCase();return t.find(e=>e.address===n)?.name||ye(e)}var X=v(`/game/zhajinhua/`)({component:Se});export{X as Route};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{J as e}from"./index-WCK14Vja.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{J as e}from"./index-WCK14Vja.js";var t=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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{J as e}from"./index-WCK14Vja.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./jsx-runtime-Bt-cYkS5.js";import{F as t,J as n,L as r}from"./index-WCK14Vja.js";import{t as i}from"./dayjs.min-Dcc0B6Je.js";var a=n(`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`}]]),o=n(`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`}]]),s=e(t(),1);i();var c=`0123456789abcdefghijklmnopqrstuvwxyz`,l=e=>{let t=[];for(;e>=128;)t.push(e&127|128),e>>=7;return t.push(e),t},u=e=>{let t=new Uint8Array([8,1,18,...l(e.length)]),n=new Uint8Array(t.length+e.length);return n.set(t,0),n.set(e,t.length),n},d=(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},f=(e,t)=>{let n=t.slice(2),i=new Uint8Array(r(e+n));return s.default.sign.keyPair.fromSecretKey(i)},p=(e,t)=>{let n=u(f(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`+d(a,c)};export{a as i,p as n,o as r,f as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{J as e}from"./index-WCK14Vja.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 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{J as e}from"./index-WCK14Vja.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{J as e}from"./index-WCK14Vja.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{J as e}from"./index-WCK14Vja.js";var t=e(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),n=e(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]);export{t as n,n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{J as e}from"./index-WCK14Vja.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{J as e}from"./index-WCK14Vja.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 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{J as e}from"./index-WCK14Vja.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{J as e}from"./index-WCK14Vja.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 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{J as e}from"./index-WCK14Vja.js";var t=e(`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`}]]),n=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 as n,n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{J as e}from"./index-WCK14Vja.js";var t=e(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{J as e}from"./index-WCK14Vja.js";var t=e(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),n=e(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),r=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{n,t as r,r as t};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{n as e,o as t}from"./jsx-runtime-Bt-cYkS5.js";import{w as n}from"./index-WCK14Vja.js";import{t as r}from"./channelApi-DNdJfsJ-.js";var i=t(e(),1);function a(e=``,t=[]){let n=[e,...t];return[...new Set(n.filter(Boolean))]}function o(e=[]){return a(``,e).join(`
|
|
2
|
+
`)}function s(e,t){let n=new Set(e),r=new Set(t);return{subscribe:[...r].filter(e=>!n.has(e)),unsubscribe:[...n].filter(e=>!r.has(e))}}function c(e){return String(e.id||`${e.author||``}-${e.timestamp||``}-${e.content||``}`)}function l(e){let t=Number(e.timestamp);return Number.isFinite(t)?t:0}function u(e){return e.map((e,t)=>({message:e,index:t})).sort((e,t)=>{let n=l(e.message)-l(t.message);return n===0?e.index-t.index:n}).map(e=>e.message)}function d({isReady:e,enabled:t=!0,channelName:l=``,extraSubscribedChannelNames:d=[],peerId:f=``,waitForPeerId:p=!1,limit:m=100,reconnectBaseDelay:h=2500,acceptMessage:g,getMessageKey:_=c,onSyncError:v,onSocketEvent:y,onReconnect:b}){let[x,S]=(0,i.useState)([]),[C,w]=(0,i.useState)(!1),T=(0,i.useMemo)(()=>o(d),[d]),E=(0,i.useRef)(null),D=(0,i.useRef)(l),O=(0,i.useRef)(d),k=(0,i.useRef)(null),A=(0,i.useRef)(0),j=(0,i.useRef)(g),M=(0,i.useRef)(_),N=(0,i.useRef)(y),P=(0,i.useRef)(v),F=(0,i.useRef)(b),I=(0,i.useRef)(f),L=(0,i.useRef)(new Set);(0,i.useEffect)(()=>{O.current=T?T.split(`
|
|
3
|
+
`):[]},[T]),(0,i.useEffect)(()=>{j.current=g},[g]),(0,i.useEffect)(()=>{M.current=_},[_]),(0,i.useEffect)(()=>{N.current=y},[y]),(0,i.useEffect)(()=>{P.current=v},[v]),(0,i.useEffect)(()=>{F.current=b},[b]);let R=(0,i.useCallback)(e=>{let t=j.current;return t?e.filter(t):e},[]),z=(0,i.useCallback)((e,t,n=!0)=>{let r=[...e];for(let e of R(t)){let t=M.current(e);if(n){let n=r.findIndex(t=>t.pending&&t.author?.toLowerCase()===e.author?.toLowerCase()&&t.content===e.content);if(n!==-1){r[n]={...e,id:e.id||t};continue}}r.some(e=>M.current(e)===t)||r.push({...e,id:e.id||t})}return u(r)},[R]),B=(0,i.useCallback)((e,t)=>{E.current?.readyState===WebSocket.OPEN&&E.current.send(JSON.stringify({event:e,data:t}))},[]),V=(0,i.useCallback)(e=>{let t=new Set(e.filter(Boolean)),n=s(L.current,t);for(let e of n.unsubscribe)B(`channel:unsubscribe`,{channel:e});for(let e of n.subscribe)B(`channel:subscribe`,{channel:e});L.current=t},[B]),H=(0,i.useCallback)(()=>a(D.current,O.current),[]),U=(0,i.useCallback)(async(t=D.current,n={})=>{if(!t||!e)return[];try{let e=R(await r.getChannelMessages(t,m));return S(t=>n.replace?u(e):z(t,e,!1)),e}catch(e){return n.replace&&S([]),await P.current?.(e),[]}},[R,e,m,z]);(0,i.useEffect)(()=>{I.current=f,f&&(B(`register`,{peerId:f}),p&&(V(H()),D.current&&U(D.current,{replace:!0})))},[H,f,V,U,p,B]);let W=(0,i.useCallback)(()=>{S([])},[]),G=(0,i.useCallback)(async({channelName:e=D.current,content:t,author:n,authorName:i,avatar:a,attachment:o,optimisticId:s})=>{let c=t.trim();if(!e||!c)return null;let l={id:s||`${n}-${Date.now()}-${Math.random().toString(36).slice(2)}`,author:n,authorName:i,avatar:a,content:c,timestamp:Date.now(),pending:!0,attachment:o};S(e=>u([...e,l]));try{let t=await r.sendChannelMessage({channelName:e,content:c,author:n,authorName:i,avatar:a,attachment:o});return S(e=>u(e.map(e=>e.id===l.id?{...t.message,id:t.message.id||M.current(t.message)}:e))),t.message}catch(e){throw S(e=>e.filter(e=>e.id!==l.id)),e}},[]);return(0,i.useEffect)(()=>{D.current=l,!(!e||!t)&&(l&&U(l,{replace:!0}),(!p||I.current)&&V(H()))},[l,t,T,H,e,V,U,p]),(0,i.useEffect)(()=>{!e||!t||p&&!I.current||V(H())},[t,H,e,V,p]),(0,i.useEffect)(()=>{if(!e||!t){w(!1);return}let r=!1;A.current=0;async function i(){let e=new WebSocket(await n(`/ws`));if(r){e.close();return}e.onopen=()=>{w(!0),A.current=0,I.current&&e.send(JSON.stringify({event:`register`,data:{peerId:I.current}})),(!p||I.current)&&(L.current.clear(),V(H()),D.current&&U(D.current,{replace:!0}),F.current?.())},e.onmessage=e=>{try{let t=JSON.parse(e.data);N.current?.(t.event,t.data),t.event===`channel:message`&&t.data?.channel===D.current&&t.data?.message&&S(e=>z(e,[t.data.message]))}catch{}},e.onclose=()=>{if(w(!1),r)return;let e=A.current;if(e>=20)return;let t=Math.min(h*2**e,3e4);A.current=e+1,k.current=setTimeout(i,t)},e.onerror=()=>e.close(),E.current=e}return i(),()=>{r=!0,k.current&&clearTimeout(k.current),E.current?.close(),E.current=null,L.current.clear()}},[t,H,e,z,h,V,U,p]),{clearMessages:W,connected:C,messages:x,sendMessage:G,setMessages:S,syncMessages:U}}export{d as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,o as t,t as n}from"./jsx-runtime-Bt-cYkS5.js";import{J as r,Z as i,b as a,g as o,m as s,nt as c,q as l}from"./index-WCK14Vja.js";import{t as u}from"./SidebarAccount-Zg5DZblE.js";import{t as d}from"./channelApi-DNdJfsJ-.js";import{t as f}from"./useChannelMessages-7bYKXU_R.js";var p=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`}]]),m=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`}]]),h=n(),g=[{id:`gandengyan`,labelKey:`game.gandengyan.title`,href:`/game/gandengyan/`,icon:(0,h.jsx)(m,{size:16})},{id:`zhajinhua`,labelKey:`game.zhajinhua.title`,href:`/game/zhajinhua/`,icon:(0,h.jsx)(p,{size:16})}];function _({activeGame:e,closeSidebar:t}){let{t:n}=i();return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsxs)(c,{to:`/`,className:`sidebar-header sidebar-header-link`,children:[(0,h.jsx)(l,{size:18}),(0,h.jsx)(`h1`,{children:`MOST PEOPLE`})]}),(0,h.jsx)(`nav`,{className:`sidebar-nav`,children:g.map(r=>(0,h.jsxs)(c,{to:r.href,className:`sidebar-nav-btn ${e===r.id?`active`:``}`,onClick:t,children:[r.icon,(0,h.jsx)(`span`,{children:n(r.labelKey)})]},r.id))}),(0,h.jsx)(u,{})]})}var v=t(e(),1),y=`game`,b=`mostbox.game.event`,x=[`gandengyan`,`zhajinhua`],S=`ABCDEFGHJKLMNPQRSTUVWXYZ23456789`;function C(e){let t=String(e||``).trim().toLowerCase();return x.includes(t)?t:``}function w(e){return String(e||``).trim().toUpperCase().replace(/[^A-Z0-9]/g,``).slice(0,8)}function T(e){return/^[A-Z0-9]{4,8}$/.test(String(e||``))}function E(){let e=``;for(let t=0;t<6;t++)e+=S[L(32)];return e}function D(e,t){let n=C(e),r=w(t);return!n||!T(r)?``:`game.${n}.${r.toLowerCase()}`}function O({gameId:e,roomCode:t,event:n,payload:r}){let i=C(e);return{kind:b,version:1,gameId:i,roomCode:w(t),event:String(n||``),eventId:I(i||`game`),payload:r||{}}}function k(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=C(n.gameId),i=w(n.roomCode);return!r||!T(i)||t.gameId&&r!==C(t.gameId)||t.roomCode&&i!==w(t.roomCode)?null:{...n,gameId:r,roomCode:i,payload:n.payload&&typeof n.payload==`object`?n.payload:{}}}catch{return null}}function A(e=[],t={}){let n=[],r=new Map,i=``;for(let a of F(e)){let e=k(a.content,t);if(e){if(e.event===`room:create`){let t=M(e.payload?.player,a.author);if(!t)continue;i||=t.address,P(n,r,t);continue}if(e.event===`player:join`){let t=M(e.payload?.player,a.author);t&&P(n,r,t);continue}if(e.event===`player:leave`){let t=N(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:C(t.gameId),roomCode:w(t.roomCode),hostAddress:i,players:n}}function j(e=[],t={}){let n=null;for(let r of F(e)){let e=k(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 M(e,t){if(!e||typeof e!=`object`)return null;let n=N(e.address||t);return!n||N(t)!==n?null:{address:n,name:String(e.name||``).trim().slice(0,50)||z(n),publicKey:String(e.publicKey||``).trim(),joinedAt:Number(e.joinedAt||Date.now())}}function N(e){let t=String(e||``).trim();return/^0x[a-fA-F0-9]{40}$/.test(t)?t.toLowerCase():``}function P(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 F(e){return[...e].sort((e,t)=>Number(e.timestamp||0)-Number(t.timestamp||0))}function I(e){return`${e}_${Date.now()}_${R(4)}`}function L(e){if(globalThis.crypto?.getRandomValues){let t=new Uint32Array(1);return globalThis.crypto.getRandomValues(t),t[0]%e}return Math.floor(Math.random()*e)}function R(e){let t=new Uint8Array(e);if(globalThis.crypto?.getRandomValues)globalThis.crypto.getRandomValues(t);else for(let e=0;e<t.length;e++)t[e]=Math.floor(Math.random()*256);return[...t].map(e=>e.toString(16).padStart(2,`0`)).join(``)}function z(e){return e?`${e.slice(0,6)}...${e.slice(-4)}`:``}function B({gameId:e,onError:t,getPlayerPayload:n}){let r=o(e=>e.hasBackend),i=o(e=>e.checkBackend),c=o(e=>e.openConnectModal),l=s(e=>e.identity),u=s(e=>e.openLoginModal),[p,m]=(0,v.useState)(``),[h,g]=(0,v.useState)(``),[_,b]=(0,v.useState)(!1),x=r===!0,S=(0,v.useCallback)(async(e,n)=>{let r=await a(e,n);t&&t(r)},[t]),C=(0,v.useCallback)(t=>!!k(t.content,{gameId:e,roomCode:p}),[e,p]),T=(0,v.useCallback)(t=>{let n=k(t.content,{gameId:e,roomCode:p});return n?`${t.author}-${n.eventId}`:`${t.author}-${t.timestamp}-${t.content}`},[e,p]),{clearMessages:A,connected:j,messages:M,sendMessage:N,syncMessages:P}=f({isReady:x,enabled:!!l,channelName:h,limit:500,acceptMessage:C,getMessageKey:T,onSyncError:e=>S(e,`无法读取房间记录`)}),F=(0,v.useMemo)(()=>M.map(t=>({message:t,event:k(t.content,{gameId:e,roomCode:p})})).filter(e=>e.event),[e,M,p]),I=(0,v.useCallback)(()=>l?x?!0:(c(),!1):(u(),!1),[x,c,u,l]);(0,v.useEffect)(()=>{r===null&&i()},[i,r]);let L=(0,v.useCallback)(async(r,i=!1)=>{if(!I()||!l)return!1;let a=i?E():w(r),o=D(e,a);if(!o)return t&&t(`请输入 4-8 位房间码`),!1;b(!0);try{let t=await d.createChannel(o,y),r=t.channelKey||t.key||o;return await V(r,l,e,a,i?`room:create`:`player:join`,{player:n?n(l):H(l)}),m(a),g(r),A(),!0}catch(e){return await S(e,i?`创建房间失败`:`进入房间失败`),!1}finally{b(!1)}},[I,e,n,t,S,A,l]);return{channelName:h,connected:j,createRoom:(0,v.useCallback)(()=>L(``,!0),[L]),ensureReady:I,isBackendReady:x,joinRoom:(0,v.useCallback)(e=>L(e),[L]),joining:_,messages:M,roomCode:p,roomEvents:F,sendRoomEvent:(0,v.useCallback)(async(t,n={})=>{if(!I()||!l||!h||!p)return!1;let r=O({gameId:e,roomCode:p,event:t,payload:n}),i=JSON.stringify(r);try{return await N({channelName:h,content:i,author:l.address,authorName:U(l),optimisticId:`${l.address}-${r.eventId}`}),!0}catch(e){return await S(e,`发送房间事件失败`),!1}},[h,I,e,S,p,N,l]),setRoomCode:m,syncMessages:P,userIdentity:l}}async function V(e,t,n,r,i,a){let o=O({gameId:n,roomCode:r,event:i,payload:a});await d.sendChannelMessage({channelName:e,content:JSON.stringify(o),author:t.address,authorName:U(t)})}function H(e){return{address:e.address,name:U(e),publicKey:``,joinedAt:Date.now()}}function U(e){return e.displayName||e.username}export{p as a,_ as i,A as n,j as r,B as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{J as e}from"./index-WCK14Vja.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 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{J as e}from"./index-WCK14Vja.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};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Default avatars use Noto Emoji SVG artwork by Google.
|
|
2
|
+
|
|
3
|
+
Source: https://github.com/googlefonts/noto-emoji
|
|
4
|
+
License: SIL Open Font License 1.1
|
|
5
|
+
|
|
6
|
+
The SVG files in this folder were downloaded from the official Noto Emoji
|
|
7
|
+
repository and are used as local default profile avatars.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- Generator: Adobe Illustrator 25.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
+
<svg version="1.1" id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
4
|
+
viewBox="0 0 128 128" style="enable-background:new 0 0 128 128;" xml:space="preserve">
|
|
5
|
+
<path style="fill:#88B154;" d="M65.03,92.69c0,0-60.23,18.39-60.36,19.72c-0.13,1.33,24.11,12.02,64.62,11.46
|
|
6
|
+
c38.64-0.53,53.57-10.39,53.83-11.46S66.36,92.42,65.03,92.69z"/>
|
|
7
|
+
<path style="fill:#9EA2A3;" d="M62.26,42.15l-4.31-5.42c0,0-6.96,7.3-8.84,9.29c-1.88,1.99-3.33,3.14-4.23,5.01
|
|
8
|
+
c-1.29,2.67-5.38,25.72-5.38,25.72L27.67,88.9c0,0-2.23-1.39-2.78-0.94S6.22,110.01,6.22,110.01l-1.56,2.39c0,0,3.6,0.8,4.71,0.69
|
|
9
|
+
c0.54-0.05,3.2-0.66,6.21-0.97c3.17-0.33,7.22-0.06,7.67-0.11c0.51-0.05,2.27-0.57,2.27-0.57l15.74-9.39l12.5-0.48l12.26,2.58
|
|
10
|
+
l23.21,1.11l12.71-19.01L74.31,49.66L62.26,42.15z"/>
|
|
11
|
+
<path style="fill:#717A7C;" d="M28.55,97.77c0,0-0.43-1.23-0.75-2.14c-0.32-0.91-0.13-6.73-0.13-6.73s7.21,4.26,8.01,4.96
|
|
12
|
+
s7.94,5.15,7.94,5.15l4.3-0.11l0.87,1.93c0,0-6.19,2.94-8.23,3.59c-2.04,0.64-15.11,7.29-15.09,7.04c0.04-0.52,3.4-5.33,3.4-5.33
|
|
13
|
+
L28.55,97.77z"/>
|
|
14
|
+
<path style="fill:#798082;" d="M80.73,103.46l-49.26,7.78c0,0-2.38,2.11-2.14,2.67c0.24,0.56,9.33,2.25,12.47,2.65
|
|
15
|
+
c3.14,0.4,24.61,1.61,26.94,1.45c2.33-0.16,26.14-1.37,29.44-1.77c3.3-0.4,14.39-1.17,15.12-1.5c1.41-0.64,7.88-4.13,7.88-4.13
|
|
16
|
+
s-7.24-11.42-8.69-14.16c-1.45-2.73-3.86-7.64-5.55-9.33s-2.9-2.41-2.9-2.41s-2.28-5.3-4.94-8.68c-2.65-3.38-6.28-8.85-7.13-9.69
|
|
17
|
+
c-3.19-3.18-3.28-3.48-3.28-3.48l2,24.1c0,0-3.7,7.4-4.99,9.41C84.43,98.4,80.73,103.46,80.73,103.46z"/>
|
|
18
|
+
<path style="fill:#717A7C;" d="M63.03,27.62l-0.97,19.62l11.41,7.08c0,0,3.43,8.79,3.59,9.6c0.16,0.8-0.15,2.97,0.17,3.53
|
|
19
|
+
c0.32,0.56,6.23,4.63,6.46,4.64c1.31,0.07,4.02-0.4,3.86-0.64s1.08-5.46,1.08-5.46s-7.84-12.71-9.53-16.25
|
|
20
|
+
c-1.69-3.54-8.04-12.71-8.77-14.24s-4.18-6.6-4.91-7.4S63.52,27.06,63.03,27.62z"/>
|
|
21
|
+
<path style="fill:#C0C0C0;" d="M68.02,65.05c0,0,5.39-8.88,5.55-10.24s-4.34-9.65-5.47-12.63c-1.13-2.98-4.1-9.09-4.42-9.89
|
|
22
|
+
c-0.32-0.8-0.64-4.66-0.64-4.66s-2.25,2.41-3.06,4.34c-0.8,1.93-3.83,6.68-3.83,6.68s1.9,11.02,2.63,15.76
|
|
23
|
+
c0.72,4.75,1.26,10.98,1.15,11.21c-0.69,1.4-5.33,12.68-5.33,12.68s-0.6,5.47-0.04,6.03c0.56,0.56,3.81,1.3,4.06,0.92
|
|
24
|
+
c0.49-0.73,0.48-3.5,0.48-3.5s9.02-12.18,9.31-12.78C68.52,68.74,68.02,65.05,68.02,65.05z"/>
|
|
25
|
+
<path style="fill:#C0C0C0;" d="M49.64,65.92c-0.03-1.21-1.8-6.95-2.12-8.24c-0.32-1.29-1-7.66-1.89-7.66
|
|
26
|
+
c-0.88,0-4.96,11.22-5.37,12.27c-0.4,1.05-6.11,13.35-6.84,14.8c-0.72,1.45-4.02,7.72-4.66,8.77s-1.49,2.83-1.49,2.83l16.34,10.33
|
|
27
|
+
l5.9-0.67c0,0-3.45-9.27-4.26-11.36s-1.77-5.47-1.77-5.47s1.87-4.48,3.09-7.7C47.8,70.58,49.68,67.12,49.64,65.92z"/>
|
|
28
|
+
<path style="fill:#C0C0C0;" d="M25.32,87.97c0.04,0.15,0.25,3.92,0.14,6.17c-0.11,2.26-0.55,4.52-0.55,4.52l-7.28,7.6l-0.23,1.71
|
|
29
|
+
c0,0-11.06,3.91-11.78,4.13c-0.72,0.22-0.95,0.3-0.95,0.3s-1.5-0.91,2.99-5.81c5.8-6.33,13.22-15,14.16-16.09
|
|
30
|
+
C23.49,88.57,25.21,87.52,25.32,87.97z"/>
|
|
31
|
+
<path style="fill:#33632C;" d="M106.71,99.82c-0.6-0.25-2.13,6.52-2.45,8.91c-0.32,2.39-1.17,6.93-0.95,7.38
|
|
32
|
+
c0.64,1.27,7.46,0.43,8.12-0.66c0.19-0.31-0.77-5.4-1.46-7.55C109.03,104.96,108.26,100.47,106.71,99.82z"/>
|
|
33
|
+
<path style="fill:#33632C;" d="M118.66,91.29c-0.94,0.04-1.94,8.25-2.56,10.04c-0.7,2.03-3.04,11.64-2.07,12.74
|
|
34
|
+
c0.97,1.1,4.68,0.23,6.06-0.17c1.33-0.38,2.48-1.02,2.8-1.73s-0.44-6.44-1.36-10.44C120.59,97.68,120.14,91.22,118.66,91.29z"/>
|
|
35
|
+
<path style="fill:#C0C0C0;" d="M31.47,111.25c0,0,2.59,0.98,11.46,1.53c8.87,0.55,13.23,0.5,13.23,0.5l20.26-2.96l4.6-7.28
|
|
36
|
+
c0,0-6.12-0.23-9.37-0.34c-3.25-0.11-8.1-0.13-8.32-0.73c-0.22-0.61,5.47-4.74,7.07-5.56c1.6-0.83,5.46-1.27,6.34-2.2
|
|
37
|
+
c0.88-0.94,12-7.21,13.37-7.26c1.38-0.06,5.68,2.59,6.5,2.31c0.83-0.28-2.86-10.04-3.35-11.87c-0.04-0.16-1.99-9.67-2.05-9.85
|
|
38
|
+
c-0.46-1.41-1.87-5.07-2.76-4.63c-0.88,0.44-2.37,3.8-3.47,7.16s-1.76,5.13-2.31,5.95s-6.94,4.91-7.83,5.84
|
|
39
|
+
c-0.88,0.94-3.53,2.92-5.13,3.58c-1.6,0.66-3.14,0.66-4.3,1.71c-1.16,1.05-2.59,2.87-4.19,4.57c-1.6,1.71-4.85,5.63-5.92,6.59
|
|
40
|
+
s-2.03,1.89-2.03,1.89s-7.73,2.19-10.33,3.45C40.36,104.92,30.8,111.08,31.47,111.25z"/>
|
|
41
|
+
<path style="fill:#FFFFFF;" d="M111.79,52.02c-0.85,0.85-0.88,2.2,0.06,2.97c0.83,0.69,2.2,0.24,2.71-0.38
|
|
42
|
+
c0.51-0.62,0.45-1.97-0.23-2.65S112.3,51.51,111.79,52.02z"/>
|
|
43
|
+
<path style="opacity:0.5;fill:#FFFFFF;" d="M112.07,64.67c-0.91,1-0.61,2.49,0.23,3.04c0.84,0.55,2.1,0.5,2.72-0.26
|
|
44
|
+
c0.55-0.68,0.61-2.04-0.23-2.88C114.06,63.84,112.66,64.02,112.07,64.67z"/>
|
|
45
|
+
<path style="opacity:0.6;fill:#FFFFFF;" d="M86,32.06c-0.26,0.83,0.26,1.77,1.05,1.91c0.83,0.15,1.68-0.09,1.91-0.88
|
|
46
|
+
c0.23-0.8-0.06-1.8-1.2-2C86.62,30.89,86.13,31.61,86,32.06z"/>
|
|
47
|
+
<path style="fill:#FFFFFF;" d="M94.54,46.11c0,0,0.74-2.72,1.28-2.81c0.54-0.09,1.62,2.92,1.62,2.92s2.69,0.09,2.78,0.51
|
|
48
|
+
c0.09,0.43-1.9,2.04-1.9,2.04s0.74,2.52,0.43,2.84c-0.31,0.31-2.78-1.28-2.78-1.28s-2.21,1.87-2.72,1.53
|
|
49
|
+
c-0.51-0.34,0.43-3.15,0.43-3.15s-2.1-1.5-2.13-2.01C91.51,46.19,94.54,46.11,94.54,46.11z"/>
|
|
50
|
+
<path style="fill:#FFFFFF;" d="M33.54,38.62c0,0,0.97-2.79,1.56-2.82c0.58-0.03,1.43,2.79,1.43,2.79s2.88,0.03,3.08,0.45
|
|
51
|
+
c0.25,0.54-1.85,2.37-1.85,2.37s0.68,2.72,0.36,3.05c-0.36,0.36-2.85-1.07-2.85-1.07s-2.56,1.78-3.11,1.3
|
|
52
|
+
c-0.48-0.42,0.52-3.31,0.52-3.31s-2.4-1.75-2.27-2.24C30.58,38.46,33.54,38.62,33.54,38.62z"/>
|
|
53
|
+
<path style="opacity:0.5;fill:#FFFFFF;" d="M11.86,46.11c-0.6-0.03-1.42,0.57-1.42,1.6c0,0.76,0.73,1.39,1.36,1.39
|
|
54
|
+
c0.91,0,1.54-0.69,1.51-1.48C13.27,46.59,12.49,46.14,11.86,46.11z"/>
|
|
55
|
+
<path style="fill:#FFFFFF;" d="M18.47,61.03c0.06,1.14,0.63,2.11,2.11,2.07s2.7-2.31,1.29-3.64C20.46,58.13,18.39,59.5,18.47,61.03z
|
|
56
|
+
"/>
|
|
57
|
+
<path style="fill:#FFFFFF;" d="M8.65,74.98c0.7,0.78,2.38,0.47,2.42-0.9c0.04-1.25-0.59-1.84-1.76-1.68
|
|
58
|
+
C8.15,72.56,7.8,74.03,8.65,74.98z"/>
|
|
59
|
+
<path style="fill:#FFFFFF;" d="M28.46,90.36l-1.83-2.32l-3.57,1.64l-8.3,13.42l2.84,3.2c0,0,6.95-3.82,7.69-3.97
|
|
60
|
+
c1.11-0.23,4.83-0.08,4.83-0.08L28.46,90.36z"/>
|
|
61
|
+
<path style="fill:#8CC2EA;" d="M28.73,102.23l5.62,0.1c0,0,6,1.87,8.6,1.32c2.6-0.55,5.54-2.95,5.54-2.95s2.27-0.92,1.14-2.23
|
|
62
|
+
c-0.26-0.3-1.96-0.77-6.59-1.93s-5.23-2.06-5.23-2.06s-5.39-3.74-7.32-5.19c-1.93-1.45-3.84-1.47-3.84-1.47s1.24,4.58,1.52,7.33
|
|
63
|
+
C28.44,97.9,28.73,102.23,28.73,102.23z"/>
|
|
64
|
+
<path style="fill:#C6E4F7;" d="M5.76,108.94c-0.7,0.85,4.39-0.68,6.34-1.15c2.49-0.6,5.52-1.51,5.52-1.51l0.8-6.08
|
|
65
|
+
c0,0,5.21-9.36,5.89-10.14s3.32-2.09,3.32-2.09s-1.58-0.79-2.67-0.85c-1.85-0.1-5.38,4.01-7.22,6.42c-1.83,2.41-5.02,6.76-5.02,6.76
|
|
66
|
+
s-1.49,0.4-3.01,2.54C7.42,106.08,5.76,108.94,5.76,108.94z"/>
|
|
67
|
+
<path style="fill:#33632C;" d="M39.8,90.59c-0.68-0.07-1.54,2.2-2,3.89c-0.33,1.19-2.46,7.22-2.71,8.39
|
|
68
|
+
c-0.26,1.18-1.58,4.66-1.22,4.82c0.36,0.15,1.53,0.42,2.15,0.17c0.16-0.06,2.33-1.56,3.9-2.5c1.57-0.94,3.12-1.79,3.12-1.85
|
|
69
|
+
c0-0.61-1.2-6.23-1.33-6.98C41.34,94.38,40.86,90.7,39.8,90.59z"/>
|
|
70
|
+
<path style="fill:#33632C;" d="M45.91,92.85c-0.59,0.2-1.32,2.48-2.01,4.84c-0.44,1.49-1.72,5.96-1.41,6.18
|
|
71
|
+
c0.31,0.22,3.34,0.26,4.62-0.38c1.23-0.62,2.11-1.4,2.27-1.84c0.16-0.44-1.24-4.32-1.78-5.74C47.18,94.84,46.53,92.63,45.91,92.85z"
|
|
72
|
+
/>
|
|
73
|
+
<path style="fill:#9EA2A3;" d="M46.59,70.45l-12.36,4.93l-0.99,2.13c0,0,1.92,2.15,3.26,3.6c1.16,1.25,4.26,2.91,4.81,4.03
|
|
74
|
+
c1.08,2.2,5.31,4.46,7.42,5.52s2.2-0.18,2.2-0.18L46.59,70.45z"/>
|
|
75
|
+
<path style="fill:#9EA2A3;" d="M51.86,99.47l-2.46,1.79c0,0,2.65,1.77,4.61,2.36c1.96,0.59,5.1,1.76,8.43,2.35
|
|
76
|
+
c3.33,0.59,6.47,0.2,8.62,0.39c2.16,0.2,6.56,2.38,6.56,2.38s0.93-1.91,1.86-3.23c0.93-1.31,1.24-2.04,1.24-2.04l-8.46-1.84
|
|
77
|
+
L51.86,99.47z"/>
|
|
78
|
+
<path style="fill:#33632C;" d="M76.52,106.03c-0.72,0.06-1.73,5.46-2.09,6.66c-0.2,0.68-1.87,5.33-1.42,6.11
|
|
79
|
+
c0.9,1.6,8.3,1.17,8.63,0.33c0.32-0.84-2.11-6.46-2.56-7.5C78.62,110.61,77.58,105.94,76.52,106.03z"/>
|
|
80
|
+
<path style="fill:#FFFFFF;" d="M45.93,49.43L35.02,76.17c0,0,0.68,1.06,1.64,2.22c0.97,1.16,4.54,4.05,5.7,4.92s1.26,1.64,2.7,2.61
|
|
81
|
+
c1.45,0.97,6.66,3.48,8.5,4.44c1.83,0.97,4.92,2.61,4.92,2.61s-3.09,3.19-3.96,4.44c-0.87,1.26-1.61,2.48-1.61,2.48l15.99,2.44
|
|
82
|
+
c0,0,27.88-12.48,27.7-13.09s-1.15-14.13-1.73-14.81c-0.58-0.68-6.47-10.14-6.47-10.14l-5.89-0.87l-9.27-17.57l-9.75-15.93
|
|
83
|
+
l-6.66,10.33l-3.57,6.56L45.93,49.43z"/>
|
|
84
|
+
<path style="fill:#8CC2EA;" d="M58.58,87.17c-0.11,0.67,1.64,3.48,2.41,3.38c0.77-0.1,5.31-4.05,6.47-4.83
|
|
85
|
+
c1.16-0.77,7.92-5.12,9.46-6.08c1.54-0.97,5.6-4.51,5.89-5.02c0.38-0.69,1.59-6.9,1.83-7.72c0.11-0.36,2.4-2.16,2.65-1.85
|
|
86
|
+
c0.5,0.61,2.66,6.58,3.14,8.22c0.48,1.64,3.38,13.23,3.57,14c0.29,1.14,2.41,3.28,4.15,2.22c1.74-1.06,6.51-2.97,7.07-3.88
|
|
87
|
+
c0.3-0.48-3.82-6.53-6.03-9.69s-4.26-6.48-6.3-9.31c-1.67-2.32-2.71-3.76-3.82-4.35c-1.12-0.59-2.07,0.78-2.07,0.78
|
|
88
|
+
s-8.16-14.11-9.61-16.62c-1.45-2.51-9.12-14.56-11.03-17.33c-1.25-1.82-2.03-2.35-3.2-1.68c-1.17,0.66-0.54,5.59-0.54,5.59
|
|
89
|
+
s10.93,20.92,10.43,22.3c-0.51,1.38-4.54,8.79-6.76,13.23C64.08,72.98,58.87,85.44,58.58,87.17z"/>
|
|
90
|
+
<path style="fill:#C6E4F7;" d="M46.93,51.59c0.8-1.2,7.69,14.34,9.43,14.53s2.9-11.87,2.7-14.58c-0.19-2.7,0-11.68,0.77-13.61
|
|
91
|
+
c0.77-1.93,2.8-4.92,2.8-4.92s1.13-2.4,1.24-3.04c0.33-1.85-0.11-2.82-0.11-2.82s-1.13,0.26-2.2,1.71
|
|
92
|
+
c-1.06,1.45-5.43,9.78-5.43,9.78s-5.48,5.48-7.02,6.54c-1.54,1.06-3.77,2.41-4.25,3.28c-0.48,0.87-4.25,11.35-6.08,15.54
|
|
93
|
+
c-2.28,5.24-4.48,9.7-4.56,11.38c-0.02,0.33,1.8,2.22,1.8,2.22s1.53-2.94,3.36-7.76S46.14,52.79,46.93,51.59z"/>
|
|
94
|
+
<path style="fill:#C6E4F7;" d="M54.05,98.12c0,0-1.45,1.89-1.28,2.18c0.48,0.82,7.55,2.89,8.8,3.09s8.4,0.87,10.81,0.68
|
|
95
|
+
c2.41-0.19,8.34-0.61,8.34-0.61s3.92-4.7,4.88-5.48c0.97-0.77,6.08-2.7,6.08-2.7l6.32-5.7c0,0-1.84-0.13-2.75-0.67
|
|
96
|
+
s-1.25-1.65-1.25-1.65s-4.44,2.51-6.28,3.48c-1.83,0.97-8.88,3.28-10.91,4.44s-7.72,4.05-7.72,4.05s-10.04,0.77-11.01,0.48
|
|
97
|
+
C57.13,99.44,54.05,98.12,54.05,98.12z"/>
|
|
98
|
+
<path style="opacity:0.5;fill:#FFFFFF;" d="M35.53,20.08c-0.91,1-0.61,2.49,0.23,3.04c0.84,0.55,2.1,0.5,2.72-0.26
|
|
99
|
+
c0.55-0.68,0.61-2.04-0.23-2.88C37.52,19.26,36.11,19.44,35.53,20.08z"/>
|
|
100
|
+
</svg>
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
+
<svg version="1.1" id="Layer_3" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
4
|
+
viewBox="0 0 128 128" style="enable-background:new 0 0 128 128;" xml:space="preserve">
|
|
5
|
+
<path style="fill:#FFD2B1;" d="M14.72,40.48c0,0-10.98,19.29-10,35.76s5.35,20.55,15.77,25.48c10.42,4.93,10.56-49.55,10.56-49.55
|
|
6
|
+
L14.72,40.48z"/>
|
|
7
|
+
<path style="fill:#FFD2B1;" d="M112.84,37.95L98.39,54c0,0,2.35,48.85,4.74,49.27c2.39,0.42,14.5-4.79,18.3-12.53
|
|
8
|
+
s2.14-20.7,1.27-25.2C121.01,56.81,112.84,37.95,112.84,37.95z"/>
|
|
9
|
+
<path style="fill:#FF8E01;" d="M64.23,8.81c-10.42-0.13-20.08,3.24-20.08,3.24S26.69-0.62,14.86,9.51
|
|
10
|
+
C0.09,22.18,13.17,40.76,14.3,42.03s6.19,13.23,6.19,13.23s-3.1,12.11-3.24,20.55c-0.2,11.84,2.39,25.53,2.39,25.53
|
|
11
|
+
s4.93,2.21,9.43,3.75c3.62,1.24,5.91,1.55,7.18,2.53c1.27,0.99,9.43,12.39,19.01,13.94c8.45,1.37,21.96,0.42,29.28-7.32
|
|
12
|
+
c5.61-5.93,6.76-7.46,7.74-8.02c0.99-0.56,13.33-3.33,13.33-3.33s4.27-20.74,4.27-29.75s-1.13-16.19-1.13-16.19l4.79-12.39
|
|
13
|
+
c0,0,15.49-19.85,1.27-31.96c-13.09-11.15-27.87,0.84-27.87,0.84S75.49,8.95,64.23,8.81z"/>
|
|
14
|
+
<path style="fill:#FF6011;" d="M19.08,16.41c8.45-7.34,15.63-0.14,15.63,0.56c0,0.34-4.92,3.23-8.87,6.9
|
|
15
|
+
c-4.2,3.9-7.45,8.59-7.88,8.59C17.11,32.46,11.62,22.89,19.08,16.41z"/>
|
|
16
|
+
<path style="fill:#FF6011;" d="M109.47,18.38c-5.2-4.79-13.66-0.7-13.94,0c-0.14,0.35,4.5,3.55,8.02,7.04
|
|
17
|
+
c3.65,3.62,6.75,7.67,7.04,7.74C111.15,33.3,116.5,24.86,109.47,18.38z"/>
|
|
18
|
+
<path style="fill:#FFD2B1;" d="M39.78,87.36c0,0-0.29,28.59,22.81,27.87c27.17-0.84,23.51-26.61,23.51-26.61L39.78,87.36z"/>
|
|
19
|
+
<path style="fill:#FEA7A5;" d="M63.43,81.17c0,0-18.58,9.71-18.44,9.15c0.07-0.27,4.63,3.25,9.38,7c5.19,4.1,18.76,1.14,18.76,1.14
|
|
20
|
+
l8.89-8.01L63.43,81.17z"/>
|
|
21
|
+
<path style="fill:#FFFFFF;" d="M64.56,64.13c0,0-22.52-10.84-30.13-0.28s0,21.4,5.35,23.51s13.8,9.43,13.8,9.43s1.41-2.96,1.27-4.36
|
|
22
|
+
c-0.14-1.41-1.13-5.77-1.13-5.77l9.71-5.49l7.88,7.18c0,0-1.13,7.18-0.56,8.02s4.93-0.99,4.93-0.99l2.25-7.04
|
|
23
|
+
c0,0,5.4-0.33,8.92-0.75c3.52-0.42,10.93-5.3,10.09-13.89s-8.59-13.51-14.5-13.37C76.52,60.47,64.56,64.13,64.56,64.13z"/>
|
|
24
|
+
<path style="fill:#2F2F2F;" d="M90.88,86.66c-0.58-1.44-10.14-1.83-16.33-5.49c-6.5-3.84-6.05-8.31-6.05-8.31s4.68-2.39,8.87-5.49
|
|
25
|
+
c4.19-3.1,7.79-6.84,6.62-8.87c-2.77-4.79-11.54,1.55-19.85,1.13c-8.03-0.41-18.61-5.28-20.41-2.67c-1.9,2.75,1.85,7.02,6.34,10.28
|
|
26
|
+
c4.49,3.26,9.71,5.49,9.71,5.49s0,5.63-7.18,8.73c-8.02,3.46-15.58,3.24-16.05,3.66c-1.41,1.27,0.53,2.66,2.11,3.24
|
|
27
|
+
c1.55,0.56,3.24,0.56,3.24,0.56s1.27,10.98,21.54,11.4c19.71,0.41,20.41-9.85,20.41-9.85s1.97-0.42,3.84-1.11
|
|
28
|
+
S91.3,87.71,90.88,86.66z M63.15,95.67c-11.68-0.14-15.63-5.49-15.63-5.49s4.36,0,7.46-0.7c3.83-0.87,8.31-4.65,8.31-4.65
|
|
29
|
+
s3.65,3.84,6.76,4.93c2.82,0.99,8.02,1.55,8.02,1.55S74.83,95.81,63.15,95.67z"/>
|
|
30
|
+
<path style="fill:#2F2F2F;" d="M47.94,41.61c0,3.46-2.98,6.33-6.48,6.9c-3.45,0.56-6.62-2.46-6.48-7.04
|
|
31
|
+
c0.11-3.46,3.08-5.63,6.62-5.63S47.94,37.88,47.94,41.61z"/>
|
|
32
|
+
<path style="fill:#2F2F2F;" d="M86.94,48.23c-3.28-1.11-5.25-3.92-4.42-7.9c0.9-4.35,3.94-6.09,8.22-4.49
|
|
33
|
+
c3.24,1.21,4.76,5.31,3.73,8.69C93.56,47.52,90.47,49.42,86.94,48.23z"/>
|
|
34
|
+
<path style="fill:#2F2F2F;" d="M102.05,41.14c-1.37,1.55-5.2,0.34-5.73,2.44c-0.75,3,7.23,5.63,10.14,1.78
|
|
35
|
+
c2.91-3.85-0.37-12.43-3.1-10.61C101.68,35.88,103.46,39.54,102.05,41.14z"/>
|
|
36
|
+
<path style="fill:#2F2F2F;" d="M109.47,38.32c-1.06,0.43,0.19,3.85,0.66,6.48s0,7.04-1.5,8.82c-1.5,1.78-2.91,1.31-2.91,1.31
|
|
37
|
+
s-3.56-6.42-5.44-3.85c-1.78,2.44,2.06,2.82,1.6,7.6c-0.47,4.79-3.78,7.17-0.38,7.88c1.78,0.38,3.57-2.91,3.57-2.91
|
|
38
|
+
s5.82,0.09,8.73-6.76c2.19-5.15,0.84-9.01-0.19-12.95S109.93,38.14,109.47,38.32z"/>
|
|
39
|
+
<path style="fill:#2F2F2F;" d="M110.03,69.2c-3.57,3.94-8.82,8.35-9.2,9.48c-0.38,1.13-0.38,3.75,4.79,2.91s10.04-5.63,11.59-8.59
|
|
40
|
+
c2.03-3.87,2.77-10.37,1.64-12.72c-1.13-2.35-3.19-1.22-3.85,0.75C114.35,63.01,111.39,67.7,110.03,69.2z"/>
|
|
41
|
+
<path style="fill:#2F2F2F;" d="M28.56,38.79c-0.09-2.35,2.25-4.41,0.84-5.63c-1.87-1.62-6.95,2.82-5.35,8.17s7.92,4.69,8.96,3.85
|
|
42
|
+
c1.74-1.41,0.46-2.66-0.47-3.1C31.1,41.4,28.65,41.08,28.56,38.79z"/>
|
|
43
|
+
<path style="fill:#2F2F2F;" d="M23.87,52.59c0,0,2.16-3.57,3.94-2.06c1.78,1.5-2.16,4.04-1.69,8.35s2.91,7.51,1.69,8.73
|
|
44
|
+
c-1.69,1.69-4.32-1.88-5.16-3.19c-0.84-1.31-1.41-3.1-1.41-3.1s-5.82-4.79-6.85-10.7c-0.8-4.57,0.47-9.85,3.28-12.39
|
|
45
|
+
c1.92-1.73,2.89-1.71,3.66-0.94c1.13,1.13-1.88,5.63-0.84,10.04C21.52,51.75,23.87,52.59,23.87,52.59z"/>
|
|
46
|
+
<path style="fill:#2F2F2F;" d="M19.84,69.67c-2.58-3.22-7.18-10.77-8.92-10.14c-2.06,0.75-1.69,10.53,3.19,16.14
|
|
47
|
+
c6.19,7.13,14.17,7.04,15.11,4.13C29.91,77.66,24.34,75.3,19.84,69.67z"/>
|
|
48
|
+
<path style="fill:#2F2F2F;" d="M58.36,9.02c0,0,0.7,5.07-4.86,6.69s-8.94-0.44-8.73,4.08c0.11,2.25,2.51,3.37,4.93,3.52
|
|
49
|
+
c2.42,0.15,4.82-0.75,6.12-1.27c2.82-1.13,7.32-6.69,8.09-6.83c0.77-0.14,3.17,3.8,8.02,5.91c2.22,0.96,5.04,1.77,7.2,1.48
|
|
50
|
+
c2.27-0.3,4.17-1.83,3.99-4.79C83,15.57,79.76,16.69,74.41,15s-4.6-5.82-4.6-5.82s-3.99-0.38-5.96-0.38
|
|
51
|
+
C61.88,8.81,58.36,9.02,58.36,9.02z"/>
|
|
52
|
+
<path style="fill:#2F2F2F;" d="M64.2,20c-1.1-0.02-3.73,3.52-6.19,4.72s-7.74,1.48-8.38,3.73c-0.63,2.25,1.34,4.93,6.69,4.22
|
|
53
|
+
c5.54-0.73,7.39-5.07,8.09-5.14c0.7-0.07,2.96,5.07,9.01,5.56c5.21,0.42,6.64-4.01,5-5.49c-2.25-2.04-6.26-2.53-8.24-3.45
|
|
54
|
+
C67.84,23.06,65.19,20.02,64.2,20z"/>
|
|
55
|
+
</svg>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
+
<svg version="1.1" id="Layer_3" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
4
|
+
viewBox="0 0 128 128" style="enable-background:new 0 0 128 128;" xml:space="preserve">
|
|
5
|
+
<path style="fill:#4D4D4D;" d="M63.99,16.83c-11.4-0.29-20.55,4.65-20.55,4.65S31.82,4.11,15.42,16.41
|
|
6
|
+
c-16.89,12.67-0.99,30.83-0.99,30.83S2.91,61.36,3.88,79.34c1.04,19.28,11.26,42.02,61.38,41.18c50.12-0.84,58.82-22.74,58.71-41.74
|
|
7
|
+
c-0.11-18.3-8.73-29-8.73-29s15.63-17.03,2.53-30.41s-28.02,4.65-28.02,4.65S80.46,17.25,63.99,16.83z"/>
|
|
8
|
+
<path style="fill:#FFFFFF;" d="M63.47,20.51c-9.45,0-21.02,1.95-36.64,17.15S3.74,70.75,8.39,88.21s18.72,29.42,56.73,29
|
|
9
|
+
s50.64-11.66,54.76-30.97c1.54-7.22,0.98-19.73-5.35-31.53C106.23,39.22,87.57,20.51,63.47,20.51z"/>
|
|
10
|
+
<path style="fill:#4D4D4D;" d="M53.53,49.87c-7.77-4.74-15.86,0.28-21.96,8.54c-5.32,7.2-10.72,9.56-11.17,17.08
|
|
11
|
+
c-0.38,6.29,4.32,15.3,14.08,15.3c8.92,0,10.89-8.45,15.02-14.17C53.62,70.89,65.15,56.96,53.53,49.87z"/>
|
|
12
|
+
<path style="fill:#4D4D4D;" d="M72.49,51.56c-5.06,4.6-4.04,12.2-0.28,16.99s6.09,7.46,7.7,10.42c2.11,3.89,9.61,18.31,21.68,8.82
|
|
13
|
+
c12.29-9.67,3.03-21.47,0.19-24.4c-1.11-1.14-11.12-11.64-13.05-13.23C86.24,48.09,79.71,44.99,72.49,51.56z"/>
|
|
14
|
+
<path style="fill:#040301;" d="M93.6,67.04c0.32,4.99-1.41,9.29-5.82,9.67c-4.29,0.36-8.16-3.41-8.92-8.35
|
|
15
|
+
c-0.75-4.94,1.6-9.01,6.29-9.2C89.46,58.99,93.23,61.22,93.6,67.04z"/>
|
|
16
|
+
<path style="fill:#040301;" d="M47.05,73.14c-2.36,3.51-7.43,4.3-11.17,1.5c-2.63-1.97-3.22-7.63-0.84-11.73
|
|
17
|
+
c2.51-4.33,7.62-4.94,11.43-2.24C49.49,62.82,50.34,68.26,47.05,73.14z"/>
|
|
18
|
+
<path style="fill:#E0E0E0;" d="M81.31,63.48c-1.07,2.6-0.38,6.01,1.6,5.91c2.53-0.12,1.69-2.25,2.53-3.28
|
|
19
|
+
c0.84-1.03,2.35-3.19,0.75-4.41C84.18,60.15,81.97,61.88,81.31,63.48z"/>
|
|
20
|
+
<path style="fill:#E0E0E0;" d="M37.2,62.91c-1.77,2.8-1.39,5.24-0.38,6.1c1.55,1.31,3.43-0.52,4.65-2.77
|
|
21
|
+
c1.22-2.25,2.77-4.18,0.89-5.58C41.03,59.67,38.32,61.13,37.2,62.91z"/>
|
|
22
|
+
<path style="fill:#030200;" d="M63.67,81.4c-5.63,0.07-12.29,3.85-12.39,5.73c-0.09,1.88,2.82,4.04,4.79,5.54
|
|
23
|
+
c1.47,1.12,4.69,2.91,4.41,3.85c-0.28,0.94-2.45,1.99-4.79,2.25c-3.1,0.35-7.17-2.39-8.17-3.1c-1.2-0.84-3.94,0.35-2.67,2.82
|
|
24
|
+
c1.26,2.45,3.71,4.06,6.34,4.72c2.84,0.71,4.41,0.54,4.41,0.54s2.74,3.9,7.88,4.32c5.82,0.47,8.63-4.69,8.63-4.69
|
|
25
|
+
s3.53,0.55,5.82-0.28c3.1-1.13,4.29-3.12,5.07-4.69c0.9-1.83-0.33-4.42-3.28-2.53c-2.35,1.5-3.47,3.19-8.12,2.98
|
|
26
|
+
c-2.88-0.13-4.08-1.95-4.08-2.7s3.47-2.82,5.54-4.32c2.08-1.52,3.66-3.19,3.75-4.6C76.9,85.81,71.08,81.31,63.67,81.4z"/>
|
|
27
|
+
<path style="fill:#FDA4A5;" d="M63.99,99.4c0,0-1.36,1.71-1.92,2.09c-0.56,0.38-2.44,1.43-2.44,1.43s1.44,1.61,3.31,1.83
|
|
28
|
+
c3.59,0.42,5.07-1.62,5.07-1.62s-0.82-0.66-1.76-1.34C65.39,101.17,63.99,99.4,63.99,99.4z"/>
|
|
29
|
+
</svg>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
+
<svg version="1.1" id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
4
|
+
viewBox="0 0 128 128" style="enable-background:new 0 0 128 128;" xml:space="preserve">
|
|
5
|
+
<path style="fill:#36B4E1;" d="M15.57,49.21c-1.8,4.64-5.62,6.83-6.48,10.56c-0.99,4.32,3.1,8.73,7.18,8.59s13.08-5.04,16.19-6.76
|
|
6
|
+
c3.57-1.97,11.92-5.87,11.92-5.87l23.28-5.96L83.7,65.4l-1.41,12.95c0,0-0.84,3.38-2.67,6.62s-7.18,8.17-10.42,7.32
|
|
7
|
+
c-3.24-0.84-4.83-6.49-9.71-8.87c-5.77-2.82-14.5-3.1-14.78-0.7s4.22,3.24,5.35,4.5c1.13,1.27,2.67,6.48,4.36,8.17
|
|
8
|
+
c1.69,1.69,5.35,4.08,5.35,4.08s-3.66,4.65-3.94,8.31s0.42,7.32-0.14,8.59c-0.56,1.27-3.94,4.93-2.25,6.19s10.84-5.21,13.37-10.14
|
|
9
|
+
c2.53-4.93,3.66-8.31,4.79-9.29s16.33-3.52,26.89-17.03s10.7-29.99,10.42-37.03c-0.28-7.04-3.28-13.47-0.75-17.41
|
|
10
|
+
s5.27-4.75,6.71-5.21c1.92-0.61,4.27-1.13,3.75-3.28c-0.39-1.65-2.16-6.1-12.11-8.45C99.49,13.07,92.29,15,92.29,15
|
|
11
|
+
S69.16-0.5,43.86,6.56c-24.21,6.76-31.82,22.81-31.53,31.82C12.49,43.58,16.55,46.68,15.57,49.21z"/>
|
|
12
|
+
<path style="fill:#006DA6;" d="M61.88,49.49l-9.57,5.35c0,0,0.48,6.24,3.38,10.7c1.92,2.96,4.79,5.49,7.6,6.48
|
|
13
|
+
c3.33,1.17,6.88,1.16,7.04,0.28c0.28-1.55-2.2-3.48-3.38-6.76c-1.03-2.86-1.13-13.23-1.13-13.23L61.88,49.49z"/>
|
|
14
|
+
<path style="fill:#DDECF5;" d="M42.88,56.39c0,0,12.81-13.94,27.45-11.97s18.21,12.62,17.32,24.35c-0.54,7.16-7.89,17.51-8.02,16.19
|
|
15
|
+
c-0.09-0.94,2.44-16.28-2.35-21.49c-5.52-6.01-12.15-7.79-18.49-8.07S42.88,56.39,42.88,56.39z"/>
|
|
16
|
+
<path style="fill:#2D2B30;" d="M40.84,31.33c1.35,2.09,0.84,4.62-1.06,5.84c-1.9,1.22-4.99,0.54-6.34-1.55s-0.87-5.23,1.2-6.12
|
|
17
|
+
C37.67,28.19,39.49,29.24,40.84,31.33z"/>
|
|
18
|
+
<path style="fill:#006DA6;" d="M9.23,63.08c0,0,3.43,0.1,5.14-0.49c4.29-1.5,9.43-6.26,11.76-8.45c1.93-1.81,4.65-5,6.34-6.69
|
|
19
|
+
c1.69-1.69,3.31-3.52,4.08-3.24s1.55,2.25,1.34,3.1c-0.21,0.84-5.91,5.91-8.66,8.45c-2.75,2.53-7.32,6.69-10.56,8.31
|
|
20
|
+
c-1.41,0.71-3.94,1.81-6.83,1.55C10.08,65.46,9.16,63.71,9.23,63.08z"/>
|
|
21
|
+
<path style="fill:#006DA6;" d="M60.69,30.07c0.68,1.05,3.1-0.27,4.5-1.06c1.76-0.99,8.66-5.14,15.35-5.7
|
|
22
|
+
c6.69-0.56,11.68,1.76,12.81,2.25c1.13,0.49,3.73,1.62,3.73,2.25c0,0.63-6.35,3.6-9.01,5.35c-2.67,1.76-7.04,3.87-9.92,4.5
|
|
23
|
+
c-2.35,0.52-6.9-0.14-6.97,1.2c-0.07,1.34-0.42,2.11,5.14,2.11s15.13-5.77,17.25-7.18s9.64-5.14,9.08-6.48
|
|
24
|
+
c-0.8-1.9-9.78-7.56-21.54-7.32c-10.21,0.21-15.77,4.72-18.3,6.62C62.19,27.07,59.91,28.87,60.69,30.07z"/>
|
|
25
|
+
</svg>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
+
<svg version="1.1" id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
4
|
+
viewBox="0 0 128 128" style="enable-background:new 0 0 128 128;" xml:space="preserve">
|
|
5
|
+
<path style="fill:#BDCF47;" d="M112.7,59.21c0,0,3.94-2.21,4.93-2.77c0.99-0.56,4.6-2.82,5.91-0.84c0.77,1.16-0.7,4.44-3.05,7.86
|
|
6
|
+
c-2.14,3.13-7.12,9.56-7.4,10.83c-0.28,1.27,1.11,6.36,1.53,8.33c0.42,1.97,1.74,6.71,1.17,8.54s-3.43,6.85-10.75,6.76
|
|
7
|
+
c-5.82-0.07-7.51-1.78-7.7-2.82c-0.14-0.75-0.56-3.24-0.56-3.24s-4.79,2.96-7.04,4.08s-8.31,4.22-8.31,4.22s1.17,5.35,1.36,7.51
|
|
8
|
+
c0.19,2.16,0.86,5.25-0.28,7.32c-1.03,1.88-4.25,5.02-11.83,4.97c-5.92-0.04-7.41-1.88-8.35-3c-0.94-1.13-1.13-6.48-1.13-7.6
|
|
9
|
+
s-0.19-5.07-0.19-5.07s-8.02-0.4-12.86-0.75c-4.38-0.32-10.16-0.99-10.16-0.99s0.21,2.33,0.42,4.01c0.19,1.5,0.23,4.64-1.34,6.17
|
|
10
|
+
c-2.11,2.06-7.56,2.21-10.56,1.92c-3-0.28-7.18-1.83-8.4-4.55c-1.22-2.72,0.38-6.29,1.03-8.35c0.58-1.81,1.6-4.41,1.22-5.16
|
|
11
|
+
c-0.38-0.75-4.04-1.69-9.29-6.95c-5.26-5.26-12.13-23.52,3.28-36.23c15.49-12.76,43.81,1.1,45.31,2.04
|
|
12
|
+
C61.2,56.41,112.7,59.21,112.7,59.21z"/>
|
|
13
|
+
<path style="fill:#6E823A;" d="M66.25,25.28C52.32,25.9,41.87,32.8,36.68,40.34c-3.1,4.5-4.65,7.74-4.65,7.74s4.81,0.14,9.15,2.46
|
|
14
|
+
c5,2.67,10.8,5.56,14.61,18.13c2.87,9.5,3.98,18.53,11.44,20.52c8.45,2.25,28.16,1.13,37.59-8.02s11.26-16.05,8.87-25.06
|
|
15
|
+
s-13.17-25.05-28.16-29.28C79.06,25,72.58,25,66.25,25.28z"/>
|
|
16
|
+
<path style="fill:#484E23;" d="M111.93,51.32c-0.42-0.99-1.3-2.5-1.3-2.5s-0.07,2.05-0.25,3.13c-0.28,1.76-1.25,5.42-1.81,4.88
|
|
17
|
+
c-1-0.97-5.73-6.92-7.98-10.23c-1.71-2.52-7.6-9.11-7.74-11.26c-0.07-1.06,1.27-4.65,1.27-4.65s-1.22-0.7-2.35-1.34
|
|
18
|
+
c-0.88-0.49-2.16-1.03-2.16-1.03s-0.77,4.9-1.62,5.82c-0.75,0.81-5.32,2.6-8.87,3.94c-4.29,1.62-8.45,3.73-10,4.01
|
|
19
|
+
c-1.36,0.25-9.09-1.41-12-1.97c-3.66-0.7-9.18-2.26-10.45-3.17c-1.48-1.06-3.07-3.78-3.07-3.78s-0.89,0.61-1.78,1.31
|
|
20
|
+
c-0.88,0.69-2.02,2.06-2.02,2.06s2.31,2.32,2.44,3.18c0.18,1.2-1.27,2.83-2.46,4.38c-0.72,0.93-2.75,4.85-2.75,4.85
|
|
21
|
+
s0.97,0.09,2.15,0.63c1.23,0.57,2.38,1.16,2.38,1.16s2.97-6.9,4.9-7.53c1.65-0.54,6.3,0.99,9.68,1.69
|
|
22
|
+
c4.79,0.99,9.64,1.87,10.66,3.17c1.06,1.34,2.06,6.68,3.03,11.19C70.89,64.2,73.64,77.02,73,78c-0.63,0.99-5.7,0.63-8.59,0.28
|
|
23
|
+
c-2.45-0.3-6.41-1.76-6.41-1.76s0.58,2.11,0.77,2.67c0.28,0.81,1.16,3.06,1.16,3.06s5.67,2.5,22.42,0.95s25.03-12.96,27.38-18.02
|
|
24
|
+
c3.14-6.78,3.54-10.39,3.54-10.39S112.35,52.31,111.93,51.32z M96.65,73.21c-4.24,2.67-15.2,5.49-17.18,4.43
|
|
25
|
+
c-1.58-0.85-3.94-13.94-5.07-19.78c-0.72-3.74-2.45-9.42-1.41-11.19c0.7-1.2,4.79-2.99,7.81-4.4c2.87-1.33,6.97-3.13,8.17-2.99
|
|
26
|
+
c1.7,0.2,5.35,6.12,9.01,11.19c3.66,5.07,7.67,10.35,7.74,12.18C105.81,64.49,101.02,70.47,96.65,73.21z"/>
|
|
27
|
+
<path style="fill:#2A2B28;" d="M41.18,65.86c0.5,2.83-0.95,5.75-4.07,6.02c-2.56,0.22-4.59-1.57-5.09-4.4
|
|
28
|
+
c-0.5-2.83,1.14-5.49,3.68-5.94C38.22,61.09,40.68,63.02,41.18,65.86z"/>
|
|
29
|
+
<path style="fill:#2A2B28;" d="M22.82,66.11c0.07,2.84-2.42,5.69-5.5,5.11c-2.53-0.48-3.99-2.73-3.71-5.55
|
|
30
|
+
c0.29-2.82,2.59-4.9,5.15-4.65S22.75,63.15,22.82,66.11z"/>
|
|
31
|
+
<path style="fill:#2A2B28;" d="M30.77,76.59c1.16-0.79,3.1-2.67,4.36-1.06c1.27,1.62-0.92,3.1-2.18,4.01
|
|
32
|
+
c-1.27,0.92-4.08,3.17-6.12,3.17c-1.9,0-4.79-2.32-6.62-3.87c-1.49-1.26-2.18-2.89-1.34-3.87s2.14-0.62,3.24,0.35
|
|
33
|
+
c1.27,1.13,3.72,3.38,4.72,3.38C27.81,78.71,29.22,77.65,30.77,76.59z"/>
|
|
34
|
+
</svg>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
+
<svg version="1.1" id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
4
|
+
viewBox="0 0 128 128" style="enable-background:new 0 0 128 128;" xml:space="preserve">
|
|
5
|
+
<path style="fill:#6E4F44;" d="M97.36,62.59c0,0,4.5-9.71,4.01-18.37c-0.32-5.56,0.92-29.63-35.69-30.34
|
|
6
|
+
c-36.6-0.7-38.86,20.74-38.86,31.25c0,7.88,3.52,15.35,3.52,15.35s-2.96-0.7-6.34,3.24s-3.54,12.47-1.13,17.18
|
|
7
|
+
c3.03,5.91,8.02,9.29,8.02,9.29l10.42,15.35c0,0-1.55,4.29-4.22,7.46c-1.8,2.14-5.58,5.46-5.49,6.76c0.14,1.97,4.22,0.99,10.14,1.27
|
|
8
|
+
c5.91,0.28,22.67-2.53,22.67-2.53s22.81,1.41,25.06,1.55c2.25,0.14,7.11,0.49,7.74-0.99c0.39-0.91-3.42-4.2-5-7.04
|
|
9
|
+
c-2.04-3.66-3.31-9.43-3.31-9.43s4.65-9.71,6.62-11.26c1.97-1.55,7.46-8.45,9.01-12.11s2.11-10.56-1.13-13.8
|
|
10
|
+
C101,62.99,97.36,62.59,97.36,62.59z"/>
|
|
11
|
+
<path style="fill:#6E4F44;" d="M86.17,19.51c0,0,2.11-4.5,6.34-7.25c3.9-2.53,8.52-2.25,8.87-1.9c0.35,0.35-0.54,3.68-2.11,5.91
|
|
12
|
+
c-1.34,1.9-2.75,3.38-2.53,3.59c0.39,0.39,1.72-1.33,3.45-2.75c2.32-1.9,5.35-2.6,5.7-2.32s0.84,5.35-1.41,9.64
|
|
13
|
+
c-2.11,4.01-5.98,6.55-5.98,6.55l-5.42-7.32L86.17,19.51z"/>
|
|
14
|
+
<path style="fill:#6E4F44;" d="M44.28,19.01c0,0-2.53-5.21-5.56-8.31s-7.74-4.86-8.31-4.29s-0.49,4.01,0.21,6.26s2.82,4.5,2.18,4.93
|
|
15
|
+
c-0.63,0.42-1.73-2.13-2.82-3.31c-1.76-1.9-4.93-3.45-5.49-3.1c-0.56,0.35-1.9,5.7,0.77,10.63c2.37,4.37,5.84,8.45,5.84,8.45
|
|
16
|
+
l8.17-7.81L44.28,19.01z"/>
|
|
17
|
+
<path style="fill:#878787;" d="M46.96,111.06c0,0-0.5,2.08-3.1,4.41c-2.96,2.65-7.98,6.1-4.79,7.23c3.19,1.13,7.7,1.13,12.39,0.19
|
|
18
|
+
c4.69-0.94,9.29-2.35,12.58-2.35c3.28,0,9.95,1.22,13.23,1.69c3.28,0.47,7.47,0.88,9.85,0.38c2.21-0.47,3.26-1.45-0.54-5.4
|
|
19
|
+
c-1.63-1.69-4.43-6.43-4.43-6.43l-18.96,3.1L46.96,111.06z"/>
|
|
20
|
+
<path style="fill:#875D54;" d="M36.45,61.41c0,0-3.85,0.38-5.44,2.53s-3.75,8.26-3.38,16.89c0.38,8.63,4.13,15.96,9.01,22.43
|
|
21
|
+
c4.88,6.48,11.54,13.05,26.65,12.58c15.11-0.47,22.99-4.32,26.94-11.26c3.94-6.95,8.82-16.14,9.29-24.78
|
|
22
|
+
c0.47-8.63-3.85-16.52-5.26-17.55c-1.41-1.03-30.5-2.44-30.5-2.44L36.45,61.41z"/>
|
|
23
|
+
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="63.4068" y1="60.8187" x2="63.7159" y2="110.6862">
|
|
24
|
+
<stop offset="0.0499" style="stop-color:#F5DBB8"/>
|
|
25
|
+
<stop offset="0.2381" style="stop-color:#F2D2AF"/>
|
|
26
|
+
<stop offset="0.5467" style="stop-color:#E9B996"/>
|
|
27
|
+
<stop offset="0.8936" style="stop-color:#DC9673"/>
|
|
28
|
+
</linearGradient>
|
|
29
|
+
<path style="fill:url(#SVGID_1_);" d="M42.17,61.41c0,0-9.29,8.35-7.6,22.99c1.49,12.92,10.7,26.19,28.81,26.28
|
|
30
|
+
c20.56,0.11,28.14-14.57,29.19-26.47c1.22-13.89-6.66-22.34-7.7-23.18C83.84,60.19,42.17,61.41,42.17,61.41z"/>
|
|
31
|
+
<path style="fill:#F2A35B;" d="M64.23,73.43c0,0,8.07-8.54,14.45-10.23c6.38-1.69,15.58-0.94,15.58-0.94s4.29-6.43,4.6-18.77
|
|
32
|
+
c0.33-13.25-6.66-18.96-6.66-18.96s-11.64-2.25-19.71,6.19c-6.76,7.07-5.91,15.58-5.91,15.58l-3.64-0.61c0,0,0.05-9.46-6.62-15.27
|
|
33
|
+
s-15.84-7.3-15.84-7.3s-11.14,5.95-11.4,19.69c-0.28,14.73,5.28,18.93,5.28,18.93s9.03,0.23,17.01,3.05S64.23,73.43,64.23,73.43z"/>
|
|
34
|
+
<path style="fill:#D0805F;" d="M93.23,42.83c0,7.3-3.93,12.97-12.11,13.89c-8.86,1-13.24-5.75-13.24-13.05s5.67-13.22,12.67-13.22
|
|
35
|
+
S93.23,35.53,93.23,42.83z"/>
|
|
36
|
+
<path style="fill:#D0805F;" d="M59.65,36.6c3.63,6.6,2.18,16.37-3.87,18.99c-7.13,3.1-14.67,0.03-18.3-6.57s-1.23-14.14,4.9-17.51
|
|
37
|
+
S56.02,30,59.65,36.6z"/>
|
|
38
|
+
<path style="fill:#D0805F;" d="M78.35,73.14c1.67,0.37,2.53-2.82,4.46-1.27c1.92,1.55-0.8,4.5-3.8,4.6c-3,0.09-6.24-1.97-5.12-3.94
|
|
39
|
+
C75.02,70.56,76.43,72.72,78.35,73.14z"/>
|
|
40
|
+
<path style="fill:#D0805F;" d="M85.49,81.26c2.39-0.23,3.57-2.91,5.16-1.27s-0.99,4.46-5.02,4.69c-4.04,0.23-6.19-1.83-5.3-3.43
|
|
41
|
+
C81.22,79.67,82.62,81.54,85.49,81.26z"/>
|
|
42
|
+
<path style="fill:#D0805F;" d="M64.6,82.34c2.95,0.17,3.14-2.82,5.3-1.78c2.16,1.03-0.37,5.53-5.02,5.49
|
|
43
|
+
c-5.26-0.05-7.17-3.88-5.73-5.07C61.22,79.29,61.41,82.15,64.6,82.34z"/>
|
|
44
|
+
<path style="fill:#D0805F;" d="M50.24,73.94c2.02-0.12,1.69-2.63,4.41-1.69c2.3,0.8-0.33,5.21-4.74,5.16
|
|
45
|
+
c-3.94-0.04-6.1-3.33-5.02-4.32C47.03,71.15,47.9,74.08,50.24,73.94z"/>
|
|
46
|
+
<path style="fill:#D0805F;" d="M41.42,81.17c1.74-0.05,2.11-2.35,4.04-1.22c1.92,1.13,0.28,4.74-4.18,4.79
|
|
47
|
+
c-3.99,0.04-5.46-2.73-4.36-3.94C38.61,78.92,39.69,81.22,41.42,81.17z"/>
|
|
48
|
+
<path style="fill:#FFFEFF;" d="M70.52,45.13c1.45,4.58,6.87,7.03,11.73,5.49c4.86-1.54,7.38-6.41,5.82-11.4
|
|
49
|
+
c-1.77-5.66-6.91-6.84-11.78-5.3C71.42,35.45,69.06,40.54,70.52,45.13z"/>
|
|
50
|
+
<path style="fill:#FFFEFF;" d="M41.75,35.88c-2.87,3.86-2.5,9.25,1.6,12.29s9.63,3.25,12.76-0.94c3.56-4.75,2.07-9.95-2.02-13
|
|
51
|
+
S44.62,32.03,41.75,35.88z"/>
|
|
52
|
+
<path style="fill:#303232;" d="M84.78,39.76c1.2,3.06,0.12,6.56-3.04,7.81c-3.17,1.25-7.21-0.23-8.42-3.29
|
|
53
|
+
c-1.2-3.06,0.09-6.62,3.26-7.88C80,35.04,83.57,36.7,84.78,39.76z"/>
|
|
54
|
+
<path style="fill:#303232;" d="M54.98,44.52c-1.63,2.85-6.01,3.71-9.39,1.55c-2.87-1.83-3.09-5.59-1.45-8.45
|
|
55
|
+
c1.63-2.85,5.36-3.33,8.49-2.02C56.44,37.2,56.62,41.67,54.98,44.52z"/>
|
|
56
|
+
<path style="fill:#2F2F2F;" d="M59.39,46.11c0,0-0.16,6.1,0,8.17c0.23,2.96,0.86,5.09,1.74,6.85c0.94,1.88,2.35,3.94,3.05,3.94
|
|
57
|
+
c0.7,0,2.16-1.99,3-3.89c0.7-1.6,1.45-3.75,1.78-7.46c0.28-3.15,0.28-6.95,0.28-6.95L59.39,46.11z"/>
|
|
58
|
+
<path style="fill:#FEB903;" d="M64.23,40.58c3.24-0.07,4.18,1.92,4.88,3.61c0.42,1.01,0.7,3.1,0.42,3.47
|
|
59
|
+
c-0.28,0.38-2.72,0.99-4.93,0.99s-5.91-0.8-5.96-1.41c-0.05-0.61,0.56-2.89,1.17-3.8C60.94,41.75,62.02,40.62,64.23,40.58z"/>
|
|
60
|
+
</svg>
|
package/out/chat/index.html
CHANGED
|
Binary file
|
package/out/chat/join/index.html
CHANGED
|
Binary file
|
package/out/demo/index.html
CHANGED
|
Binary file
|