most-box 0.3.8 → 0.3.9
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 +12 -12
- package/electron/main.js +1 -1
- package/out/about/index.html +2 -2
- package/out/admin/index.html +0 -0
- package/out/app/index.html +0 -0
- package/out/assets/{AccountMenu-C3wvcWtn.js → AccountMenu-BpUGPUSa.js} +1 -1
- package/out/assets/{AppShell-BN1uaxn1.js → AppShell-kfQyRhZy.js} +1 -1
- package/out/assets/{AppTop-iPNi3cv5.js → AppTop-DydClKUv.js} +1 -1
- package/out/assets/{CopyButton-BfQ-TOoR.js → CopyButton-BN_vYKM8.js} +1 -1
- package/out/assets/{MarketingHeader-Bh6LcQOj.js → MarketingHeader-B0jpxRYu.js} +1 -1
- package/out/assets/MarketingLayout-D42kTRyf.js +1 -0
- package/out/assets/{MilkdownEditor-4FuwE6Td.js → MilkdownEditor-B9vfoUP9.js} +1 -1
- package/out/assets/{OpenSidebarButton-09yeNDLa.js → OpenSidebarButton-BxKh_O5b.js} +1 -1
- package/out/assets/{chatJoinInvite-7tuD-STm.js → chatJoinInvite-Cwot1ykh.js} +1 -1
- package/out/assets/i18n-BPfshhQc.js +1 -0
- package/out/assets/{index-CCU5Z4K-.js → index-AZPpawN1.js} +3 -3
- package/out/assets/index-BP12tZtg.css +1 -0
- package/out/assets/{index.lazy-CbtY_wql.js → index.lazy-1oSrUtEc.js} +1 -1
- package/out/assets/index.lazy-B3eWk7i-.js +1 -0
- package/out/assets/{index.lazy-D9zm7DgW.js → index.lazy-BszFGhgk.js} +1 -1
- package/out/assets/{index.lazy-DhhSG0Me.js → index.lazy-CBPOnT1S.js} +1 -1
- package/out/assets/index.lazy-CJVtmxt4.js +1 -0
- package/out/assets/index.lazy-CJlJl0xA.js +1 -0
- package/out/assets/index.lazy-CUZLrlgS.js +2 -0
- package/out/assets/{index.lazy-DQA4yE6c.js → index.lazy-CV52vPw7.js} +1 -1
- package/out/assets/{index.lazy-Dl8LX4dH.js → index.lazy-CfmDMCbY.js} +1 -1
- package/out/assets/{index.lazy-DH1bcYry.js → index.lazy-ClcVulXE.js} +1 -1
- package/out/assets/index.lazy-DRAWcYlR.js +1 -0
- package/out/assets/index.lazy-Duk6GK1e.js +1 -0
- package/out/assets/{index.lazy-BMh0Oy3C.js → index.lazy-DxIMDfLH.js} +1 -1
- package/out/assets/{index.lazy-B2-v2OGR.js → index.lazy-e02LZDAI.js} +1 -1
- package/out/assets/{index.lazy-CsgZmOLX.js → index.lazy-qvhZXEAD.js} +1 -1
- package/out/assets/messages-square-Dr9v7Ilv.js +1 -0
- package/out/assets/plus-C7wBmZvh.js +1 -0
- package/out/assets/{saveLocalFile-DkrpR5WS.js → saveLocalFile-Dsoo9PmH.js} +1 -1
- package/out/assets/{useChannelMessages-Ea1I0HsF.js → useChannelMessages-ncgJxjR8.js} +1 -1
- package/out/assets/{useGameRoom-CqeouPP_.js → useGameRoom-BHZNzWJt.js} +1 -1
- package/out/chat/index.html +0 -0
- package/out/chat/join/demo/index.html +0 -0
- package/out/chat/join/index.html +0 -0
- package/out/download/index.html +2 -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 +2 -2
- package/out/note/index.html +0 -0
- package/out/ping/index.html +2 -2
- package/out/profile/index.html +0 -0
- package/out/web3/index.html +0 -0
- package/package.json +2 -1
- package/server/src/core/cid.js +1 -1
- package/server/src/core/zhajinhua.js +0 -88
- package/out/assets/MarketingLayout-9X-D6xx4.js +0 -1
- package/out/assets/chatNoteDraft-D6FEmSXK.js +0 -1
- package/out/assets/i18n-DKsg67mH.js +0 -1
- package/out/assets/index-FEwag7ej.css +0 -1
- package/out/assets/index.lazy-1YPf8Ys8.js +0 -1
- package/out/assets/index.lazy-7EjTGodD.js +0 -1
- package/out/assets/index.lazy-BBsa7aDt.js +0 -1
- package/out/assets/index.lazy-BJh0zxMI.js +0 -3
- package/out/assets/index.lazy-Bi5tHgok.js +0 -1
- package/out/assets/index.lazy-Q-Lr-abQ.js +0 -2
- package/out/assets/message-square-0kQmuMcd.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,o as t,t as n}from"./jsx-runtime-Bt-cYkS5.js";import{A as r,B as i,E as a,H as o,O as s,_ as c,g as l,h as u,k as d,t as f,x as p,y as m}from"./useAppStore-Pjif7nCR.js";import{a as h}from"./i18n-DKsg67mH.js";import{t as g}from"./copy-BofKiKH_.js";import{t as _}from"./AppShell-BN1uaxn1.js";import{t as ee}from"./play-B6IGTGxm.js";import{a as v,i as te,n as ne,r as re,t as ie}from"./useGameRoom-CqeouPP_.js";import{M as ae,g as oe}from"./index-CCU5Z4K-.js";var se=i(`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`],C=new Map(x.map((e,t)=>[e,t+2])),ce=new Map(S.map((e,t)=>[e,t+1])),w={high:1,pair:2,straight:3,flush:4,straightFlush:5,triple:6},le={[w.high]:`散牌`,[w.pair]:`对子`,[w.straight]:`顺子`,[w.flush]:`金花`,[w.straightFlush]:`顺金`,[w.triple]:`豹子`};function T(e){return m(e)}function E(e=`zhajinhua`){return u(e)}function D(){return E(`round`)}function O(){let e=[];for(let t of S)for(let n of x)e.push(`${n}${t}`);return e}function k(e=O(),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 A(e){let t=String(e||``).trim().toUpperCase(),n=t.slice(-1),r=t.slice(0,-1);if(!C.has(r)||!ce.has(n))throw Error(`Invalid card: ${e}`);return{id:`${r}${n}`,rank:r,suit:n,rankValue:C.get(r),suitValue:ce.get(n)}}function j(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 M(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 N(e){if(!Array.isArray(e)||e.length!==3)throw Error(`炸金花手牌必须是 3 张牌`);let t=e.map(A),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=M(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:le[c],tiebreakers:l,tieSuit:s,cards:t.map(e=>e.id)}}function P(e,t){let n=N(e),r=N(t);if(n.category!==r.category)return n.category-r.category;let i=j(n.tiebreakers,r.tiebreakers);return i===0?n.tieSuit-r.tieSuit:i}function ue(e){return N(e).label}function de({roundId:e,action:t,amount:n,target:r}){return{roundId:e,eventId:E(`action`),action:t,amount:n,target:r}}function fe(e=[]){let t=e.filter(e=>Number(e.chips)>=10);return t.length>=2&&t.length<=5}function pe({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 u=k(O(),o),d={},f=s.map((e,t)=>{let n=u.slice(t*3,t*3+3);return d[e.address]=n,{address:e.address,name:e.name,avatar:c(e.avatar),publicKey:e.publicKey,chips:Number(e.chips)-10,status:`active`,looked:!1,bet:10}}),p,m=l(i),h=m?f.findIndex(e=>l(e.address)===m):-1;return p=h>=0?f[h].address:f[Math.floor(o()*f.length)].address,{roomCode:T(e),roundId:a,status:`playing`,host:l(n),seq:r+1,startedAt:Date.now(),ante:10,pot:10*f.length,currentBet:10,turnAddress:p,players:f,lastAction:`本局开始`,winner:null,showdown:null,appliedEventIds:[],hands:d,actionCounts:{},compareReveal:{}}}function me(e){if(!e)return null;let t={...e};return delete t.hands,W(t)}function he(e,t){let n=F(e);return!n||!t||typeof t!=`object`?null:{...n,hands:W(t)}}function F(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:l(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:l(e.turnAddress),players:e.players.map(U).filter(Boolean),lastAction:String(e.lastAction||``),winner:e.winner?l(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 I(e,t,n){let r=F(e);if(!r||r.status!==`playing`)return{ok:!1,error:`当前没有进行中的牌局`};let i=l(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=l(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 L(e,t,n){let r=I(e,t,n);if(!r.ok)return{ok:!1,error:r.error,state:e};let i=W(e),a=l(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} 看牌`,H(i);if(t.action===`fold`)return o.status=`folded`,i.lastAction=`${o.name} 弃牌`,B(i,a),V(i,a);if(t.action===`call`)return o.chips-=10,o.bet+=10,i.pot+=10,i.lastAction=`${o.name} 跟注`,B(i,a),V(i,a);if(t.action===`raise`){let e=Number(t.amount);return i.currentBet+=e,z(i,o),i.lastAction=`${o.name} 加注 ${e}`,B(i,a),V(i,a)}if(t.action===`compare`){z(i,o);let e=l(t.target),n=i.players.find(t=>t.address===e),r=o.looked,s=n.looked,c=P(i.hands?.[a]||[],i.hands?.[e]||[]),u=c>=0?o:n,d=c>=0?n:o;d.status=`folded`,d.looked=!0,i.compareReveal||={};let f=r&&s,p=!r&&!s;if(f)i.compareReveal[a]=i.hands?.[e]||[],i.compareReveal[e]=i.hands?.[a]||[];else if(p)i.compareReveal[d.address]=i.hands?.[u.address]||[];else{let e=r?o:n,t=r?n:o;i.compareReveal[e.address]=i.hands?.[t.address]||[],i.compareReveal[d.address]=i.hands?.[u.address]||[]}return i.lastCompare={initiator:a,target:e,winner:u.address,loser:d.address,initiatorLooked:r,targetLooked:s,timestamp:Date.now()},i.lastAction=`${o.name} 与 ${n.name} 比牌,${d.name} 出局`,B(i,a),V(i,a)}return{ok:!1,error:`未知操作`,state:e}}function R(e){return(e?.players||[]).filter(e=>e.status===`active`)}function ge(e,t){let n=(e?.players||[]).find(e=>e.address===l(t));if(!e||e.status!==`playing`||!n||n.status!==`active`||e.turnAddress!==n.address)return[];let r=[];return n.looked||r.push(`look`),I(e,{action:`call`},n.address).ok&&r.push(`call`),b.some(t=>I(e,{action:`raise`,amount:t},n.address).ok)&&r.push(`raise`),R(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 z(e,t){let n=Math.max(0,e.currentBet-t.bet);t.chips-=n,t.bet+=n,e.pot+=n}function B(e,t){e.actionCounts||={},e.actionCounts[t]=(e.actionCounts[t]||0)+1}function V(e,t){let n=R(e);return n.length===1?_e(e,n[0].address):(e.turnAddress=ve(e,t),H(e))}function _e(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(),H(e)}function ve(e,t){let n=e.players,r=Math.max(0,n.findIndex(e=>e.address===l(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 H(e){return e.seq=Number(e.seq||0)+1,{ok:!0,state:e}}function U(e){if(!e||typeof e!=`object`)return null;let t=l(e.address);return t?{address:t,name:String(e.name||p(t)).slice(0,50),avatar:c(e.avatar),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 W(e){return JSON.parse(JSON.stringify(e))}var G={page:`_page_p8eol_1`,headerActions:`_headerActions_p8eol_12`,entry:`_entry_p8eol_18`,entryBrand:`_entryBrand_p8eol_28`,cardMark:`_cardMark_p8eol_34`,entryPanel:`_entryPanel_p8eol_62`,accountLine:`_accountLine_p8eol_72`,joinForm:`_joinForm_p8eol_89`,status:`_status_p8eol_110`,board:`_board_p8eol_116`,table:`_table_p8eol_123`,tableCenter:`_tableCenter_p8eol_144`,finishBanner:`_finishBanner_p8eol_173`,finishBannerIcon:`_finishBannerIcon_p8eol_192`,seats:`_seats_p8eol_196`,seat:`_seat_p8eol_196`,seatTurn:`_seatTurn_p8eol_218`,seatWinner:`_seatWinner_p8eol_223`,seatFolded:`_seatFolded_p8eol_228`,seatAvatar:`_seatAvatar_p8eol_232`,seatAvatarOffline:`_seatAvatarOffline_p8eol_252`,onlineDot:`_onlineDot_p8eol_257`,seatMain:`_seatMain_p8eol_269`,seatMeta:`_seatMeta_p8eol_270`,panel:`_panel_p8eol_301`,panelSection:`_panelSection_p8eol_308`,panelTitle:`_panelTitle_p8eol_318`,hand:`_hand_p8eol_328`,card:`_card_p8eol_34`,red:`_red_p8eol_362`,black:`_black_p8eol_366`,cardBack:`_cardBack_p8eol_370`,handLabel:`_handLabel_p8eol_391`,actionGrid:`_actionGrid_p8eol_398`,raiseRow:`_raiseRow_p8eol_399`,statusGrid:`_statusGrid_p8eol_410`,muted:`_muted_p8eol_428`,compareOverlay:`_compareOverlay_p8eol_435`,compareBox:`_compareBox_p8eol_447`,compareTitle:`_compareTitle_p8eol_461`,comparePlayers:`_comparePlayers_p8eol_467`,compareSide:`_compareSide_p8eol_474`,compareWinner:`_compareWinner_p8eol_486`,compareName:`_compareName_p8eol_491`,compareCards:`_compareCards_p8eol_502`,compareLabel:`_compareLabel_p8eol_527`,compareVs:`_compareVs_p8eol_533`,compareResult:`_compareResult_p8eol_540`},K=n(),q=`zhajinhua`;function J(...e){return e.filter(Boolean).join(` `)}function Y(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 X(){let{t:e}=h(),t=f(e=>e.addToast),n=a(e=>e.initializeUser),[i,o]=(0,y.useState)(``),[c,l]=(0,y.useState)(!1),u=(0,y.useRef)(``),p=(0,y.useRef)(!1),[m,x]=(0,y.useState)(20),[S,C]=(0,y.useState)(``),[ce,w]=(0,y.useState)({}),[le,T]=(0,y.useState)(!0),[E,D]=(0,y.useState)(!1),O=(0,y.useRef)(null),k=(0,y.useRef)(new Set),A=ie({gameId:q,onError:e=>t(e,`error`),getPlayerPayload:e=>{let t=s(e.danger);return{address:e.address,name:be(e),avatar:e.avatar||``,publicKey:t.public_key,joinedAt:Date.now()}}}),j=(0,y.useMemo)(()=>A.userIdentity?.danger?s(A.userIdentity.danger):null,[A.userIdentity?.danger]);(0,y.useEffect)(()=>{n()},[n]),(0,y.useEffect)(()=>{let e=new URLSearchParams(window.location.search).get(`room`)?.toUpperCase();e&&(o(e),u.current=e)},[]),(0,y.useEffect)(()=>{let n=u.current;!n||p.current||!A.isBackendReady||!A.userIdentity||(p.current=!0,u.current=``,A.joinRoom(n).then(n=>{n&&t(e(`game.toast.joinedRoom`),`success`)}))},[A.isBackendReady,A.userIdentity,A.joinRoom,t,e]),(0,y.useEffect)(()=>{if(!A.roomCode)return;let e=`/game/zhajinhua?room=${A.roomCode}`;`${window.location.pathname}${window.location.search}`!==e&&window.history.replaceState(null,``,e)},[A.roomCode]);let M=(0,y.useMemo)(()=>ne(A.messages,{gameId:q,roomCode:A.roomCode}),[A.messages,A.roomCode]),N=(0,y.useMemo)(()=>re(A.messages,{gameId:q,roomCode:A.roomCode}),[A.messages,A.roomCode])?.payload?.round||null,P=N?.host||M.hostAddress,F=Y(P,A.userIdentity?.address),I=A.userIdentity?.address?.toLowerCase()||``,z=N?.players.find(e=>Y(e.address,I)),B=z||M.players.find(e=>Y(e.address,I)),V=ce[N?.roundId||``]||null,_e=N?.showdown&&I?N.showdown[I]:null,ve=N?.compareReveal&&I?N.compareReveal[I]:null,H=_e||ve||(z?.looked?V:null),U=ge(N,I),W=R(N),X=F&&fe(M.players.map(e=>({...e,chips:N?.players.find(t=>Y(t.address,e.address))?.chips??1e3}))),Q=A.roomCode&&typeof window<`u`?`${window.location.origin}/game/zhajinhua?room=${A.roomCode}`:``;(0,y.useEffect)(()=>{if(!(!N||!A.userIdentity||!j||!P))for(let e of A.roomEvents){let t=e.event;if(!t||t.event!==`deal:private`)continue;let n=t.payload;if(n.roundId!==N.roundId||!Y(n.recipient,A.userIdentity.address))continue;let r=d(n.encrypted||``,{senderPublicKey:n.senderPublicKey||``,recipientPrivateKey:j.private_key});if(r)try{let e=JSON.parse(r);Array.isArray(e)&&w(t=>({...t,[N.roundId]:e.map(String)}))}catch{}}},[N?.roundId,A.roomEvents,A.userIdentity,P,j?.private_key]),(0,y.useEffect)(()=>{if(N?.status===`finished`&&N.winner){T(!0);let e=setTimeout(()=>T(!1),5e3);return()=>clearTimeout(e)}},[N?.finishedAt,N?.status,N?.winner]),(0,y.useEffect)(()=>{if(N?.lastCompare?.timestamp){D(!0);let e=setTimeout(()=>D(!1),5e3);return()=>clearTimeout(e)}else D(!1)},[N?.lastCompare?.timestamp,N?.roundId]),(0,y.useEffect)(()=>{if(!F||!N||N.status!==`playing`)return;let e=O.current;if(!e)return;let t=A.roomEvents.filter(e=>{let t=e.event;if(!t||t.event!==`player:action`)return!1;let n=t.payload.actionEvent;return!(!n||n.roundId!==N.roundId||k.current.has(n.eventId)||N.appliedEventIds?.includes(n.eventId))});if(t.length===0)return;let n=!1;async function r(){let r=he(N,e);if(r)for(let e of t){if(n)return;let t=(e.event?.payload).actionEvent,i=L(r,t,e.message.author);if(!i.ok){let n=e.message.author;if(!Y(n,A.userIdentity?.address)&&r.status===`playing`&&Y(r.turnAddress,n)){let e=L(r,de({roundId:r.roundId,action:`call`,amount:void 0,target:void 0}),n);if(e.ok)i=e;else{let e=L(r,de({roundId:r.roundId,action:`fold`,amount:void 0,target:void 0}),n);e.ok&&(i=e)}}if(!i.ok){k.current.add(t.eventId);continue}}if(r=i.state,O.current=i.state.hands,await De(i.state)&&k.current.add(t.eventId),i.state.status===`finished`)break}}return r(),()=>{n=!0}},[N?.roundId,N?.seq,N?.status,A.roomEvents,F]);async function we(){await A.createRoom()&&t(e(`game.toast.roomCreated`),`success`)}async function Te(n){n.preventDefault(),await A.joinRoom(i)&&t(e(`game.toast.joinedRoom`),`success`)}async function Ee(){Q&&(await navigator.clipboard.writeText(Q),l(!0),setTimeout(()=>l(!1),1400))}async function De(e){return A.sendRoomEvent(`room:state`,{round:me(e),seq:e.seq})}async function Oe(){if(!A.userIdentity||!j||!X){t(e(`game.zhajinhua.error.notEnoughPlayers`),`error`);return}try{let n=M.players.map(e=>({...e,chips:N?.players.find(t=>Y(t.address,e.address))?.chips??1e3})),i=pe({roomCode:A.roomCode,players:n,hostAddress:A.userIdentity.address,previousSeq:N?.seq||0,previousWinner:N?.winner||``});O.current=i.hands,k.current.clear(),await De(i);for(let e of i.players){let t=r(JSON.stringify(i.hands[e.address]),{senderPrivateKey:j.private_key,recipientPublicKey:e.publicKey});await A.sendRoomEvent(`deal:private`,{roundId:i.roundId,recipient:e.address,senderPublicKey:j.public_key,encrypted:t})}w(e=>({...e,[i.roundId]:i.hands[A.userIdentity.address.toLowerCase()]})),t(e(`game.zhajinhua.toast.roundStarted`),`success`)}catch(n){t(n instanceof Error?n.message:e(`game.zhajinhua.error.startFailed`),`error`)}}async function $(e,t={}){if(!N||!A.userIdentity)return;let n=de({roundId:N.roundId,action:e,amount:t.amount,target:t.target});await A.sendRoomEvent(`player:action`,{actionEvent:n})}let ke=N?.status===`playing`?Y(N.turnAddress,I)?e(`game.zhajinhua.status.yourTurn`):N.turnAddress?e(`game.zhajinhua.status.waitingPlayer`,{player:Z(N.turnAddress,M.players,A.presenceByAddress)}):e(`game.status.playing`):N?.status===`finished`?e(`game.status.finished`):e(`game.status.waitingStart`),Ae=W.filter(e=>!Y(e.address,I));return(0,K.jsx)(_,{sidebar:({closeSidebar:e})=>(0,K.jsx)(te,{activeGame:`zhajinhua`,closeSidebar:e}),headerTitle:(0,K.jsx)(`h2`,{className:`header-title`,children:e(`game.zhajinhua.title`)}),headerRight:(0,K.jsx)(`div`,{className:G.headerActions,children:A.roomCode&&(0,K.jsxs)(`button`,{className:`btn btn-sm`,onClick:Ee,children:[(0,K.jsx)(g,{size:14}),e(c?`common.copied`:`game.action.shareRoom`)]})}),children:(0,K.jsx)(`main`,{className:G.page,children:A.roomCode?(0,K.jsxs)(`div`,{className:G.board,children:[(0,K.jsxs)(`section`,{className:G.table,children:[N?.status===`finished`&&N.winner&&le&&(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:Z(N.winner,M.players,A.presenceByAddress),amount:N.winAmount??0})})]}),N?.lastCompare&&E&&(0,K.jsx)(Se,{lastCompare:N.lastCompare,compareReveal:N.compareReveal||{},myAddress:I,myDealtHand:V,lobbyPlayers:M.players,presenceByAddress:A.presenceByAddress,onClose:()=>D(!1)}),(0,K.jsxs)(`div`,{className:G.tableCenter,children:[(0,K.jsx)(`span`,{children:e(`game.zhajinhua.pot`)}),(0,K.jsx)(`strong`,{children:N?.pot||0}),(0,K.jsx)(`small`,{children:e(`game.zhajinhua.currentBet`,{amount:N?.currentBet||0})})]}),(0,K.jsx)(`div`,{className:G.seats,children:M.players.map(t=>{let n=N?.players.find(e=>Y(e.address,t.address)),r=Ce(t,A.presenceByAddress,A.onlineAddresses),i=N?.turnAddress===t.address,a=N?.winner===t.address,o=n?.status===`folded`;return(0,K.jsxs)(`div`,{className:J(G.seat,i&&G.seatTurn,a&&G.seatWinner,o&&G.seatFolded),children:[(0,K.jsxs)(`div`,{className:J(G.seatAvatar,!r.online&&G.seatAvatarOffline),children:[(0,K.jsx)(`img`,{src:oe(t.address,r.avatar),alt:``}),r.online&&(0,K.jsx)(`span`,{className:G.onlineDot})]}),(0,K.jsxs)(`div`,{className:G.seatMain,children:[(0,K.jsx)(`strong`,{translate:`no`,children:r.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(N?`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)(v,{size:16}),(0,K.jsx)(`span`,{children:e(`game.zhajinhua.myHand`)})]}),(0,K.jsx)(`div`,{className:G.hand,children:H?H.map(e=>{let t=xe(e),n=`${t.suit}${t.rank}`;return(0,K.jsxs)(`div`,{className:J(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)(v,{size:18})},e))}),(0,K.jsx)(`p`,{className:G.handLabel,children:H?ue(H):e(V?`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)(ee,{size:16}),(0,K.jsx)(`span`,{children:e(`game.actions`)})]}),F?(0,K.jsxs)(`button`,{className:`btn btn-primary btn-full`,onClick:Oe,disabled:!X||N?.status===`playing`,children:[(0,K.jsx)(se,{size:16}),N?.status===`finished`?e(`game.action.nextRound`):e(`game.action.startRound`)]}):(0,K.jsx)(`p`,{className:G.muted,children:e(`game.waitingHost`)}),F&&N?.status===`finished`&&!X&&(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:!U.includes(`look`),onClick:()=>$(`look`),children:[(0,K.jsx)(ae,{size:16}),e(`game.zhajinhua.action.look`)]}),(0,K.jsx)(`button`,{className:`btn btn-secondary`,disabled:!U.includes(`call`),onClick:()=>$(`call`),children:e(`game.zhajinhua.action.call`)}),(0,K.jsx)(`button`,{className:`btn btn-secondary`,disabled:!U.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:m,onChange:e=>x(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:!U.includes(`raise`),onClick:()=>$(`raise`,{amount:m}),children:e(`game.zhajinhua.action.raise`)})]}),(0,K.jsxs)(`div`,{className:G.raiseRow,children:[(0,K.jsxs)(`select`,{className:`input input-compact`,value:S,onChange:e=>C(e.target.value),children:[(0,K.jsx)(`option`,{value:``,children:e(`game.zhajinhua.action.comparePlaceholder`)}),Ae.map(e=>(0,K.jsx)(`option`,{value:e.address,children:Z(e.address,Ae,A.presenceByAddress)},e.address))]}),(0,K.jsx)(`button`,{className:`btn btn-secondary`,disabled:!U.includes(`compare`)||!S,onClick:()=>$(`compare`,{target:S}),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:P?ye(P):`-`}),(0,K.jsx)(`span`,{children:e(`game.zhajinhua.myChips`)}),(0,K.jsx)(`strong`,{children:B?.chips??1e3}),(0,K.jsx)(`span`,{children:e(`game.round`)}),(0,K.jsx)(`strong`,{children:ke}),(0,K.jsx)(`span`,{children:e(`game.hint`)}),(0,K.jsx)(`strong`,{children:N?.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)(v,{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:A.userIdentity?.displayName||e(`web3.notSignedIn`)})]}),(0,K.jsxs)(`button`,{className:`btn btn-primary`,disabled:A.joining,onClick:we,children:[(0,K.jsx)(ee,{size:16}),e(`game.action.createRoom`)]}),(0,K.jsxs)(`form`,{onSubmit:Te,className:G.joinForm,children:[(0,K.jsxs)(`label`,{children:[e(`game.roomCode`),(0,K.jsx)(`input`,{value:i,maxLength:8,onChange:e=>o(e.target.value.toUpperCase()),placeholder:e(`game.roomCode.placeholder`)})]}),(0,K.jsx)(`button`,{className:`btn`,disabled:A.joining||!i,children:e(`game.action.joinRoom`)})]}),(0,K.jsx)(`p`,{className:G.status,children:A.isBackendReady?e(`game.status.nodeConnected`):e(`game.status.nodeConnecting`)})]})]})})})}function Se({lastCompare:e,compareReveal:t,myAddress:n,myDealtHand:r,lobbyPlayers:i,presenceByAddress:a,onClose:o}){let{t:s}=h(),c=Z(e.initiator,i,a),l=Z(e.target,i,a),u=Z(e.winner,i,a),d=Y(n,e.initiator),f=Y(n,e.target),p=d||f;function m(e,i){return t[e]||(p&&Y(e,n)&&i&&r?r:null)}let g=m(e.initiator,e.initiatorLooked),_=m(e.target,e.targetLooked);return(0,K.jsx)(`div`,{className:G.compareOverlay,onClick:o,children:(0,K.jsxs)(`div`,{className:G.compareBox,onClick:e=>e.stopPropagation(),children:[(0,K.jsx)(`div`,{className:G.compareTitle,children:s(`game.zhajinhua.compareResult`)}),(0,K.jsxs)(`div`,{className:G.comparePlayers,children:[(0,K.jsxs)(`div`,{className:J(G.compareSide,Y(e.winner,e.initiator)&&G.compareWinner),children:[(0,K.jsx)(`div`,{className:G.compareName,children:c}),(0,K.jsx)(`div`,{className:G.compareCards,children:g?g.map(e=>{let t=xe(e);return(0,K.jsxs)(`div`,{className:J(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)(v,{size:18})},e))}),g&&(0,K.jsx)(`div`,{className:G.compareLabel,children:ue(g)})]}),(0,K.jsx)(`div`,{className:G.compareVs,children:`VS`}),(0,K.jsxs)(`div`,{className:J(G.compareSide,Y(e.winner,e.target)&&G.compareWinner),children:[(0,K.jsx)(`div`,{className:G.compareName,children:l}),(0,K.jsx)(`div`,{className:G.compareCards,children:_?_.map(e=>{let t=xe(e);return(0,K.jsxs)(`div`,{className:J(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)(v,{size:18})},e))}),_&&(0,K.jsx)(`div`,{className:G.compareLabel,children:ue(_)})]})]}),(0,K.jsx)(`div`,{className:G.compareResult,children:s(`game.zhajinhua.result.winner`,{player:u})}),(0,K.jsx)(`button`,{className:`btn btn-sm`,onClick:o,children:s(`common.close`)})]})})}function Z(e,t,n){let r=Q(e);return n.get(r)?.displayName||t.find(e=>Q(e.address)===r)?.name||ye(e)}function Q(e=``){return String(e||``).trim().toLowerCase()}function Ce(e,t,n){let r=Q(e.address),i=t.get(r);return{name:Z(e.address,[e],t),avatar:i?.avatar||e.avatar||``,online:r?n.has(r):!1}}var we=o(`/game/zhajinhua/`)({component:X});export{we as Route};
|
|
1
|
+
import{n as e,o as t,t as n}from"./jsx-runtime-Bt-cYkS5.js";import{A as r,B as i,E as a,H as o,O as s,_ as c,g as l,h as u,k as d,t as f,x as p,y as m}from"./useAppStore-Pjif7nCR.js";import{a as h}from"./i18n-BPfshhQc.js";import{t as g}from"./copy-BofKiKH_.js";import{t as _}from"./AppShell-kfQyRhZy.js";import{t as ee}from"./play-B6IGTGxm.js";import{a as v,i as te,n as ne,r as re,t as ie}from"./useGameRoom-BHZNzWJt.js";import{M as ae,g as oe}from"./index-AZPpawN1.js";var se=i(`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`],C=new Map(x.map((e,t)=>[e,t+2])),ce=new Map(S.map((e,t)=>[e,t+1])),w={high:1,pair:2,straight:3,flush:4,straightFlush:5,triple:6},le={[w.high]:`散牌`,[w.pair]:`对子`,[w.straight]:`顺子`,[w.flush]:`金花`,[w.straightFlush]:`顺金`,[w.triple]:`豹子`};function T(e){return m(e)}function E(e=`zhajinhua`){return u(e)}function D(){return E(`round`)}function O(){let e=[];for(let t of S)for(let n of x)e.push(`${n}${t}`);return e}function k(e=O(),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 A(e){let t=String(e||``).trim().toUpperCase(),n=t.slice(-1),r=t.slice(0,-1);if(!C.has(r)||!ce.has(n))throw Error(`Invalid card: ${e}`);return{id:`${r}${n}`,rank:r,suit:n,rankValue:C.get(r),suitValue:ce.get(n)}}function j(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 M(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 N(e){if(!Array.isArray(e)||e.length!==3)throw Error(`炸金花手牌必须是 3 张牌`);let t=e.map(A),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=M(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:le[c],tiebreakers:l,tieSuit:s,cards:t.map(e=>e.id)}}function P(e,t){let n=N(e),r=N(t);if(n.category!==r.category)return n.category-r.category;let i=j(n.tiebreakers,r.tiebreakers);return i===0?n.tieSuit-r.tieSuit:i}function ue(e){return N(e).label}function de({roundId:e,action:t,amount:n,target:r}){return{roundId:e,eventId:E(`action`),action:t,amount:n,target:r}}function fe(e=[]){let t=e.filter(e=>Number(e.chips)>=10);return t.length>=2&&t.length<=5}function pe({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 u=k(O(),o),d={},f=s.map((e,t)=>{let n=u.slice(t*3,t*3+3);return d[e.address]=n,{address:e.address,name:e.name,avatar:c(e.avatar),publicKey:e.publicKey,chips:Number(e.chips)-10,status:`active`,looked:!1,bet:10}}),p,m=l(i),h=m?f.findIndex(e=>l(e.address)===m):-1;return p=h>=0?f[h].address:f[Math.floor(o()*f.length)].address,{roomCode:T(e),roundId:a,status:`playing`,host:l(n),seq:r+1,startedAt:Date.now(),ante:10,pot:10*f.length,currentBet:10,turnAddress:p,players:f,lastAction:`本局开始`,winner:null,showdown:null,appliedEventIds:[],hands:d,actionCounts:{},compareReveal:{}}}function me(e){if(!e)return null;let t={...e};return delete t.hands,W(t)}function he(e,t){let n=F(e);return!n||!t||typeof t!=`object`?null:{...n,hands:W(t)}}function F(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:l(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:l(e.turnAddress),players:e.players.map(U).filter(Boolean),lastAction:String(e.lastAction||``),winner:e.winner?l(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 I(e,t,n){let r=F(e);if(!r||r.status!==`playing`)return{ok:!1,error:`当前没有进行中的牌局`};let i=l(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=l(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 L(e,t,n){let r=I(e,t,n);if(!r.ok)return{ok:!1,error:r.error,state:e};let i=W(e),a=l(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} 看牌`,H(i);if(t.action===`fold`)return o.status=`folded`,i.lastAction=`${o.name} 弃牌`,B(i,a),V(i,a);if(t.action===`call`)return o.chips-=10,o.bet+=10,i.pot+=10,i.lastAction=`${o.name} 跟注`,B(i,a),V(i,a);if(t.action===`raise`){let e=Number(t.amount);return i.currentBet+=e,z(i,o),i.lastAction=`${o.name} 加注 ${e}`,B(i,a),V(i,a)}if(t.action===`compare`){z(i,o);let e=l(t.target),n=i.players.find(t=>t.address===e),r=o.looked,s=n.looked,c=P(i.hands?.[a]||[],i.hands?.[e]||[]),u=c>=0?o:n,d=c>=0?n:o;d.status=`folded`,d.looked=!0,i.compareReveal||={};let f=r&&s,p=!r&&!s;if(f)i.compareReveal[a]=i.hands?.[e]||[],i.compareReveal[e]=i.hands?.[a]||[];else if(p)i.compareReveal[d.address]=i.hands?.[u.address]||[];else{let e=r?o:n,t=r?n:o;i.compareReveal[e.address]=i.hands?.[t.address]||[],i.compareReveal[d.address]=i.hands?.[u.address]||[]}return i.lastCompare={initiator:a,target:e,winner:u.address,loser:d.address,initiatorLooked:r,targetLooked:s,timestamp:Date.now()},i.lastAction=`${o.name} 与 ${n.name} 比牌,${d.name} 出局`,B(i,a),V(i,a)}return{ok:!1,error:`未知操作`,state:e}}function R(e){return(e?.players||[]).filter(e=>e.status===`active`)}function ge(e,t){let n=(e?.players||[]).find(e=>e.address===l(t));if(!e||e.status!==`playing`||!n||n.status!==`active`||e.turnAddress!==n.address)return[];let r=[];return n.looked||r.push(`look`),I(e,{action:`call`},n.address).ok&&r.push(`call`),b.some(t=>I(e,{action:`raise`,amount:t},n.address).ok)&&r.push(`raise`),R(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 z(e,t){let n=Math.max(0,e.currentBet-t.bet);t.chips-=n,t.bet+=n,e.pot+=n}function B(e,t){e.actionCounts||={},e.actionCounts[t]=(e.actionCounts[t]||0)+1}function V(e,t){let n=R(e);return n.length===1?_e(e,n[0].address):(e.turnAddress=ve(e,t),H(e))}function _e(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(),H(e)}function ve(e,t){let n=e.players,r=Math.max(0,n.findIndex(e=>e.address===l(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 H(e){return e.seq=Number(e.seq||0)+1,{ok:!0,state:e}}function U(e){if(!e||typeof e!=`object`)return null;let t=l(e.address);return t?{address:t,name:String(e.name||p(t)).slice(0,50),avatar:c(e.avatar),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 W(e){return JSON.parse(JSON.stringify(e))}var G={page:`_page_p8eol_1`,headerActions:`_headerActions_p8eol_12`,entry:`_entry_p8eol_18`,entryBrand:`_entryBrand_p8eol_28`,cardMark:`_cardMark_p8eol_34`,entryPanel:`_entryPanel_p8eol_62`,accountLine:`_accountLine_p8eol_72`,joinForm:`_joinForm_p8eol_89`,status:`_status_p8eol_110`,board:`_board_p8eol_116`,table:`_table_p8eol_123`,tableCenter:`_tableCenter_p8eol_144`,finishBanner:`_finishBanner_p8eol_173`,finishBannerIcon:`_finishBannerIcon_p8eol_192`,seats:`_seats_p8eol_196`,seat:`_seat_p8eol_196`,seatTurn:`_seatTurn_p8eol_218`,seatWinner:`_seatWinner_p8eol_223`,seatFolded:`_seatFolded_p8eol_228`,seatAvatar:`_seatAvatar_p8eol_232`,seatAvatarOffline:`_seatAvatarOffline_p8eol_252`,onlineDot:`_onlineDot_p8eol_257`,seatMain:`_seatMain_p8eol_269`,seatMeta:`_seatMeta_p8eol_270`,panel:`_panel_p8eol_301`,panelSection:`_panelSection_p8eol_308`,panelTitle:`_panelTitle_p8eol_318`,hand:`_hand_p8eol_328`,card:`_card_p8eol_34`,red:`_red_p8eol_362`,black:`_black_p8eol_366`,cardBack:`_cardBack_p8eol_370`,handLabel:`_handLabel_p8eol_391`,actionGrid:`_actionGrid_p8eol_398`,raiseRow:`_raiseRow_p8eol_399`,statusGrid:`_statusGrid_p8eol_410`,muted:`_muted_p8eol_428`,compareOverlay:`_compareOverlay_p8eol_435`,compareBox:`_compareBox_p8eol_447`,compareTitle:`_compareTitle_p8eol_461`,comparePlayers:`_comparePlayers_p8eol_467`,compareSide:`_compareSide_p8eol_474`,compareWinner:`_compareWinner_p8eol_486`,compareName:`_compareName_p8eol_491`,compareCards:`_compareCards_p8eol_502`,compareLabel:`_compareLabel_p8eol_527`,compareVs:`_compareVs_p8eol_533`,compareResult:`_compareResult_p8eol_540`},K=n(),q=`zhajinhua`;function J(...e){return e.filter(Boolean).join(` `)}function Y(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 X(){let{t:e}=h(),t=f(e=>e.addToast),n=a(e=>e.initializeUser),[i,o]=(0,y.useState)(``),[c,l]=(0,y.useState)(!1),u=(0,y.useRef)(``),p=(0,y.useRef)(!1),[m,x]=(0,y.useState)(20),[S,C]=(0,y.useState)(``),[ce,w]=(0,y.useState)({}),[le,T]=(0,y.useState)(!0),[E,D]=(0,y.useState)(!1),O=(0,y.useRef)(null),k=(0,y.useRef)(new Set),A=ie({gameId:q,onError:e=>t(e,`error`),getPlayerPayload:e=>{let t=s(e.danger);return{address:e.address,name:be(e),avatar:e.avatar||``,publicKey:t.public_key,joinedAt:Date.now()}}}),j=(0,y.useMemo)(()=>A.userIdentity?.danger?s(A.userIdentity.danger):null,[A.userIdentity?.danger]);(0,y.useEffect)(()=>{n()},[n]),(0,y.useEffect)(()=>{let e=new URLSearchParams(window.location.search).get(`room`)?.toUpperCase();e&&(o(e),u.current=e)},[]),(0,y.useEffect)(()=>{let n=u.current;!n||p.current||!A.isBackendReady||!A.userIdentity||(p.current=!0,u.current=``,A.joinRoom(n).then(n=>{n&&t(e(`game.toast.joinedRoom`),`success`)}))},[A.isBackendReady,A.userIdentity,A.joinRoom,t,e]),(0,y.useEffect)(()=>{if(!A.roomCode)return;let e=`/game/zhajinhua?room=${A.roomCode}`;`${window.location.pathname}${window.location.search}`!==e&&window.history.replaceState(null,``,e)},[A.roomCode]);let M=(0,y.useMemo)(()=>ne(A.messages,{gameId:q,roomCode:A.roomCode}),[A.messages,A.roomCode]),N=(0,y.useMemo)(()=>re(A.messages,{gameId:q,roomCode:A.roomCode}),[A.messages,A.roomCode])?.payload?.round||null,P=N?.host||M.hostAddress,F=Y(P,A.userIdentity?.address),I=A.userIdentity?.address?.toLowerCase()||``,z=N?.players.find(e=>Y(e.address,I)),B=z||M.players.find(e=>Y(e.address,I)),V=ce[N?.roundId||``]||null,_e=N?.showdown&&I?N.showdown[I]:null,ve=N?.compareReveal&&I?N.compareReveal[I]:null,H=_e||ve||(z?.looked?V:null),U=ge(N,I),W=R(N),X=F&&fe(M.players.map(e=>({...e,chips:N?.players.find(t=>Y(t.address,e.address))?.chips??1e3}))),Q=A.roomCode&&typeof window<`u`?`${window.location.origin}/game/zhajinhua?room=${A.roomCode}`:``;(0,y.useEffect)(()=>{if(!(!N||!A.userIdentity||!j||!P))for(let e of A.roomEvents){let t=e.event;if(!t||t.event!==`deal:private`)continue;let n=t.payload;if(n.roundId!==N.roundId||!Y(n.recipient,A.userIdentity.address))continue;let r=d(n.encrypted||``,{senderPublicKey:n.senderPublicKey||``,recipientPrivateKey:j.private_key});if(r)try{let e=JSON.parse(r);Array.isArray(e)&&w(t=>({...t,[N.roundId]:e.map(String)}))}catch{}}},[N?.roundId,A.roomEvents,A.userIdentity,P,j?.private_key]),(0,y.useEffect)(()=>{if(N?.status===`finished`&&N.winner){T(!0);let e=setTimeout(()=>T(!1),5e3);return()=>clearTimeout(e)}},[N?.finishedAt,N?.status,N?.winner]),(0,y.useEffect)(()=>{if(N?.lastCompare?.timestamp){D(!0);let e=setTimeout(()=>D(!1),5e3);return()=>clearTimeout(e)}else D(!1)},[N?.lastCompare?.timestamp,N?.roundId]),(0,y.useEffect)(()=>{if(!F||!N||N.status!==`playing`)return;let e=O.current;if(!e)return;let t=A.roomEvents.filter(e=>{let t=e.event;if(!t||t.event!==`player:action`)return!1;let n=t.payload.actionEvent;return!(!n||n.roundId!==N.roundId||k.current.has(n.eventId)||N.appliedEventIds?.includes(n.eventId))});if(t.length===0)return;let n=!1;async function r(){let r=he(N,e);if(r)for(let e of t){if(n)return;let t=(e.event?.payload).actionEvent,i=L(r,t,e.message.author);if(!i.ok){let n=e.message.author;if(!Y(n,A.userIdentity?.address)&&r.status===`playing`&&Y(r.turnAddress,n)){let e=L(r,de({roundId:r.roundId,action:`call`,amount:void 0,target:void 0}),n);if(e.ok)i=e;else{let e=L(r,de({roundId:r.roundId,action:`fold`,amount:void 0,target:void 0}),n);e.ok&&(i=e)}}if(!i.ok){k.current.add(t.eventId);continue}}if(r=i.state,O.current=i.state.hands,await De(i.state)&&k.current.add(t.eventId),i.state.status===`finished`)break}}return r(),()=>{n=!0}},[N?.roundId,N?.seq,N?.status,A.roomEvents,F]);async function we(){await A.createRoom()&&t(e(`game.toast.roomCreated`),`success`)}async function Te(n){n.preventDefault(),await A.joinRoom(i)&&t(e(`game.toast.joinedRoom`),`success`)}async function Ee(){Q&&(await navigator.clipboard.writeText(Q),l(!0),setTimeout(()=>l(!1),1400))}async function De(e){return A.sendRoomEvent(`room:state`,{round:me(e),seq:e.seq})}async function Oe(){if(!A.userIdentity||!j||!X){t(e(`game.zhajinhua.error.notEnoughPlayers`),`error`);return}try{let n=M.players.map(e=>({...e,chips:N?.players.find(t=>Y(t.address,e.address))?.chips??1e3})),i=pe({roomCode:A.roomCode,players:n,hostAddress:A.userIdentity.address,previousSeq:N?.seq||0,previousWinner:N?.winner||``});O.current=i.hands,k.current.clear(),await De(i);for(let e of i.players){let t=r(JSON.stringify(i.hands[e.address]),{senderPrivateKey:j.private_key,recipientPublicKey:e.publicKey});await A.sendRoomEvent(`deal:private`,{roundId:i.roundId,recipient:e.address,senderPublicKey:j.public_key,encrypted:t})}w(e=>({...e,[i.roundId]:i.hands[A.userIdentity.address.toLowerCase()]})),t(e(`game.zhajinhua.toast.roundStarted`),`success`)}catch(n){t(n instanceof Error?n.message:e(`game.zhajinhua.error.startFailed`),`error`)}}async function $(e,t={}){if(!N||!A.userIdentity)return;let n=de({roundId:N.roundId,action:e,amount:t.amount,target:t.target});await A.sendRoomEvent(`player:action`,{actionEvent:n})}let ke=N?.status===`playing`?Y(N.turnAddress,I)?e(`game.zhajinhua.status.yourTurn`):N.turnAddress?e(`game.zhajinhua.status.waitingPlayer`,{player:Z(N.turnAddress,M.players,A.presenceByAddress)}):e(`game.status.playing`):N?.status===`finished`?e(`game.status.finished`):e(`game.status.waitingStart`),Ae=W.filter(e=>!Y(e.address,I));return(0,K.jsx)(_,{sidebar:({closeSidebar:e})=>(0,K.jsx)(te,{activeGame:`zhajinhua`,closeSidebar:e}),headerTitle:(0,K.jsx)(`h2`,{className:`header-title`,children:e(`game.zhajinhua.title`)}),headerRight:(0,K.jsx)(`div`,{className:G.headerActions,children:A.roomCode&&(0,K.jsxs)(`button`,{className:`btn btn-sm`,onClick:Ee,children:[(0,K.jsx)(g,{size:14}),e(c?`common.copied`:`game.action.shareRoom`)]})}),children:(0,K.jsx)(`main`,{className:G.page,children:A.roomCode?(0,K.jsxs)(`div`,{className:G.board,children:[(0,K.jsxs)(`section`,{className:G.table,children:[N?.status===`finished`&&N.winner&&le&&(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:Z(N.winner,M.players,A.presenceByAddress),amount:N.winAmount??0})})]}),N?.lastCompare&&E&&(0,K.jsx)(Se,{lastCompare:N.lastCompare,compareReveal:N.compareReveal||{},myAddress:I,myDealtHand:V,lobbyPlayers:M.players,presenceByAddress:A.presenceByAddress,onClose:()=>D(!1)}),(0,K.jsxs)(`div`,{className:G.tableCenter,children:[(0,K.jsx)(`span`,{children:e(`game.zhajinhua.pot`)}),(0,K.jsx)(`strong`,{children:N?.pot||0}),(0,K.jsx)(`small`,{children:e(`game.zhajinhua.currentBet`,{amount:N?.currentBet||0})})]}),(0,K.jsx)(`div`,{className:G.seats,children:M.players.map(t=>{let n=N?.players.find(e=>Y(e.address,t.address)),r=Ce(t,A.presenceByAddress,A.onlineAddresses),i=N?.turnAddress===t.address,a=N?.winner===t.address,o=n?.status===`folded`;return(0,K.jsxs)(`div`,{className:J(G.seat,i&&G.seatTurn,a&&G.seatWinner,o&&G.seatFolded),children:[(0,K.jsxs)(`div`,{className:J(G.seatAvatar,!r.online&&G.seatAvatarOffline),children:[(0,K.jsx)(`img`,{src:oe(t.address,r.avatar),alt:``}),r.online&&(0,K.jsx)(`span`,{className:G.onlineDot})]}),(0,K.jsxs)(`div`,{className:G.seatMain,children:[(0,K.jsx)(`strong`,{translate:`no`,children:r.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(N?`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)(v,{size:16}),(0,K.jsx)(`span`,{children:e(`game.zhajinhua.myHand`)})]}),(0,K.jsx)(`div`,{className:G.hand,children:H?H.map(e=>{let t=xe(e),n=`${t.suit}${t.rank}`;return(0,K.jsxs)(`div`,{className:J(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)(v,{size:18})},e))}),(0,K.jsx)(`p`,{className:G.handLabel,children:H?ue(H):e(V?`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)(ee,{size:16}),(0,K.jsx)(`span`,{children:e(`game.actions`)})]}),F?(0,K.jsxs)(`button`,{className:`btn btn-primary btn-full`,onClick:Oe,disabled:!X||N?.status===`playing`,children:[(0,K.jsx)(se,{size:16}),N?.status===`finished`?e(`game.action.nextRound`):e(`game.action.startRound`)]}):(0,K.jsx)(`p`,{className:G.muted,children:e(`game.waitingHost`)}),F&&N?.status===`finished`&&!X&&(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:!U.includes(`look`),onClick:()=>$(`look`),children:[(0,K.jsx)(ae,{size:16}),e(`game.zhajinhua.action.look`)]}),(0,K.jsx)(`button`,{className:`btn btn-secondary`,disabled:!U.includes(`call`),onClick:()=>$(`call`),children:e(`game.zhajinhua.action.call`)}),(0,K.jsx)(`button`,{className:`btn btn-secondary`,disabled:!U.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:m,onChange:e=>x(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:!U.includes(`raise`),onClick:()=>$(`raise`,{amount:m}),children:e(`game.zhajinhua.action.raise`)})]}),(0,K.jsxs)(`div`,{className:G.raiseRow,children:[(0,K.jsxs)(`select`,{className:`input input-compact`,value:S,onChange:e=>C(e.target.value),children:[(0,K.jsx)(`option`,{value:``,children:e(`game.zhajinhua.action.comparePlaceholder`)}),Ae.map(e=>(0,K.jsx)(`option`,{value:e.address,children:Z(e.address,Ae,A.presenceByAddress)},e.address))]}),(0,K.jsx)(`button`,{className:`btn btn-secondary`,disabled:!U.includes(`compare`)||!S,onClick:()=>$(`compare`,{target:S}),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:P?ye(P):`-`}),(0,K.jsx)(`span`,{children:e(`game.zhajinhua.myChips`)}),(0,K.jsx)(`strong`,{children:B?.chips??1e3}),(0,K.jsx)(`span`,{children:e(`game.round`)}),(0,K.jsx)(`strong`,{children:ke}),(0,K.jsx)(`span`,{children:e(`game.hint`)}),(0,K.jsx)(`strong`,{children:N?.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)(v,{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:A.userIdentity?.displayName||e(`web3.notSignedIn`)})]}),(0,K.jsxs)(`button`,{className:`btn btn-primary`,disabled:A.joining,onClick:we,children:[(0,K.jsx)(ee,{size:16}),e(`game.action.createRoom`)]}),(0,K.jsxs)(`form`,{onSubmit:Te,className:G.joinForm,children:[(0,K.jsxs)(`label`,{children:[e(`game.roomCode`),(0,K.jsx)(`input`,{value:i,maxLength:8,onChange:e=>o(e.target.value.toUpperCase()),placeholder:e(`game.roomCode.placeholder`)})]}),(0,K.jsx)(`button`,{className:`btn`,disabled:A.joining||!i,children:e(`game.action.joinRoom`)})]}),(0,K.jsx)(`p`,{className:G.status,children:A.isBackendReady?e(`game.status.nodeConnected`):e(`game.status.nodeConnecting`)})]})]})})})}function Se({lastCompare:e,compareReveal:t,myAddress:n,myDealtHand:r,lobbyPlayers:i,presenceByAddress:a,onClose:o}){let{t:s}=h(),c=Z(e.initiator,i,a),l=Z(e.target,i,a),u=Z(e.winner,i,a),d=Y(n,e.initiator),f=Y(n,e.target),p=d||f;function m(e,i){return t[e]||(p&&Y(e,n)&&i&&r?r:null)}let g=m(e.initiator,e.initiatorLooked),_=m(e.target,e.targetLooked);return(0,K.jsx)(`div`,{className:G.compareOverlay,onClick:o,children:(0,K.jsxs)(`div`,{className:G.compareBox,onClick:e=>e.stopPropagation(),children:[(0,K.jsx)(`div`,{className:G.compareTitle,children:s(`game.zhajinhua.compareResult`)}),(0,K.jsxs)(`div`,{className:G.comparePlayers,children:[(0,K.jsxs)(`div`,{className:J(G.compareSide,Y(e.winner,e.initiator)&&G.compareWinner),children:[(0,K.jsx)(`div`,{className:G.compareName,children:c}),(0,K.jsx)(`div`,{className:G.compareCards,children:g?g.map(e=>{let t=xe(e);return(0,K.jsxs)(`div`,{className:J(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)(v,{size:18})},e))}),g&&(0,K.jsx)(`div`,{className:G.compareLabel,children:ue(g)})]}),(0,K.jsx)(`div`,{className:G.compareVs,children:`VS`}),(0,K.jsxs)(`div`,{className:J(G.compareSide,Y(e.winner,e.target)&&G.compareWinner),children:[(0,K.jsx)(`div`,{className:G.compareName,children:l}),(0,K.jsx)(`div`,{className:G.compareCards,children:_?_.map(e=>{let t=xe(e);return(0,K.jsxs)(`div`,{className:J(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)(v,{size:18})},e))}),_&&(0,K.jsx)(`div`,{className:G.compareLabel,children:ue(_)})]})]}),(0,K.jsx)(`div`,{className:G.compareResult,children:s(`game.zhajinhua.result.winner`,{player:u})}),(0,K.jsx)(`button`,{className:`btn btn-sm`,onClick:o,children:s(`common.close`)})]})})}function Z(e,t,n){let r=Q(e);return n.get(r)?.displayName||t.find(e=>Q(e.address)===r)?.name||ye(e)}function Q(e=``){return String(e||``).trim().toLowerCase()}function Ce(e,t,n){let r=Q(e.address),i=t.get(r);return{name:Z(e.address,[e],t),avatar:i?.avatar||e.avatar||``,online:r?n.has(r):!1}}var we=o(`/game/zhajinhua/`)({component:X});export{we as Route};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,o as t,r as n,t as r}from"./jsx-runtime-Bt-cYkS5.js";import{B as i,H as a,d as o,n as s,o as c,t as l,u}from"./useAppStore-Pjif7nCR.js";import{a as d}from"./i18n-
|
|
1
|
+
import{n as e,o as t,r as n,t as r}from"./jsx-runtime-Bt-cYkS5.js";import{B as i,H as a,d as o,n as s,o as c,t as l,u}from"./useAppStore-Pjif7nCR.js";import{a as d}from"./i18n-BPfshhQc.js";import{t as f}from"./triangle-alert-D8P4Ikwc.js";import{t as p}from"./arrow-up-down-gcWLrYup.js";import{n as m,t as h}from"./trash-2-DQI0V0Rl.js";import{t as g}from"./download-nQ9X-v0q.js";import{t as _}from"./file-text-f1ij7Al1.js";import{t as v}from"./hard-drive-CMNAmPI5.js";import{t as ee}from"./refresh-cw-Bxmcm8cn.js";import{t as te}from"./save-CQyJvrmI.js";import{t as ne}from"./shield-check-Cq1PKT30.js";import{t as re}from"./wifi-B1v_i_dr.js";import{I as ie,b as ae,k as oe,x as se}from"./index-AZPpawN1.js";import{t as y}from"./dayjs.min-Dcc0B6Je.js";import{t as ce}from"./MarketingHeader-B0jpxRYu.js";import{t as b}from"./format-CAKfypjK.js";var le=i(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),ue=i(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),x=i(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),de=i(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),S=i(`chevrons-left`,[[`path`,{d:`m11 17-5-5 5-5`,key:`13zhaf`}],[`path`,{d:`m18 17-5-5 5-5`,key:`h8a8et`}]]),fe=i(`chevrons-right`,[[`path`,{d:`m6 17 5-5-5-5`,key:`xnjwq`}],[`path`,{d:`m13 17 5-5-5-5`,key:`17xmmf`}]]),pe=i(`clipboard`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}]]),me=i(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),C=t(e(),1);function w(e,t){return typeof e==`function`?e(t):e}function T(e,t){return n=>{t.setState(t=>({...t,[e]:w(n,t[e])}))}}function E(e){return e instanceof Function}function D(e){return Array.isArray(e)&&e.every(e=>typeof e==`number`)}function he(e,t){let n=[],r=e=>{e.forEach(e=>{n.push(e);let i=t(e);i!=null&&i.length&&r(i)})};return r(e),n}function O(e,t,n){let r=[],i;return a=>{let o;n.key&&n.debug&&(o=Date.now());let s=e(a);if(!(s.length!==r.length||s.some((e,t)=>r[t]!==e)))return i;r=s;let c;if(n.key&&n.debug&&(c=Date.now()),i=t(...s),n==null||n.onChange==null||n.onChange(i),n.key&&n.debug&&n!=null&&n.debug()){let e=Math.round((Date.now()-o)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.length<t;)e=` `+e;return e};console.info(`%c⏱ ${i(t,5)} /${i(e,5)} ms`,`
|
|
2
2
|
font-size: .6rem;
|
|
3
3
|
font-weight: bold;
|
|
4
4
|
color: hsl(${Math.max(0,Math.min(120-120*r,120))}deg 100% 31%);`,n?.key)}return i}}function k(e,t,n,r){return{debug:()=>e?.debugAll??e[t],key:!1,onChange:r}}function ge(e,t,n,r){let i={id:`${t.id}_${n.id}`,row:t,column:n,getValue:()=>t.getValue(r),renderValue:()=>i.getValue()??e.options.renderFallbackValue,getContext:O(()=>[e,n,t,i],(e,t,n,r)=>({table:e,column:t,row:n,cell:r,getValue:r.getValue,renderValue:r.renderValue}),k(e.options,`debugCells`,`cell.getContext`))};return e._features.forEach(r=>{r.createCell==null||r.createCell(i,n,t,e)},{}),i}function _e(e,t,n,r){let i={...e._getDefaultColumnDef(),...t},a=i.accessorKey,o=i.id??(a?typeof String.prototype.replaceAll==`function`?a.replaceAll(`.`,`_`):a.replace(/\./g,`_`):void 0)??(typeof i.header==`string`?i.header:void 0),s;if(i.accessorFn?s=i.accessorFn:a&&(s=a.includes(`.`)?e=>{let t=e;for(let e of a.split(`.`))t=t?.[e];return t}:e=>e[i.accessorKey]),!o)throw Error();let c={id:`${String(o)}`,accessorFn:s,parent:r,depth:n,columnDef:i,columns:[],getFlatColumns:O(()=>[!0],()=>[c,...c.columns?.flatMap(e=>e.getFlatColumns())],k(e.options,`debugColumns`,`column.getFlatColumns`)),getLeafColumns:O(()=>[e._getOrderColumnsFn()],e=>{var t;return(t=c.columns)!=null&&t.length?e(c.columns.flatMap(e=>e.getLeafColumns())):[c]},k(e.options,`debugColumns`,`column.getLeafColumns`))};for(let t of e._features)t.createColumn==null||t.createColumn(c,e);return c}var A=`debugHeaders`;function ve(e,t,n){let r={id:n.id??t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{let e=[],t=n=>{n.subHeaders&&n.subHeaders.length&&n.subHeaders.map(t),e.push(n)};return t(r),e},getContext:()=>({table:e,header:r,column:t})};return e._features.forEach(t=>{t.createHeader==null||t.createHeader(r,e)}),r}var ye={createTable:e=>{e.getHeaderGroups=O(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>{let a=r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],o=i?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],s=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id)));return j(t,[...a,...s,...o],e)},k(e.options,A,`getHeaderGroups`)),e.getCenterHeaderGroups=O(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>(n=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id))),j(t,n,e,`center`)),k(e.options,A,`getCenterHeaderGroups`)),e.getLeftHeaderGroups=O(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>j(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`left`),k(e.options,A,`getLeftHeaderGroups`)),e.getRightHeaderGroups=O(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>j(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`right`),k(e.options,A,`getRightHeaderGroups`)),e.getFooterGroups=O(()=>[e.getHeaderGroups()],e=>[...e].reverse(),k(e.options,A,`getFooterGroups`)),e.getLeftFooterGroups=O(()=>[e.getLeftHeaderGroups()],e=>[...e].reverse(),k(e.options,A,`getLeftFooterGroups`)),e.getCenterFooterGroups=O(()=>[e.getCenterHeaderGroups()],e=>[...e].reverse(),k(e.options,A,`getCenterFooterGroups`)),e.getRightFooterGroups=O(()=>[e.getRightHeaderGroups()],e=>[...e].reverse(),k(e.options,A,`getRightFooterGroups`)),e.getFlatHeaders=O(()=>[e.getHeaderGroups()],e=>e.map(e=>e.headers).flat(),k(e.options,A,`getFlatHeaders`)),e.getLeftFlatHeaders=O(()=>[e.getLeftHeaderGroups()],e=>e.map(e=>e.headers).flat(),k(e.options,A,`getLeftFlatHeaders`)),e.getCenterFlatHeaders=O(()=>[e.getCenterHeaderGroups()],e=>e.map(e=>e.headers).flat(),k(e.options,A,`getCenterFlatHeaders`)),e.getRightFlatHeaders=O(()=>[e.getRightHeaderGroups()],e=>e.map(e=>e.headers).flat(),k(e.options,A,`getRightFlatHeaders`)),e.getCenterLeafHeaders=O(()=>[e.getCenterFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),k(e.options,A,`getCenterLeafHeaders`)),e.getLeftLeafHeaders=O(()=>[e.getLeftFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),k(e.options,A,`getLeftLeafHeaders`)),e.getRightLeafHeaders=O(()=>[e.getRightFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),k(e.options,A,`getRightLeafHeaders`)),e.getLeafHeaders=O(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(e,t,n)=>[...e[0]?.headers??[],...t[0]?.headers??[],...n[0]?.headers??[]].map(e=>e.getLeafHeaders()).flat(),k(e.options,A,`getLeafHeaders`))}};function j(e,t,n,r){let i=0,a=function(e,t){t===void 0&&(t=1),i=Math.max(i,t),e.filter(e=>e.getIsVisible()).forEach(e=>{var n;(n=e.columns)!=null&&n.length&&a(e.columns,t+1)},0)};a(e);let o=[],s=(e,t)=>{let i={depth:t,id:[r,`${t}`].filter(Boolean).join(`_`),headers:[]},a=[];e.forEach(e=>{let o=[...a].reverse()[0],s=e.column.depth===i.depth,c,l=!1;if(s&&e.column.parent?c=e.column.parent:(c=e.column,l=!0),o&&o?.column===c)o.subHeaders.push(e);else{let i=ve(n,c,{id:[r,t,c.id,e?.id].filter(Boolean).join(`_`),isPlaceholder:l,placeholderId:l?`${a.filter(e=>e.column===c).length}`:void 0,depth:t,index:a.length});i.subHeaders.push(e),a.push(i)}i.headers.push(e),e.headerGroup=i}),o.push(i),t>0&&s(a,t-1)};s(t.map((e,t)=>ve(n,e,{depth:i,index:t})),i-1),o.reverse();let c=e=>e.filter(e=>e.column.getIsVisible()).map(e=>{let t=0,n=0,r=[0];e.subHeaders&&e.subHeaders.length?(r=[],c(e.subHeaders).forEach(e=>{let{colSpan:n,rowSpan:i}=e;t+=n,r.push(i)})):t=1;let i=Math.min(...r);return n+=i,e.colSpan=t,e.rowSpan=n,{colSpan:t,rowSpan:n}});return c(o[0]?.headers??[]),o}var be=(e,t,n,r,i,a,o)=>{let s={id:t,index:r,original:n,depth:i,parentId:o,_valuesCache:{},_uniqueValuesCache:{},getValue:t=>{if(s._valuesCache.hasOwnProperty(t))return s._valuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return s._valuesCache[t]=n.accessorFn(s.original,r),s._valuesCache[t]},getUniqueValues:t=>{if(s._uniqueValuesCache.hasOwnProperty(t))return s._uniqueValuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return n.columnDef.getUniqueValues?(s._uniqueValuesCache[t]=n.columnDef.getUniqueValues(s.original,r),s._uniqueValuesCache[t]):(s._uniqueValuesCache[t]=[s.getValue(t)],s._uniqueValuesCache[t])},renderValue:t=>s.getValue(t)??e.options.renderFallbackValue,subRows:a??[],getLeafRows:()=>he(s.subRows,e=>e.subRows),getParentRow:()=>s.parentId?e.getRow(s.parentId,!0):void 0,getParentRows:()=>{let e=[],t=s;for(;;){let n=t.getParentRow();if(!n)break;e.push(n),t=n}return e.reverse()},getAllCells:O(()=>[e.getAllLeafColumns()],t=>t.map(t=>ge(e,s,t,t.id)),k(e.options,`debugRows`,`getAllCells`)),_getAllCellsByColumnId:O(()=>[s.getAllCells()],e=>e.reduce((e,t)=>(e[t.column.id]=t,e),{}),k(e.options,`debugRows`,`getAllCellsByColumnId`))};for(let t=0;t<e._features.length;t++){let n=e._features[t];n==null||n.createRow==null||n.createRow(s,e)}return s},xe={createColumn:(e,t)=>{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},M=(e,t,n)=>{var r,i;let a=n==null||(r=n.toString())==null?void 0:r.toLowerCase();return!!(!((i=e.getValue(t))==null||(i=i.toString())==null||(i=i.toLowerCase())==null)&&i.includes(a))};M.autoRemove=e=>B(e);var N=(e,t,n)=>{var r;return!!(!((r=e.getValue(t))==null||(r=r.toString())==null)&&r.includes(n))};N.autoRemove=e=>B(e);var Se=(e,t,n)=>{var r;return((r=e.getValue(t))==null||(r=r.toString())==null?void 0:r.toLowerCase())===n?.toLowerCase()};Se.autoRemove=e=>B(e);var Ce=(e,t,n)=>e.getValue(t)?.includes(n);Ce.autoRemove=e=>B(e);var P=(e,t,n)=>!n.some(n=>{var r;return!((r=e.getValue(t))!=null&&r.includes(n))});P.autoRemove=e=>B(e)||!(e!=null&&e.length);var F=(e,t,n)=>n.some(n=>e.getValue(t)?.includes(n));F.autoRemove=e=>B(e)||!(e!=null&&e.length);var I=(e,t,n)=>e.getValue(t)===n;I.autoRemove=e=>B(e);var L=(e,t,n)=>e.getValue(t)==n;L.autoRemove=e=>B(e);var R=(e,t,n)=>{let[r,i]=n,a=e.getValue(t);return a>=r&&a<=i};R.resolveFilterValue=e=>{let[t,n]=e,r=typeof t==`number`?t:parseFloat(t),i=typeof n==`number`?n:parseFloat(n),a=t===null||Number.isNaN(r)?-1/0:r,o=n===null||Number.isNaN(i)?1/0:i;if(a>o){let e=a;a=o,o=e}return[a,o]},R.autoRemove=e=>B(e)||B(e[0])&&B(e[1]);var z={includesString:M,includesStringSensitive:N,equalsString:Se,arrIncludes:Ce,arrIncludesAll:P,arrIncludesSome:F,equals:I,weakEquals:L,inNumberRange:R};function B(e){return e==null||e===``}var we={getDefaultColumnDef:()=>({filterFn:`auto`}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:T(`columnFilters`,e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);return typeof n==`string`?z.includesString:typeof n==`number`?z.inNumberRange:typeof n==`boolean`||typeof n==`object`&&n?z.equals:Array.isArray(n)?z.arrIncludes:z.weakEquals},e.getFilterFn=()=>E(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn===`auto`?e.getAutoFilterFn():t.options.filterFns?.[e.columnDef.filterFn]??z[e.columnDef.filterFn],e.getCanFilter=()=>(e.columnDef.enableColumnFilter??!0)&&(t.options.enableColumnFilters??!0)&&(t.options.enableFilters??!0)&&!!e.accessorFn,e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var n;return(n=t.getState().columnFilters)==null||(n=n.find(t=>t.id===e.id))==null?void 0:n.value},e.getFilterIndex=()=>t.getState().columnFilters?.findIndex(t=>t.id===e.id)??-1,e.setFilterValue=n=>{t.setColumnFilters(t=>{let r=e.getFilterFn(),i=t?.find(t=>t.id===e.id),a=w(n,i?i.value:void 0);if(V(r,a,e))return t?.filter(t=>t.id!==e.id)??[];let o={id:e.id,value:a};return i?t?.map(t=>t.id===e.id?o:t)??[]:t!=null&&t.length?[...t,o]:[o]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{let n=e.getAllLeafColumns();e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(e=>w(t,e)?.filter(e=>{let t=n.find(t=>t.id===e.id);return!(t&&V(t.getFilterFn(),e.value,t))}))},e.resetColumnFilters=t=>{e.setColumnFilters(t?[]:e.initialState?.columnFilters??[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function V(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||t===void 0||typeof t==`string`&&!t}var H={sum:(e,t,n)=>n.reduce((t,n)=>{let r=n.getValue(e);return t+(typeof r==`number`?r:0)},0),min:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r>n||r===void 0&&n>=n)&&(r=n)}),r},max:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r<n||r===void 0&&n>=n)&&(r=n)}),r},extent:(e,t,n)=>{let r,i;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r===void 0?n>=n&&(r=i=n):(r>n&&(r=n),i<n&&(i=n)))}),[r,i]},mean:(e,t)=>{let n=0,r=0;if(t.forEach(t=>{let i=t.getValue(e);i!=null&&(i=+i)>=i&&(++n,r+=i)}),n)return r/n},median:(e,t)=>{if(!t.length)return;let n=t.map(t=>t.getValue(e));if(!D(n))return;if(n.length===1)return n[0];let r=Math.floor(n.length/2),i=n.sort((e,t)=>e-t);return n.length%2==0?(i[r-1]+i[r])/2:i[r]},unique:(e,t)=>Array.from(new Set(t.map(t=>t.getValue(e))).values()),uniqueCount:(e,t)=>new Set(t.map(t=>t.getValue(e))).size,count:(e,t)=>t.length},Te={getDefaultColumnDef:()=>({aggregatedCell:e=>{var t;return((t=e.getValue())==null||t.toString==null?void 0:t.toString())??null},aggregationFn:`auto`}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:T(`grouping`,e),groupedColumnMode:`reorder`}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(t=>t!=null&&t.includes(e.id)?t.filter(t=>t!==e.id):[...t??[],e.id])},e.getCanGroup=()=>(e.columnDef.enableGrouping??!0)&&(t.options.enableGrouping??!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue),e.getIsGrouped=()=>t.getState().grouping?.includes(e.id),e.getGroupedIndex=()=>t.getState().grouping?.indexOf(e.id),e.getToggleGroupingHandler=()=>{let t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);if(typeof n==`number`)return H.sum;if(Object.prototype.toString.call(n)===`[object Date]`)return H.extent},e.getAggregationFn=()=>{if(!e)throw Error();return E(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn===`auto`?e.getAutoAggregationFn():t.options.aggregationFns?.[e.columnDef.aggregationFn]??H[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{e.setGrouping(t?[]:e.initialState?.grouping??[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=n=>{if(e._groupingValuesCache.hasOwnProperty(n))return e._groupingValuesCache[n];let r=t.getColumn(n);return r!=null&&r.columnDef.getGroupingValue?(e._groupingValuesCache[n]=r.columnDef.getGroupingValue(e.original),e._groupingValuesCache[n]):e.getValue(n)},e._groupingValuesCache={}},createCell:(e,t,n,r)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===n.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var t;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((t=n.subRows)!=null&&t.length)}}};function Ee(e,t,n){if(!(t!=null&&t.length)||!n)return e;let r=e.filter(e=>!t.includes(e.id));return n===`remove`?r:[...t.map(t=>e.find(e=>e.id===t)).filter(Boolean),...r]}var De={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:T(`columnOrder`,e)}),createColumn:(e,t)=>{e.getIndex=O(e=>[Y(t,e)],t=>t.findIndex(t=>t.id===e.id),k(t.options,`debugColumns`,`getIndex`)),e.getIsFirstColumn=n=>Y(t,n)[0]?.id===e.id,e.getIsLastColumn=n=>{let r=Y(t,n);return r[r.length-1]?.id===e.id}},createTable:e=>{e.setColumnOrder=t=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{e.setColumnOrder(t?[]:e.initialState.columnOrder??[])},e._getOrderColumnsFn=O(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(e,t,n)=>r=>{let i=[];if(!(e!=null&&e.length))i=r;else{let t=[...e],n=[...r];for(;n.length&&t.length;){let e=t.shift(),r=n.findIndex(t=>t.id===e);r>-1&&i.push(n.splice(r,1)[0])}i=[...i,...n]}return Ee(i,t,n)},k(e.options,`debugTable`,`_getOrderColumnsFn`))}},U=()=>({left:[],right:[]}),Oe={getInitialState:e=>({columnPinning:U(),...e}),getDefaultOptions:e=>({onColumnPinningChange:T(`columnPinning`,e)}),createColumn:(e,t)=>{e.pin=n=>{let r=e.getLeafColumns().map(e=>e.id).filter(Boolean);t.setColumnPinning(e=>n===`right`?{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:[...(e?.right??[]).filter(e=>!(r!=null&&r.includes(e))),...r]}:n===`left`?{left:[...(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),...r],right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))}:{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))})},e.getCanPin=()=>e.getLeafColumns().some(e=>(e.columnDef.enablePinning??!0)&&(t.options.enableColumnPinning??t.options.enablePinning??!0)),e.getIsPinned=()=>{let n=e.getLeafColumns().map(e=>e.id),{left:r,right:i}=t.getState().columnPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`left`:o?`right`:!1},e.getPinnedIndex=()=>{var n;let r=e.getIsPinned();return r?((n=t.getState().columnPinning)==null||(n=n[r])==null?void 0:n.indexOf(e.id))??-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=O(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.column.id))},k(t.options,`debugRows`,`getCenterVisibleCells`)),e.getLeftVisibleCells=O(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`left`})),k(t.options,`debugRows`,`getLeftVisibleCells`)),e.getRightVisibleCells=O(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`right`})),k(t.options,`debugRows`,`getRightVisibleCells`))},createTable:e=>{e.setColumnPinning=t=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>e.setColumnPinning(t?U():e.initialState?.columnPinning??U()),e.getIsSomeColumnsPinned=t=>{let n=e.getState().columnPinning;return t?!!n[t]?.length:!!(n.left?.length||n.right?.length)},e.getLeftLeafColumns=O(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),k(e.options,`debugColumns`,`getLeftLeafColumns`)),e.getRightLeafColumns=O(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),k(e.options,`debugColumns`,`getRightLeafColumns`)),e.getCenterLeafColumns=O(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.id))},k(e.options,`debugColumns`,`getCenterLeafColumns`))}};function ke(e){return e||(typeof document<`u`?document:null)}var W={size:150,minSize:20,maxSize:2**53-1},G=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),K={getDefaultColumnDef:()=>W,getInitialState:e=>({columnSizing:{},columnSizingInfo:G(),...e}),getDefaultOptions:e=>({columnResizeMode:`onEnd`,columnResizeDirection:`ltr`,onColumnSizingChange:T(`columnSizing`,e),onColumnSizingInfoChange:T(`columnSizingInfo`,e)}),createColumn:(e,t)=>{e.getSize=()=>{let n=t.getState().columnSizing[e.id];return Math.min(Math.max(e.columnDef.minSize??W.minSize,n??e.columnDef.size??W.size),e.columnDef.maxSize??W.maxSize)},e.getStart=O(e=>[e,Y(t,e),t.getState().columnSizing],(t,n)=>n.slice(0,e.getIndex(t)).reduce((e,t)=>e+t.getSize(),0),k(t.options,`debugColumns`,`getStart`)),e.getAfter=O(e=>[e,Y(t,e),t.getState().columnSizing],(t,n)=>n.slice(e.getIndex(t)+1).reduce((e,t)=>e+t.getSize(),0),k(t.options,`debugColumns`,`getAfter`)),e.resetSize=()=>{t.setColumnSizing(t=>{let{[e.id]:n,...r}=t;return r})},e.getCanResize=()=>(e.columnDef.enableResizing??!0)&&(t.options.enableColumnResizing??!0),e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let t=0,n=e=>{e.subHeaders.length?e.subHeaders.forEach(n):t+=e.column.getSize()??0};return n(e),t},e.getStart=()=>{if(e.index>0){let t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=n=>{let r=t.getColumn(e.column.id),i=r?.getCanResize();return a=>{if(!r||!i||(a.persist==null||a.persist(),J(a)&&a.touches&&a.touches.length>1))return;let o=e.getSize(),s=e?e.getLeafHeaders().map(e=>[e.column.id,e.column.getSize()]):[[r.id,r.getSize()]],c=J(a)?Math.round(a.touches[0].clientX):a.clientX,l={},u=(e,n)=>{typeof n==`number`&&(t.setColumnSizingInfo(e=>{let r=t.options.columnResizeDirection===`rtl`?-1:1,i=(n-(e?.startOffset??0))*r,a=Math.max(i/(e?.startSize??0),-.999999);return e.columnSizingStart.forEach(e=>{let[t,n]=e;l[t]=Math.round(Math.max(n+n*a,0)*100)/100}),{...e,deltaOffset:i,deltaPercentage:a}}),(t.options.columnResizeMode===`onChange`||e===`end`)&&t.setColumnSizing(e=>({...e,...l})))},d=e=>u(`move`,e),f=e=>{u(`end`,e),t.setColumnSizingInfo(e=>({...e,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},p=ke(n),m={moveHandler:e=>d(e.clientX),upHandler:e=>{p?.removeEventListener(`mousemove`,m.moveHandler),p?.removeEventListener(`mouseup`,m.upHandler),f(e.clientX)}},h={moveHandler:e=>(e.cancelable&&(e.preventDefault(),e.stopPropagation()),d(e.touches[0].clientX),!1),upHandler:e=>{p?.removeEventListener(`touchmove`,h.moveHandler),p?.removeEventListener(`touchend`,h.upHandler),e.cancelable&&(e.preventDefault(),e.stopPropagation()),f(e.touches[0]?.clientX)}},g=Ae()?{passive:!1}:!1;J(a)?(p?.addEventListener(`touchmove`,h.moveHandler,g),p?.addEventListener(`touchend`,h.upHandler,g)):(p?.addEventListener(`mousemove`,m.moveHandler,g),p?.addEventListener(`mouseup`,m.upHandler,g)),t.setColumnSizingInfo(e=>({...e,startOffset:c,startSize:o,deltaOffset:0,deltaPercentage:0,columnSizingStart:s,isResizingColumn:r.id}))}}},createTable:e=>{e.setColumnSizing=t=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{e.setColumnSizing(t?{}:e.initialState.columnSizing??{})},e.resetHeaderSizeInfo=t=>{e.setColumnSizingInfo(t?G():e.initialState.columnSizingInfo??G())},e.getTotalSize=()=>e.getHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getLeftTotalSize=()=>e.getLeftHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getCenterTotalSize=()=>e.getCenterHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getRightTotalSize=()=>e.getRightHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0}},q=null;function Ae(){if(typeof q==`boolean`)return q;let e=!1;try{let t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener(`test`,n,t),window.removeEventListener(`test`,n)}catch{e=!1}return q=e,q}function J(e){return e.type===`touchstart`}var je={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:T(`columnVisibility`,e)}),createColumn:(e,t)=>{e.toggleVisibility=n=>{e.getCanHide()&&t.setColumnVisibility(t=>({...t,[e.id]:n??!e.getIsVisible()}))},e.getIsVisible=()=>{let n=e.columns;return(n.length?n.some(e=>e.getIsVisible()):t.getState().columnVisibility?.[e.id])??!0},e.getCanHide=()=>(e.columnDef.enableHiding??!0)&&(t.options.enableHiding??!0),e.getToggleVisibilityHandler=()=>t=>{e.toggleVisibility==null||e.toggleVisibility(t.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=O(()=>[e.getAllCells(),t.getState().columnVisibility],e=>e.filter(e=>e.column.getIsVisible()),k(t.options,`debugRows`,`_getAllVisibleCells`)),e.getVisibleCells=O(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(e,t,n)=>[...e,...t,...n],k(t.options,`debugRows`,`getVisibleCells`))},createTable:e=>{let t=(t,n)=>O(()=>[n(),n().filter(e=>e.getIsVisible()).map(e=>e.id).join(`_`)],e=>e.filter(e=>e.getIsVisible==null?void 0:e.getIsVisible()),k(e.options,`debugColumns`,t));e.getVisibleFlatColumns=t(`getVisibleFlatColumns`,()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t(`getVisibleLeafColumns`,()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t(`getLeftVisibleLeafColumns`,()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t(`getRightVisibleLeafColumns`,()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t(`getCenterVisibleLeafColumns`,()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{e.setColumnVisibility(t?{}:e.initialState.columnVisibility??{})},e.toggleAllColumnsVisible=t=>{t??=!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((e,n)=>({...e,[n.id]:t||!(n.getCanHide!=null&&n.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(e=>!(e.getIsVisible!=null&&e.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(e=>e.getIsVisible==null?void 0:e.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{e.toggleAllColumnsVisible(t.target?.checked)}}};function Y(e,t){return t?t===`center`?e.getCenterVisibleLeafColumns():t===`left`?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}var Me={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,`__global__`),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,`__global__`),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,`__global__`),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},Ne={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:T(`globalFilter`,e),globalFilterFn:`auto`,getColumnCanGlobalFilter:t=>{var n;let r=(n=e.getCoreRowModel().flatRows[0])==null||(n=n._getAllCellsByColumnId()[t.id])==null?void 0:n.getValue();return typeof r==`string`||typeof r==`number`}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>(e.columnDef.enableGlobalFilter??!0)&&(t.options.enableGlobalFilter??!0)&&(t.options.enableFilters??!0)&&((t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))??!0)&&!!e.accessorFn},createTable:e=>{e.getGlobalAutoFilterFn=()=>z.includesString,e.getGlobalFilterFn=()=>{let{globalFilterFn:t}=e.options;return E(t)?t:t===`auto`?e.getGlobalAutoFilterFn():e.options.filterFns?.[t]??z[t]},e.setGlobalFilter=t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},Pe={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:T(`expanded`,e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;e._autoResetExpanded=()=>{if(!t){e._queue(()=>{t=!0});return}if(e.options.autoResetAll??e.options.autoResetExpanded??!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},e.setExpanded=t=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(t),e.toggleAllRowsExpanded=t=>{t??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=t=>{e.setExpanded(t?{}:e.initialState?.expanded??{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(e=>e.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>t=>{t.persist==null||t.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{let t=e.getState().expanded;return t===!0||Object.values(t).some(Boolean)},e.getIsAllRowsExpanded=()=>{let t=e.getState().expanded;return typeof t==`boolean`?t===!0:!(!Object.keys(t).length||e.getRowModel().flatRows.some(e=>!e.getIsExpanded()))},e.getExpandedDepth=()=>{let t=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(e=>{let n=e.split(`.`);t=Math.max(t,n.length)}),t},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,t)=>{e.toggleExpanded=n=>{t.setExpanded(r=>{let i=r===!0?!0:!!(r!=null&&r[e.id]),a={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(e=>{a[e]=!0}):a=r,n??=!i,!i&&n)return{...a,[e.id]:!0};if(i&&!n){let{[e.id]:t,...n}=a;return n}return r})},e.getIsExpanded=()=>{let n=t.getState().expanded;return!!((t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))??(n===!0||n?.[e.id]))},e.getCanExpand=()=>{var n;return(t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))??((t.options.enableExpanding??!0)&&!!((n=e.subRows)!=null&&n.length))},e.getIsAllParentsExpanded=()=>{let n=!0,r=e;for(;n&&r.parentId;)r=t.getRow(r.parentId,!0),n=r.getIsExpanded();return n},e.getToggleExpandedHandler=()=>{let t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},Fe=0,Ie=10,Le=()=>({pageIndex:Fe,pageSize:Ie}),Re={getInitialState:e=>({...e,pagination:{...Le(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:T(`pagination`,e)}),createTable:e=>{let t=!1,n=!1;e._autoResetPageIndex=()=>{if(!t){e._queue(()=>{t=!0});return}if(e.options.autoResetAll??e.options.autoResetPageIndex??!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},e.setPagination=t=>e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(e=>w(t,e)),e.resetPagination=t=>{e.setPagination(t?Le():e.initialState.pagination??Le())},e.setPageIndex=t=>{e.setPagination(n=>{let r=w(t,n.pageIndex),i=e.options.pageCount===void 0||e.options.pageCount===-1?2**53-1:e.options.pageCount-1;return r=Math.max(0,Math.min(r,i)),{...n,pageIndex:r}})},e.resetPageIndex=t=>{var n;e.setPageIndex(t?Fe:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageIndex)??Fe)},e.resetPageSize=t=>{var n;e.setPageSize(t?Ie:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageSize)??Ie)},e.setPageSize=t=>{e.setPagination(e=>{let n=Math.max(1,w(t,e.pageSize)),r=e.pageSize*e.pageIndex,i=Math.floor(r/n);return{...e,pageIndex:i,pageSize:n}})},e.setPageCount=t=>e.setPagination(n=>{let r=w(t,e.options.pageCount??-1);return typeof r==`number`&&(r=Math.max(-1,r)),{...n,pageCount:r}}),e.getPageOptions=O(()=>[e.getPageCount()],e=>{let t=[];return e&&e>0&&(t=[...Array(e)].fill(null).map((e,t)=>t)),t},k(e.options,`debugTable`,`getPageOptions`)),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{let{pageIndex:t}=e.getState().pagination,n=e.getPageCount();return n===-1?!0:n===0?!1:t<n-1},e.previousPage=()=>e.setPageIndex(e=>e-1),e.nextPage=()=>e.setPageIndex(e=>e+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>e.options.pageCount??Math.ceil(e.getRowCount()/e.getState().pagination.pageSize),e.getRowCount=()=>e.options.rowCount??e.getPrePaginationRowModel().rows.length}},ze=()=>({top:[],bottom:[]}),Be={getInitialState:e=>({rowPinning:ze(),...e}),getDefaultOptions:e=>({onRowPinningChange:T(`rowPinning`,e)}),createRow:(e,t)=>{e.pin=(n,r,i)=>{let a=r?e.getLeafRows().map(e=>{let{id:t}=e;return t}):[],o=i?e.getParentRows().map(e=>{let{id:t}=e;return t}):[],s=new Set([...o,e.id,...a]);t.setRowPinning(e=>n===`bottom`?{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:[...(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)]}:n===`top`?{top:[...(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)],bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))}:{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))})},e.getCanPin=()=>{let{enableRowPinning:n,enablePinning:r}=t.options;return typeof n==`function`?n(e):n??r??!0},e.getIsPinned=()=>{let n=[e.id],{top:r,bottom:i}=t.getState().rowPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`top`:o?`bottom`:!1},e.getPinnedIndex=()=>{let n=e.getIsPinned();return n?((n===`top`?t.getTopRows():t.getBottomRows())?.map(e=>{let{id:t}=e;return t}))?.indexOf(e.id)??-1:-1}},createTable:e=>{e.setRowPinning=t=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>e.setRowPinning(t?ze():e.initialState?.rowPinning??ze()),e.getIsSomeRowsPinned=t=>{let n=e.getState().rowPinning;return t?!!n[t]?.length:!!(n.top?.length||n.bottom?.length)},e._getPinnedRows=(t,n,r)=>(e.options.keepPinnedRows??!0?(n??[]).map(t=>{let n=e.getRow(t,!0);return n.getIsAllParentsExpanded()?n:null}):(n??[]).map(e=>t.find(t=>t.id===e))).filter(Boolean).map(e=>({...e,position:r})),e.getTopRows=O(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,n)=>e._getPinnedRows(t,n,`top`),k(e.options,`debugRows`,`getTopRows`)),e.getBottomRows=O(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,n)=>e._getPinnedRows(t,n,`bottom`),k(e.options,`debugRows`,`getBottomRows`)),e.getCenterRows=O(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(e,t,n)=>{let r=new Set([...t??[],...n??[]]);return e.filter(e=>!r.has(e.id))},k(e.options,`debugRows`,`getCenterRows`))}},Ve={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:T(`rowSelection`,e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>e.setRowSelection(t?{}:e.initialState.rowSelection??{}),e.toggleAllRowsSelected=t=>{e.setRowSelection(n=>{t=t===void 0?!e.getIsAllRowsSelected():t;let r={...n},i=e.getPreGroupedRowModel().flatRows;return t?i.forEach(e=>{e.getCanSelect()&&(r[e.id]=!0)}):i.forEach(e=>{delete r[e.id]}),r})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(n=>{let r=t===void 0?!e.getIsAllPageRowsSelected():t,i={...n};return e.getRowModel().rows.forEach(t=>{He(i,t.id,r,!0,e)}),i}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=O(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?Ue(e,n):{rows:[],flatRows:[],rowsById:{}},k(e.options,`debugTable`,`getSelectedRowModel`)),e.getFilteredSelectedRowModel=O(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?Ue(e,n):{rows:[],flatRows:[],rowsById:{}},k(e.options,`debugTable`,`getFilteredSelectedRowModel`)),e.getGroupedSelectedRowModel=O(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?Ue(e,n):{rows:[],flatRows:[],rowsById:{}},k(e.options,`debugTable`,`getGroupedSelectedRowModel`)),e.getIsAllRowsSelected=()=>{let t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState(),r=!!(t.length&&Object.keys(n).length);return r&&t.some(e=>e.getCanSelect()&&!n[e.id])&&(r=!1),r},e.getIsAllPageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows.filter(e=>e.getCanSelect()),{rowSelection:n}=e.getState(),r=!!t.length;return r&&t.some(e=>!n[e.id])&&(r=!1),r},e.getIsSomeRowsSelected=()=>{let t=Object.keys(e.getState().rowSelection??{}).length;return t>0&&t<e.getFilteredRowModel().flatRows.length},e.getIsSomePageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:t.filter(e=>e.getCanSelect()).some(e=>e.getIsSelected()||e.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(n,r)=>{let i=e.getIsSelected();t.setRowSelection(a=>{if(n=n===void 0?!i:n,e.getCanSelect()&&i===n)return a;let o={...a};return He(o,e.id,n,r?.selectChildren??!0,t),o})},e.getIsSelected=()=>{let{rowSelection:n}=t.getState();return We(e,n)},e.getIsSomeSelected=()=>{let{rowSelection:n}=t.getState();return Ge(e,n)===`some`},e.getIsAllSubRowsSelected=()=>{let{rowSelection:n}=t.getState();return Ge(e,n)===`all`},e.getCanSelect=()=>typeof t.options.enableRowSelection==`function`?t.options.enableRowSelection(e):t.options.enableRowSelection??!0,e.getCanSelectSubRows=()=>typeof t.options.enableSubRowSelection==`function`?t.options.enableSubRowSelection(e):t.options.enableSubRowSelection??!0,e.getCanMultiSelect=()=>typeof t.options.enableMultiRowSelection==`function`?t.options.enableMultiRowSelection(e):t.options.enableMultiRowSelection??!0,e.getToggleSelectedHandler=()=>{let t=e.getCanSelect();return n=>{t&&e.toggleSelected(n.target?.checked)}}}},He=(e,t,n,r,i)=>{var a;let o=i.getRow(t,!0);n?(o.getCanMultiSelect()||Object.keys(e).forEach(t=>delete e[t]),o.getCanSelect()&&(e[t]=!0)):delete e[t],r&&(a=o.subRows)!=null&&a.length&&o.getCanSelectSubRows()&&o.subRows.forEach(t=>He(e,t.id,n,r,i))};function Ue(e,t){let n=e.getState().rowSelection,r=[],i={},a=function(e,t){return e.map(e=>{var t;let o=We(e,n);if(o&&(r.push(e),i[e.id]=e),(t=e.subRows)!=null&&t.length&&(e={...e,subRows:a(e.subRows)}),o)return e}).filter(Boolean)};return{rows:a(t.rows),flatRows:r,rowsById:i}}function We(e,t){return t[e.id]??!1}function Ge(e,t,n){var r;if(!((r=e.subRows)!=null&&r.length))return!1;let i=!0,a=!1;return e.subRows.forEach(e=>{if(!(a&&!i)&&(e.getCanSelect()&&(We(e,t)?a=!0:i=!1),e.subRows&&e.subRows.length)){let n=Ge(e,t);n===`all`?a=!0:(n===`some`&&(a=!0),i=!1)}}),i?`all`:a?`some`:!1}var Ke=/([0-9]+)/gm,qe=(e,t,n)=>et(X(e.getValue(n)).toLowerCase(),X(t.getValue(n)).toLowerCase()),Je=(e,t,n)=>et(X(e.getValue(n)),X(t.getValue(n))),Ye=(e,t,n)=>$e(X(e.getValue(n)).toLowerCase(),X(t.getValue(n)).toLowerCase()),Xe=(e,t,n)=>$e(X(e.getValue(n)),X(t.getValue(n))),Ze=(e,t,n)=>{let r=e.getValue(n),i=t.getValue(n);return r>i?1:r<i?-1:0},Qe=(e,t,n)=>$e(e.getValue(n),t.getValue(n));function $e(e,t){return e===t?0:e>t?1:-1}function X(e){return typeof e==`number`?isNaN(e)||e===1/0||e===-1/0?``:String(e):typeof e==`string`?e:``}function et(e,t){let n=e.split(Ke).filter(Boolean),r=t.split(Ke).filter(Boolean);for(;n.length&&r.length;){let e=n.shift(),t=r.shift(),i=parseInt(e,10),a=parseInt(t,10),o=[i,a].sort();if(isNaN(o[0])){if(e>t)return 1;if(t>e)return-1;continue}if(isNaN(o[1]))return isNaN(i)?-1:1;if(i>a)return 1;if(a>i)return-1}return n.length-r.length}var Z={alphanumeric:qe,alphanumericCaseSensitive:Je,text:Ye,textCaseSensitive:Xe,datetime:Ze,basic:Qe},tt=[ye,je,De,Oe,xe,we,Me,Ne,{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:`auto`,sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:T(`sorting`,e),isMultiSortEvent:e=>e.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{let n=t.getFilteredRowModel().flatRows.slice(10),r=!1;for(let t of n){let n=t?.getValue(e.id);if(Object.prototype.toString.call(n)===`[object Date]`)return Z.datetime;if(typeof n==`string`&&(r=!0,n.split(Ke).length>1))return Z.alphanumeric}return r?Z.text:Z.basic},e.getAutoSortDir=()=>typeof t.getFilteredRowModel().flatRows[0]?.getValue(e.id)==`string`?`asc`:`desc`,e.getSortingFn=()=>{if(!e)throw Error();return E(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn===`auto`?e.getAutoSortingFn():t.options.sortingFns?.[e.columnDef.sortingFn]??Z[e.columnDef.sortingFn]},e.toggleSorting=(n,r)=>{let i=e.getNextSortingOrder(),a=n!=null;t.setSorting(o=>{let s=o?.find(t=>t.id===e.id),c=o?.findIndex(t=>t.id===e.id),l=[],u,d=a?n:i===`desc`;return u=o!=null&&o.length&&e.getCanMultiSort()&&r?s?`toggle`:`add`:o!=null&&o.length&&c!==o.length-1?`replace`:s?`toggle`:`replace`,u===`toggle`&&(a||i||(u=`remove`)),u===`add`?(l=[...o,{id:e.id,desc:d}],l.splice(0,l.length-(t.options.maxMultiSortColCount??2**53-1))):l=u===`toggle`?o.map(t=>t.id===e.id?{...t,desc:d}:t):u===`remove`?o.filter(t=>t.id!==e.id):[{id:e.id,desc:d}],l})},e.getFirstSortDir=()=>e.columnDef.sortDescFirst??t.options.sortDescFirst??e.getAutoSortDir()===`desc`?`desc`:`asc`,e.getNextSortingOrder=n=>{let r=e.getFirstSortDir(),i=e.getIsSorted();return i?i!==r&&(t.options.enableSortingRemoval??!0)&&(!n||(t.options.enableMultiRemove??!0))?!1:i===`desc`?`asc`:`desc`:r},e.getCanSort=()=>(e.columnDef.enableSorting??!0)&&(t.options.enableSorting??!0)&&!!e.accessorFn,e.getCanMultiSort=()=>e.columnDef.enableMultiSort??t.options.enableMultiSort??!!e.accessorFn,e.getIsSorted=()=>{let n=t.getState().sorting?.find(t=>t.id===e.id);return n?n.desc?`desc`:`asc`:!1},e.getSortIndex=()=>t.getState().sorting?.findIndex(t=>t.id===e.id)??-1,e.clearSorting=()=>{t.setSorting(t=>t!=null&&t.length?t.filter(t=>t.id!==e.id):[])},e.getToggleSortingHandler=()=>{let n=e.getCanSort();return r=>{n&&(r.persist==null||r.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(r):!1))}}},createTable:e=>{e.setSorting=t=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{e.setSorting(t?[]:e.initialState?.sorting??[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},Te,Pe,Re,Be,Ve,K];function nt(e){let t=[...tt,...e._features??[]],n={_features:t},r=n._features.reduce((e,t)=>Object.assign(e,t.getDefaultOptions==null?void 0:t.getDefaultOptions(n)),{}),i=e=>n.options.mergeOptions?n.options.mergeOptions(r,e):{...r,...e},a={...e.initialState??{}};n._features.forEach(e=>{a=(e.getInitialState==null?void 0:e.getInitialState(a))??a});let o=[],s=!1,c={_features:t,options:{...r,...e},initialState:a,_queue:e=>{o.push(e),s||(s=!0,Promise.resolve().then(()=>{for(;o.length;)o.shift()();s=!1}).catch(e=>setTimeout(()=>{throw e})))},reset:()=>{n.setState(n.initialState)},setOptions:e=>{n.options=i(w(e,n.options))},getState:()=>n.options.state,setState:e=>{n.options.onStateChange==null||n.options.onStateChange(e)},_getRowId:(e,t,r)=>(n.options.getRowId==null?void 0:n.options.getRowId(e,t,r))??`${r?[r.id,t].join(`.`):t}`,getCoreRowModel:()=>(n._getCoreRowModel||=n.options.getCoreRowModel(n),n._getCoreRowModel()),getRowModel:()=>n.getPaginationRowModel(),getRow:(e,t)=>{let r=(t?n.getPrePaginationRowModel():n.getRowModel()).rowsById[e];if(!r&&(r=n.getCoreRowModel().rowsById[e],!r))throw Error();return r},_getDefaultColumnDef:O(()=>[n.options.defaultColumn],e=>(e??={},{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>{var t;return((t=e.renderValue())==null||t.toString==null?void 0:t.toString())??null},...n._features.reduce((e,t)=>Object.assign(e,t.getDefaultColumnDef==null?void 0:t.getDefaultColumnDef()),{}),...e}),k(e,`debugColumns`,`_getDefaultColumnDef`)),_getColumnDefs:()=>n.options.columns,getAllColumns:O(()=>[n._getColumnDefs()],e=>{let t=function(e,r,i){return i===void 0&&(i=0),e.map(e=>{let a=_e(n,e,i,r),o=e;return a.columns=o.columns?t(o.columns,a,i+1):[],a})};return t(e)},k(e,`debugColumns`,`getAllColumns`)),getAllFlatColumns:O(()=>[n.getAllColumns()],e=>e.flatMap(e=>e.getFlatColumns()),k(e,`debugColumns`,`getAllFlatColumns`)),_getAllFlatColumnsById:O(()=>[n.getAllFlatColumns()],e=>e.reduce((e,t)=>(e[t.id]=t,e),{}),k(e,`debugColumns`,`getAllFlatColumnsById`)),getAllLeafColumns:O(()=>[n.getAllColumns(),n._getOrderColumnsFn()],(e,t)=>t(e.flatMap(e=>e.getLeafColumns())),k(e,`debugColumns`,`getAllLeafColumns`)),getColumn:e=>n._getAllFlatColumnsById()[e]};Object.assign(n,c);for(let e=0;e<n._features.length;e++){let t=n._features[e];t==null||t.createTable==null||t.createTable(n)}return n}function rt(){return e=>O(()=>[e.options.data],t=>{let n={rows:[],flatRows:[],rowsById:{}},r=function(t,i,a){i===void 0&&(i=0);let o=[];for(let c=0;c<t.length;c++){let l=be(e,e._getRowId(t[c],c,a),t[c],c,i,void 0,a?.id);if(n.flatRows.push(l),n.rowsById[l.id]=l,o.push(l),e.options.getSubRows){var s;l.originalSubRows=e.options.getSubRows(t[c],c),(s=l.originalSubRows)!=null&&s.length&&(l.subRows=r(l.originalSubRows,i+1,l))}}return o};return n.rows=r(t),n},k(e.options,`debugTable`,`getRowModel`,()=>e._autoResetPageIndex()))}function it(e){let t=[],n=e=>{var r;t.push(e),(r=e.subRows)!=null&&r.length&&e.getIsExpanded()&&e.subRows.forEach(n)};return e.rows.forEach(n),{rows:t,flatRows:e.flatRows,rowsById:e.rowsById}}function at(e){return e=>O(()=>[e.getState().pagination,e.getPrePaginationRowModel(),e.options.paginateExpandedRows?void 0:e.getState().expanded],(t,n)=>{if(!n.rows.length)return n;let{pageSize:r,pageIndex:i}=t,{rows:a,flatRows:o,rowsById:s}=n,c=r*i,l=c+r;a=a.slice(c,l);let u;u=e.options.paginateExpandedRows?{rows:a,flatRows:o,rowsById:s}:it({rows:a,flatRows:o,rowsById:s}),u.flatRows=[];let d=e=>{u.flatRows.push(e),e.subRows.length&&e.subRows.forEach(d)};return u.rows.forEach(d),u},k(e.options,`debugTable`,`getPaginationRowModel`))}function ot(){return e=>O(()=>[e.getState().sorting,e.getPreSortedRowModel()],(t,n)=>{if(!n.rows.length||!(t!=null&&t.length))return n;let r=e.getState().sorting,i=[],a=r.filter(t=>e.getColumn(t.id)?.getCanSort()),o={};a.forEach(t=>{let n=e.getColumn(t.id);n&&(o[t.id]={sortUndefined:n.columnDef.sortUndefined,invertSorting:n.columnDef.invertSorting,sortingFn:n.getSortingFn()})});let s=e=>{let t=e.map(e=>({...e}));return t.sort((e,t)=>{for(let n=0;n<a.length;n+=1){let r=a[n],i=o[r.id],s=i.sortUndefined,c=r?.desc??!1,l=0;if(s){let n=e.getValue(r.id),i=t.getValue(r.id),a=n===void 0,o=i===void 0;if(a||o){if(s===`first`)return a?-1:1;if(s===`last`)return a?1:-1;l=a&&o?0:a?s:-s}}if(l===0&&(l=i.sortingFn(e,t,r.id)),l!==0)return c&&(l*=-1),i.invertSorting&&(l*=-1),l}return e.index-t.index}),t.forEach(e=>{var t;i.push(e),(t=e.subRows)!=null&&t.length&&(e.subRows=s(e.subRows))}),t};return{rows:s(n.rows),flatRows:i,rowsById:n.rowsById}},k(e.options,`debugTable`,`getSortedRowModel`,()=>e._autoResetPageIndex()))}function st(e,t){return e?ct(e)?C.createElement(e,t):e:null}function ct(e){return lt(e)||typeof e==`function`||ut(e)}function lt(e){return typeof e==`function`&&(()=>{let t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function ut(e){return typeof e==`object`&&typeof e.$$typeof==`symbol`&&[`react.memo`,`react.forward_ref`].includes(e.$$typeof.description)}function dt(e){let t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=C.useState(()=>({current:nt(t)})),[r,i]=C.useState(()=>n.current.initialState);return n.current.setOptions(t=>({...t,...e,state:{...r,...e.state},onStateChange:t=>{i(t),e.onStateChange==null||e.onStateChange(t)}})),n.current}var ft=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)}}}))})),pt=n(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r(y()):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}))})),mt=n(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r(y()):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}))})),Q=t(y(),1),ht=t(ft(),1);pt(),mt();var gt=1024*1024,_t=1024*1024*1024;function vt(e){if(!Number.isFinite(e)||e<=0)return`0`;let t=Number(e.toFixed(2));return Math.abs(e-t)<1e-6?String(t):String(Number(e.toPrecision(15)))}function yt(e,t){let n=Number(e);return!Number.isFinite(n)||n<0?0:Math.round(n*(t===`MB`?gt:_t))}function bt(e){let t=Number(e);return!Number.isFinite(t)||t<=0?{value:`0`,unit:`MB`}:t<_t?{value:vt(t/gt),unit:`MB`}:{value:vt(t/_t),unit:`GiB`}}function xt(e,t,n){if(t===n)return e;let r=Number(e);return!Number.isFinite(r)||r<=0?`0`:vt(n===`MB`?r*1024:r/1024)}var $=r();Q.default.extend(ht.default);var St=null,Ct=[],wt=300,Tt=10,Et=[10,20,50,100],Dt=[{value:`MB`,label:`MB`},{value:`GiB`,label:`GiB`}];function Ot(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 kt(e){return Number.isFinite(e)?String(Math.round(e/(1024*1024*1024)*100)/100):`0`}function At(e){let t=Number(e);return!Number.isFinite(t)||t<0?0:Math.round(t*1024*1024*1024)}function jt(e){return Array.from(new Set(String(e||``).split(/[\n,]/).map(e=>e.trim()).filter(Boolean)))}function Mt(e,t=12,n=8){return e?e.length<=t+n+3?e:`${e.slice(0,t)}...${e.slice(-n)}`:`-`}function Nt(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 Pt(e){return{"zh-CN":`zh-cn`,"zh-TW":`zh-tw`,en:`en`}[e]}function Ft(e,t,n){if(!e)return t(`admin.time.never`);let r=(0,Q.default)(e);if(!r.isValid())return t(`admin.time.never`);if(r.isAfter((0,Q.default)()))return t(`admin.time.justNow`);let i=Pt(n);return r.locale(i).from((0,Q.default)().locale(i))}var It=[{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`}],Lt=[{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`}],Rt={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 zt(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 Bt(e,t){let n=String(t||`all`).trim().toLowerCase();if(!n||n===`all`)return!0;let r=zt(e);return n===`error`?e.level===`error`||Rt.error.some(e=>r.includes(e)):(Rt[n]||[n]).some(e=>r.includes(e))}function Vt(e,t){return t(e===`asc`?`admin.table.sortDesc`:e===`desc`?`admin.table.sortClear`:`admin.table.sortAsc`)}function Ht({sort:e}){return e===`asc`?(0,$.jsx)(x,{size:13}):e===`desc`?(0,$.jsx)(ue,{size:13}):(0,$.jsx)(p,{size:13})}function Ut({table:e,t}){let{pageIndex:n,pageSize:r}=e.getState().pagination,i=Math.max(1,e.getPageCount()),a=e.getPrePaginationRowModel().rows.length;return(0,$.jsxs)(`div`,{className:`admin-table-pagination`,"aria-label":t(`admin.table.pagination`),children:[(0,$.jsx)(`span`,{className:`admin-table-pagination-status`,children:t(`admin.table.totalRows`,{count:a})}),(0,$.jsxs)(`div`,{className:`admin-table-page-size`,children:[(0,$.jsx)(`span`,{children:t(`admin.table.pageSize`)}),(0,$.jsx)(ae,{ariaLabel:t(`admin.table.pageSize`),size:`compact`,value:r,options:Et.map(e=>({value:e,label:String(e)})),onChange:t=>e.setPageSize(t)})]}),(0,$.jsx)(`span`,{className:`admin-table-pagination-status`,children:t(`admin.table.pageIndicator`,{page:n+1,total:i})}),(0,$.jsxs)(`div`,{className:`admin-table-page-actions`,children:[(0,$.jsx)(`button`,{className:`btn btn-icon`,type:`button`,onClick:()=>e.setPageIndex(0),disabled:!e.getCanPreviousPage(),"aria-label":t(`admin.table.firstPage`),title:t(`admin.table.firstPage`),children:(0,$.jsx)(S,{size:15})}),(0,$.jsx)(`button`,{className:`btn btn-icon`,type:`button`,onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage(),"aria-label":t(`admin.table.previousPage`),title:t(`admin.table.previousPage`),children:(0,$.jsx)(de,{size:15})}),(0,$.jsx)(`button`,{className:`btn btn-icon`,type:`button`,onClick:()=>e.nextPage(),disabled:!e.getCanNextPage(),"aria-label":t(`admin.table.nextPage`),title:t(`admin.table.nextPage`),children:(0,$.jsx)(m,{size:15})}),(0,$.jsx)(`button`,{className:`btn btn-icon`,type:`button`,onClick:()=>e.setPageIndex(Math.max(0,i-1)),disabled:!e.getCanNextPage(),"aria-label":t(`admin.table.lastPage`),title:t(`admin.table.lastPage`),children:(0,$.jsx)(fe,{size:15})})]})]})}function Wt({table:e,className:t,emptyText:n,t:r}){let i=e.getRowModel().rows,a=e.getPrePaginationRowModel().rows.length>e.getState().pagination.pageSize;return(0,$.jsxs)(`div`,{className:`admin-table ${t}`,children:[(0,$.jsxs)(`table`,{className:`admin-data-table`,children:[(0,$.jsx)(`thead`,{children:e.getHeaderGroups().map(e=>(0,$.jsx)(`tr`,{children:e.headers.map(e=>{let t=e.column.getIsSorted(),n=Vt(t,r);return(0,$.jsx)(`th`,{className:`admin-col-${e.column.id}`,"aria-sort":t===`asc`?`ascending`:t===`desc`?`descending`:void 0,children:e.isPlaceholder?null:e.column.getCanSort()?(0,$.jsxs)(`button`,{className:`admin-table-sort`,type:`button`,onClick:e.column.getToggleSortingHandler(),"aria-label":n,title:n,children:[(0,$.jsx)(`span`,{children:st(e.column.columnDef.header,e.getContext())}),(0,$.jsx)(Ht,{sort:t})]}):(0,$.jsx)(`span`,{children:st(e.column.columnDef.header,e.getContext())})},e.id)})},e.id))}),(0,$.jsxs)(`tbody`,{children:[i.map(e=>(0,$.jsx)(`tr`,{children:e.getVisibleCells().map(e=>(0,$.jsx)(`td`,{className:`admin-col-${e.column.id}`,children:st(e.column.columnDef.cell,e.getContext())},e.id))},e.id)),i.length===0&&(0,$.jsx)(`tr`,{children:(0,$.jsx)(`td`,{className:`admin-empty-row`,colSpan:e.getAllLeafColumns().length,children:n})})]})]}),a&&(0,$.jsx)(Ut,{table:e,t:r})]})}function Gt(){let{t:e,locale:t,formatNumber:n,formatTime:r}=d(),i=l(e=>e.hasBackend),a=l(e=>e.addToast),[p,m]=(0,C.useState)(St),[ae,y]=(0,C.useState)([]),[ue,x]=(0,C.useState)(``),[de,S]=(0,C.useState)(!1),[fe,w]=(0,C.useState)(!1),[T,E]=(0,C.useState)(!1),[D,he]=(0,C.useState)(`all`),[O,k]=(0,C.useState)([]),[ge,_e]=(0,C.useState)({pageIndex:0,pageSize:Tt}),[A,ve]=(0,C.useState)([]),[ye,j]=(0,C.useState)({pageIndex:0,pageSize:Tt}),[be,xe]=(0,C.useState)([{id:`log-time`,desc:!0}]),[M,N]=(0,C.useState)({pageIndex:0,pageSize:Tt}),[Se,Ce]=(0,C.useState)([]),[P,F]=(0,C.useState)(``),[I,L]=(0,C.useState)({dataPath:``,capacityGiB:`100`,maxFileSizeValue:`10`,maxFileSizeUnit:`GiB`,remoteInvites:``}),R=i===!0;function z(){return R?!0:(a(e(i===null?`admin.toast.backendChecking`:`admin.toast.backendDisconnected`),`warning`),!1)}let B=(0,C.useMemo)(()=>!p||p.capacity.configuredBytes<=0?0:Math.min(100,Math.round(p.capacity.usedBytes/p.capacity.configuredBytes*100)),[p]),we=p?.holdings||Ct,V=o(),H=!!V&&!V.includes(`localhost`)&&!V.includes(`127.0.0.1`),Te=(0,C.useMemo)(()=>[{id:`user`,accessorKey:`address`,header:e(`admin.userData.user`),cell:e=>{let t=e.getValue();return(0,$.jsx)(`span`,{title:t,translate:`no`,children:Mt(t)})}},{id:`user-files`,accessorKey:`fileCount`,header:e(`admin.userData.files`),cell:e=>n(e.getValue())},{id:`user-trash`,accessorKey:`trashCount`,header:e(`admin.userData.trash`),cell:e=>n(e.getValue())},{id:`user-actions`,header:e(`admin.userData.actions`),enableSorting:!1,cell:t=>{let n=t.row.original.address;return(0,$.jsxs)(`button`,{className:`btn btn-ghost`,onClick:()=>Me(n),disabled:P===n,children:[(0,$.jsx)(h,{size:16}),e(`admin.action.clear`)]})}}],[n,P,e]),Ee=(0,C.useMemo)(()=>[{id:`file`,accessorKey:`fileName`,header:e(`admin.holdings.file`),cell:e=>(0,$.jsx)(`span`,{translate:`no`,children:e.getValue()||`-`})},{id:`cid`,accessorKey:`cid`,header:`CID`,cell:e=>{let t=e.row.original;return(0,$.jsx)(`span`,{title:t.cid,translate:`no`,children:Mt(t.cid)})}},{id:`size`,accessorKey:`size`,header:e(`admin.holdings.size`),cell:e=>b(e.getValue())},{id:`peers`,accessorFn:e=>e.peerCount??0,header:e(`admin.holdings.peers`),cell:e=>n(e.getValue())},{id:`topic`,accessorFn:e=>Number(e.joined),header:e(`admin.holdings.topicJoined`),cell:t=>{let n=t.row.original;return(0,$.jsx)(`span`,{className:`admin-seed-pill ${n.joined?`active`:``}`,children:n.joined?e(`admin.holdings.joinedYes`):e(`admin.holdings.joinedNo`)})}},{id:`last-served`,accessorFn:e=>e.lastServedAt&&new Date(e.lastServedAt).getTime()||0,header:e(`admin.holdings.lastServed`),cell:n=>{let r=n.row.original.lastServedAt;return(0,$.jsx)(`span`,{title:r||``,children:Ft(r,e,t)})}},{id:`total-served`,accessorFn:e=>e.totalServedBytes||0,header:e(`admin.holdings.totalServed`),cell:e=>b(e.getValue())},{id:`status`,accessorFn:e=>e.seedStatus||(e.joined?`active`:`not-joined`),header:e(`admin.holdings.status`),cell:t=>{let n=t.row.original;return(0,$.jsx)(`span`,{className:`admin-seed-pill ${n.seedStatus===`error`?`error`:n.seedStatus===`active`||n.joined?`active`:``}`,children:Nt(n,e)})}}],[n,t,e]),De=(0,C.useMemo)(()=>[{id:`log-time`,accessorFn:e=>new Date(e.ts).getTime()||0,header:e(`admin.logs.time`),cell:e=>(0,$.jsx)(`time`,{children:r(e.row.original.ts)})},{id:`log-level`,accessorKey:`level`,header:e(`admin.logs.level`),cell:e=>(0,$.jsx)(`span`,{className:`admin-log-level ${e.getValue()}`,translate:`no`,children:e.getValue()})},{id:`log-event`,accessorKey:`event`,header:e(`admin.logs.event`),cell:e=>(0,$.jsx)(`strong`,{translate:`no`,children:e.getValue()})},{id:`log-message`,accessorKey:`message`,header:e(`admin.logs.message`),cell:e=>(0,$.jsx)(`span`,{translate:`no`,children:e.getValue()})}],[r,e]),U=dt({data:Se,columns:Te,state:{sorting:O,pagination:ge},onSortingChange:k,onPaginationChange:_e,getCoreRowModel:rt(),getSortedRowModel:ot(),getPaginationRowModel:at(),getRowId:e=>e.address}),Oe=dt({data:we,columns:Ee,state:{sorting:A,pagination:ye},onSortingChange:ve,onPaginationChange:j,getCoreRowModel:rt(),getSortedRowModel:ot(),getPaginationRowModel:at(),getRowId:e=>e.cid}),ke=dt({data:ae,columns:De,state:{sorting:be,pagination:M},onSortingChange:xe,onPaginationChange:N,getCoreRowModel:rt(),getSortedRowModel:ot(),getPaginationRowModel:at(),getRowId:e=>e.id}),W=async()=>{if(!R)return!1;try{let e=await s.get(`/api/node/status`).json(),t=await s.get(`/api/node/config`).json(),n=bt(t.maxFileSizeBytes);return m(e),L({dataPath:t.dataPath||e.dataPath||``,capacityGiB:kt(t.capacityBytes),maxFileSizeValue:n.value,maxFileSizeUnit:n.unit,remoteInvites:(t.remoteInvites||[]).join(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,o as t,t as n}from"./jsx-runtime-Bt-cYkS5.js";import{D as r,E as i,H as a,a as o,d as s,m as c,p as l,r as u,t as d}from"./useAppStore-Pjif7nCR.js";import{a as f,i as p}from"./i18n-
|
|
1
|
+
import{n as e,o as t,t as n}from"./jsx-runtime-Bt-cYkS5.js";import{D as r,E as i,H as a,a as o,d as s,m as c,p as l,r as u,t as d}from"./useAppStore-Pjif7nCR.js";import{a as f,i as p}from"./i18n-BPfshhQc.js";import{t as m}from"./circle-alert-Dg9cBJgj.js";import{t as h}from"./refresh-cw-Bxmcm8cn.js";import{L as g,r as _}from"./index-AZPpawN1.js";import{t as v}from"./channelApi-DA2GY-k4.js";import{t as y}from"./ChatRestoringIndicator-CLV78gNW.js";import{r as b,t as x}from"./chatJoinInvite-Cwot1ykh.js";var S=t(e(),1),C=n();function w({children:e,className:t=``}){return(0,C.jsx)(`main`,{className:t,children:e})}function T(e){return String(e||``).trim().replace(/\/+$/,``)}function E(e){return String(e||``).trim()}function D({inviteNodeUrl:e,inviteNodeInvite:t,hasBackend:n,activeBackendUrl:r,activeRemoteUrl:i,activeRemoteInvite:a}){let o=T(e),s=T(i),c=T(r);return!!o&&!!s&&n===!0&&c===s&&s===o&&E(a)===E(t)}function O(e){return!!T(e.inviteNodeUrl)&&!D(e)}var k=`data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"%3E%3Crect width="64" height="64" rx="16" fill="%232f7dd1"/%3E%3Ccircle cx="32" cy="25" r="11" fill="%23f8fbff"/%3E%3Cpath d="M14 56c3-12 12-18 18-18s15 6 18 18" fill="%23f8fbff"/%3E%3C/svg%3E`,A=`data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"%3E%3Crect width="64" height="64" rx="16" fill="%230f9f7a"/%3E%3Cpath d="M18 20h28v22H18z" rx="6" fill="%23f7fff9"/%3E%3Ccircle cx="27" cy="31" r="3" fill="%230f9f7a"/%3E%3Ccircle cx="37" cy="31" r="3" fill="%230f9f7a"/%3E%3Cpath d="M29 39h6" stroke="%230f9f7a" stroke-width="4" stroke-linecap="round"/%3E%3Cpath d="M32 12v8" stroke="%23f7fff9" stroke-width="5" stroke-linecap="round"/%3E%3C/svg%3E`,j=Object.freeze({id:`chatjoin_support`,name:`User / Service 测试频道`}),M=Object.freeze([Object.freeze({uid:`user`,theme:`sparkbit`,name:`测试用户`,avatar:k}),Object.freeze({uid:`service`,name:`测试客服`,avatar:A})]),N=Object.freeze(M.map(e=>Object.freeze({locale:`zh-CN`,uid:e.uid,theme:e.theme,avatar:e.avatar,name:e.name,channels:[j]})));function P(e){let t=String(e||``).trim();return N.find(e=>e.uid===t)||null}var F=50,I=x;function L(e){try{return JSON.parse(e)}catch{return null}}function R(e,t,n){if(t&&typeof t==`object`&&`error`in t){let e=t.error;if(typeof e==`string`)return e}return e||n}function z(e){return`/chat?channel=${encodeURIComponent(e)}`}function B(e){return String(e||``).trim().slice(0,F)}function V(){let{t:e,setLocale:t}=f(),n=g({select:e=>e.searchStr}),{token:a,pub:x,fixture:T}=(0,S.useMemo)(()=>{let e=new URLSearchParams(n);return{token:e.get(`token`)||``,pub:e.get(`pub`)||``,fixture:e.get(`fixture`)||``}},[n]),E=d(e=>e.hasBackend),D=d(e=>e.setIsDarkMode),k=i(e=>e.setUserIdentity),[A,j]=(0,S.useState)(``),[M,N]=(0,S.useState)(!0),[F,V]=(0,S.useState)(0),H=(0,S.useRef)(``);function U(){H.current=``,j(``),N(!0),V(e=>e+1)}return(0,S.useEffect)(()=>{let n=P(T);if(T&&!n){j(e(`chatJoin.error.unknownFixture`,{fixture:T})),N(!1);return}if(!n&&!a){j(e(`chatJoin.error.missingToken`)),N(!1);return}if(!n&&!x){j(e(`chatJoin.error.missingPub`)),N(!1);return}if(E===null)return;let i=n?`fixture:${T}`:`${a}:${x}`;if(H.current===i)return;H.current=i;async function f(n){let i=(t,r)=>n.locale?p(t,n.locale,r):e(t,r);n.locale&&t(n.locale),n.appearance===`dark`&&D(!0),n.appearance===`light`&&D(!1);let a=c(),f=l(),m=s();if(O({inviteNodeUrl:n.node_url,inviteNodeInvite:n.node_invite,hasBackend:E,activeBackendUrl:m,activeRemoteUrl:a,activeRemoteInvite:f})){if(!(await u({url:n.node_url,invite:n.node_invite||``})).ok)throw Error(i(`chatJoin.error.remoteConnectFailed`));o({url:n.node_url,invite:n.node_invite||``}),d.setState({hasBackend:!0})}else if(!E)throw Error(i(`chatJoin.error.noBackend`));let h=r(n.uid,``),g={...h,theme:n.theme,displayName:n.name||h.displayName,logo:n.logo,logo_dark:n.logo_dark,data:n.data,avatar:n.avatar};k(g);let y=``;for(let e of n.channels){let t=await v.createChannel(e.id,`public`,_(g)),n=t.channelKey||t.key||e.id;y||=n;let r=B(e.name);r&&await v.setChannelRemark(n,r)}let b=n.channels[0];window.location.href=z(y||b.id)}async function m(){try{if(n){await f(n);return}let t=await fetch(`${I}/api/chat.join.decrypt`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:a,pub:x})}),r=await t.text(),i=L(r);if(!t.ok)j(R(r,i,e(`chatJoin.error.decrypt`)));else{let t=b(i);if(!t){j(e(`chatJoin.error.invalidInvite`));return}await f(t)}}catch(t){j(e(`chatJoin.error.request`,{message:t instanceof Error?t.message:String(t)}))}finally{N(!1)}}m()},[T,E,x,F,D,t,k,e,a]),(0,C.jsx)(w,{className:`chat-join-loading-page`,children:(0,C.jsx)(`div`,{className:`chat-join-loading-panel`,children:M?(0,C.jsx)(y,{}):A?(0,C.jsxs)(`div`,{className:`chat-join-error`,children:[(0,C.jsx)(m,{size:32}),(0,C.jsx)(`p`,{children:A}),(0,C.jsx)(`div`,{className:`chat-join-actions`,children:(0,C.jsxs)(`button`,{type:`button`,className:`btn btn-primary`,onClick:U,children:[(0,C.jsx)(h,{size:16}),e(`chatJoin.action.retry`)]})})]}):(0,C.jsx)(y,{})})})}function H(){return(0,C.jsx)(S.Suspense,{children:(0,C.jsx)(V,{})})}var U=a(`/chat/join/`)({component:H});export{U as Route};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-Bt-cYkS5.js";import{B as t,H as n,W as r,t as i}from"./useAppStore-Pjif7nCR.js";import{a}from"./i18n-BPfshhQc.js";import{t as o}from"./download-nQ9X-v0q.js";import{t as s}from"./folder-open-BKTeAP5z.js";import{t as c}from"./gamepad-2-q3ssU_CE.js";import{t as l}from"./hard-drive-CMNAmPI5.js";import{t as u}from"./messages-square-Dr9v7Ilv.js";import{t as d}from"./notebook-pen-CMRWy6ni.js";import{t as f}from"./wallet-Ts6jdQzi.js";import{E as p,k as m}from"./index-AZPpawN1.js";import{t as h}from"./MarketingLayout-D42kTRyf.js";var g=t(`arrow-up-right`,[[`path`,{d:`M7 7h10v10`,key:`1tivn9`}],[`path`,{d:`M7 17 17 7`,key:`1vkiza`}]]),_=e(),v=[{id:`app`,titleKey:`portal.feature.app.title`,subtitleKey:`portal.feature.app.subtitle`,descKey:`portal.feature.app.desc`,icon:(0,_.jsx)(s,{size:28}),path:`/app/`,requiresBackend:!0},{id:`chat`,titleKey:`portal.feature.chat.title`,subtitleKey:`portal.feature.chat.subtitle`,descKey:`portal.feature.chat.desc`,icon:(0,_.jsx)(u,{size:28}),path:`/chat/`,requiresBackend:!0},{id:`note`,titleKey:`portal.feature.note.title`,subtitleKey:`portal.feature.note.subtitle`,descKey:`portal.feature.note.desc`,icon:(0,_.jsx)(d,{size:28}),path:`/note/`,requiresBackend:!1},{id:`gandengyan`,titleKey:`portal.feature.game.title`,subtitleKey:`portal.feature.game.subtitle`,descKey:`portal.feature.game.desc`,icon:(0,_.jsx)(c,{size:28}),path:`/game/gandengyan/`,requiresBackend:!0},{id:`web3`,titleKey:`portal.feature.web3.title`,subtitleKey:`portal.feature.web3.subtitle`,descKey:`portal.feature.web3.desc`,icon:(0,_.jsx)(f,{size:28}),path:`/web3/`,requiresBackend:!1}],y=[`app`,`chat`,`note`,`gandengyan`,`web3`];function b(e){return e===!0?`connected`:e===!1?`disconnected`:`checking`}function x(){let e=i(e=>e.hasBackend),t=i(e=>e.openConnectModal),{t:n}=a(),s=p(),c=y.map(e=>v.find(t=>t.id===e)).filter(e=>!!e),u=b(e),d=n(u===`connected`?`common.status.connected`:u===`disconnected`?`common.status.needsConnection`:`common.status.checking`);return(0,_.jsx)(`div`,{className:`portal-page`,children:(0,_.jsx)(`section`,{className:`portal-hero`,children:(0,_.jsxs)(`div`,{className:`mkt-container portal-hero-inner`,children:[(0,_.jsxs)(`div`,{className:`portal-hero-copy`,children:[(0,_.jsx)(`div`,{className:`portal-hero-rule`,"aria-hidden":`true`}),(0,_.jsxs)(`div`,{className:`portal-hero-kicker-row`,children:[(0,_.jsx)(`p`,{className:`portal-hero-kicker`,children:`Direct P2P toolbox`}),(0,_.jsxs)(`span`,{className:`portal-node-status ${u}`,"aria-live":`polite`,children:[(0,_.jsx)(`span`,{className:`status-dot ${u}`}),d]})]}),(0,_.jsx)(`h1`,{className:`portal-hero-title`,children:n(`common.brand`)}),(0,_.jsx)(`p`,{className:`portal-hero-subtitle`,children:n(`portal.hero.subtitle`)}),(0,_.jsxs)(`div`,{className:`portal-hero-actions`,children:[!s&&(0,_.jsxs)(r,{to:`/download/`,className:`btn btn-primary`,children:[(0,_.jsx)(o,{size:16}),n(`nav.downloadClient`)]}),(0,_.jsxs)(`button`,{onClick:t,className:`btn btn-secondary`,children:[(0,_.jsx)(m,{size:16}),n(`portal.webConnectNode`)]}),(0,_.jsxs)(r,{to:`/admin/`,className:`btn btn-secondary`,children:[(0,_.jsx)(l,{size:16}),n(`portal.nodeAdmin`)]})]})]}),(0,_.jsx)(`div`,{className:`portal-feature-grid`,children:c.map(e=>(0,_.jsxs)(r,{to:e.path,className:`portal-feature-card ${e.id}`,children:[(0,_.jsxs)(`div`,{className:`portal-feature-card-head`,children:[(0,_.jsxs)(`div`,{className:`portal-feature-card-title`,children:[(0,_.jsx)(`span`,{className:`portal-feature-card-icon`,children:e.icon}),(0,_.jsx)(`h2`,{children:n(e.titleKey)})]}),(0,_.jsx)(`span`,{className:`portal-feature-card-arrow`,children:(0,_.jsx)(g,{size:16})})]}),(0,_.jsx)(`p`,{children:n(e.descKey)})]},e.id))})]})})})}function S(){return(0,_.jsx)(h,{children:(0,_.jsx)(x,{})})}var C=n(`/`)({component:S});export{C as Route};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,o as t,t as n}from"./jsx-runtime-Bt-cYkS5.js";import{B as r,E as i,H as a,O as ee,W as o,n as te,o as ne,t as s}from"./useAppStore-Pjif7nCR.js";import{a as re}from"./i18n-BPfshhQc.js";import{t as c}from"./fingerprint-pattern-Z6NfIcxC.js";import{t as l}from"./circle-alert-Dg9cBJgj.js";import{a as u,i as d}from"./AccountMenu-BpUGPUSa.js";import{t as ie}from"./download-nQ9X-v0q.js";import{t as ae}from"./external-link-LcGMVTLE.js";import{n as oe,t as f}from"./CopyButton-BN_vYKM8.js";import{t as p}from"./loader-DAMqAKH7.js";import{t as m}from"./save-CQyJvrmI.js";import{t as h}from"./shield-check-Cq1PKT30.js";import{t as g}from"./upload-PpzkqJnf.js";import{I as _,O as v,T as y,_ as b,g as x,h as S,o as se,v as C,w as ce,y as w}from"./index-AZPpawN1.js";import{t as T}from"./MarketingLayout-D42kTRyf.js";import{t as le}from"./MarketingHeader-B0jpxRYu.js";import{n as ue}from"./mp-CFhRibX9.js";var de=r(`cloud-download`,[[`path`,{d:`M12 13v8l-4-4`,key:`1f5nwf`}],[`path`,{d:`m12 21 4-4`,key:`1lfcce`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`,key:`ui1hmy`}]]),fe=r(`cloud-upload`,[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`,key:`1pljnt`}],[`path`,{d:`m8 17 4-4 4 4`,key:`1quai1`}]]),pe=r(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),me=r(`wallet-cards`,[[`path`,{d:`M3 11h3.75a2 2 0 0 1 1.6.8l.45.6a4 4 0 0 0 6.4 0l.45-.6a2 2 0 0 1 1.6-.8H21`,key:`1vwh6y`}],[`path`,{d:`M3 7h18`,key:`1uiuf2`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`,key:`h1oib`}]]),E=t(e(),1),D=n(),O=[{value:``,labelKey:`profile.avatar.address`},...S.map(e=>({value:b(e),labelKey:`profile.avatar.${e}`}))];function k(e){if(C(e))return!0;try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function A(e){return e===`disabled`?`is-disabled`:e===`working`?`is-working`:e===`synced`?`is-synced`:e===`error`?`is-error`:`is-idle`}function j({status:e,busy:t}){return t||e===`working`?(0,D.jsx)(p,{size:16,className:`ui-spinner`}):e===`synced`?(0,D.jsx)(_,{size:16}):e===`error`?(0,D.jsx)(l,{size:16}):(0,D.jsx)(h,{size:16})}function M(){let{formatNumber:e,t}=re(),n=s(e=>e.addToast),r=s(e=>e.hasBackend),a=i(e=>e.identity),l=i(e=>e.openLoginModal),_=i(e=>e.setUserIdentity),b=i(e=>e.logoutUser),S=se(),[C,M]=(0,E.useState)(``),[F,I]=(0,E.useState)(``),[L,R]=(0,E.useState)(``),[z,B]=(0,E.useState)(!1),[V,H]=(0,E.useState)(null),U=(0,D.jsx)(le,{});(0,E.useEffect)(()=>{if(!a){M(``),I(``),R(``);return}M(a.displayName||a.username),I(w(a.avatar)||a.avatar||``),R(``)},[a]),(0,E.useEffect)(()=>{a&&S.refreshBackupSummary()},[S.refreshBackupSummary,r,a]);let W=(0,E.useMemo)(()=>a?ee(a.danger):null,[a]),he=(0,E.useMemo)(()=>W?ue(W.private_key,W.ed_public_key):``,[W]);if(!a)return(0,D.jsx)(T,{header:U,children:(0,D.jsx)(`section`,{className:`profile-page`,children:(0,D.jsx)(`div`,{className:`profile-container narrow`,children:(0,D.jsxs)(`div`,{className:`profile-empty glass`,children:[(0,D.jsx)(`div`,{className:`profile-empty-icon`,children:(0,D.jsx)(d,{size:34})}),(0,D.jsx)(`h1`,{children:t(`profile.signedOut.title`)}),(0,D.jsx)(`p`,{children:t(`profile.signedOut.desc`)}),(0,D.jsxs)(`button`,{type:`button`,className:`btn btn-primary`,onClick:l,children:[(0,D.jsx)(d,{size:16}),t(`account.signIn`)]})]})})})});let ge=w(a.avatar)||a.avatar||``,_e=x(a.address,a.avatar),G=a.address.toLowerCase(),ve=F.trim().length>0,ye=A(S.status),K=S.action===`backup`,q=S.action===`restore`,J=S.action===`export`,Y=S.action===`import`,be=[{key:`notes`,label:t(`profile.backup.summary.notes`),value:S.notesCount},{key:`files`,label:t(`profile.backup.summary.files`),value:S.backupSummary.filesCount},{key:`trash`,label:t(`profile.backup.summary.trash`),value:S.backupSummary.trashFilesCount},{key:`channels`,label:t(`profile.backup.summary.channels`),value:S.backupSummary.channelsCount}];function xe(){H({title:t(`profile.backup.confirm.backupTitle`),message:t(`profile.backup.confirm.backupMessage`),confirmText:t(`profile.backup.action.cloudBackup`),onConfirm:async()=>{H(null),await S.backupToCloud()}})}function Se(){H({title:t(`profile.backup.confirm.restoreTitle`),message:t(`profile.backup.confirm.restoreMessage`),confirmText:t(`profile.backup.action.cloudRestore`),onConfirm:async()=>{H(null),await S.restoreFromCloud({confirm:!1})}})}function Ce(){return new Promise(e=>{let n=t=>{H(null),e(t)};H({title:t(`profile.backup.confirm.importTitle`),message:t(`profile.backup.confirm.restore`),confirmText:t(`profile.backup.action.importLocal`),onConfirm:()=>n(!0),onClose:()=>n(!1)})})}function X(){S.importLocalBackup({requestConfirm:Ce})}let Z=[{key:`cloud-backup`,tone:`cloud-backup`,label:t(K?`profile.backup.status.backingUp`:`profile.backup.action.cloudBackup`),icon:K?(0,D.jsx)(p,{size:16,className:`ui-spinner`}):(0,D.jsx)(fe,{size:16}),onClick:xe},{key:`cloud-restore`,tone:`cloud-restore`,label:t(q?`profile.backup.status.restoring`:`profile.backup.action.cloudRestore`),icon:q?(0,D.jsx)(p,{size:16,className:`ui-spinner`}):(0,D.jsx)(de,{size:16}),onClick:Se},{key:`export-local`,tone:`export-local`,label:t(J?`profile.backup.status.exporting`:`profile.backup.action.exportLocal`),icon:J?(0,D.jsx)(p,{size:16,className:`ui-spinner`}):(0,D.jsx)(ie,{size:16}),onClick:S.exportLocalBackup},{key:`import-local`,tone:`import-local`,label:t(Y?`profile.backup.status.importing`:`profile.backup.action.importLocal`),icon:Y?(0,D.jsx)(p,{size:16,className:`ui-spinner`}):(0,D.jsx)(g,{size:16}),onClick:X}],we=[{key:`cloud`,label:t(`profile.backup.group.cloud`),actions:Z.slice(0,2)},{key:`local`,label:t(`profile.backup.group.local`),actions:Z.slice(2)}];async function Q(e){if(r===!0)try{await te.put(`/api/user/profile`,{json:{displayName:e.displayName||e.username,avatar:e.avatar||``,updatedAt:e.profileUpdatedAt||Date.now()}}).json()}catch(e){n(await ne(e,t(`profile.backup.error.profileSaveFailed`)),`error`)}}function $(e){if(!a)return;let r={...a,avatar:e||void 0,profileUpdatedAt:Date.now()};_(r),Q(r),R(``),n(t(`profile.toast.avatarUpdated`),`success`)}function Te(){if(!a)return;let e=C.trim()||a.username,r={...a,displayName:e,profileUpdatedAt:Date.now()};_(r),Q(r),M(e),n(t(`profile.toast.saved`),`success`)}function Ee(){let e=F.trim();if(!e){$(void 0);return}if(!k(e)){R(t(`nav.avatarUrlInvalid`));return}$(e)}function De(){b(),B(!1)}return(0,D.jsxs)(T,{header:U,children:[(0,D.jsx)(`section`,{className:`profile-page`,children:(0,D.jsxs)(`div`,{className:`profile-container`,children:[(0,D.jsxs)(`section`,{className:`profile-panel profile-backup-card`,children:[(0,D.jsxs)(`div`,{className:`profile-panel-header profile-backup-header`,children:[(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`h2`,{children:t(`profile.section.backup`)}),(0,D.jsx)(`p`,{children:t(`profile.section.backup.desc`)})]}),(0,D.jsxs)(`span`,{className:`profile-backup-status ${ye}`,children:[(0,D.jsx)(j,{status:S.status,busy:S.busy}),S.statusLabel]})]}),(0,D.jsx)(`div`,{className:`profile-backup-summary`,"aria-label":t(`profile.backup.summary.label`),children:be.map(t=>(0,D.jsxs)(`div`,{className:`profile-backup-stat`,children:[(0,D.jsx)(`span`,{className:`profile-backup-stat-value`,children:t.value===null?S.backupSummary.loading?`...`:`-`:e(t.value)}),(0,D.jsx)(`span`,{className:`profile-backup-stat-label`,children:t.label})]},t.key))}),(0,D.jsx)(`div`,{className:`profile-backup-actions`,children:we.map(e=>(0,D.jsxs)(`section`,{className:`profile-backup-action-group`,"aria-label":e.label,children:[(0,D.jsx)(`h3`,{className:`profile-backup-action-group-title`,children:e.label}),(0,D.jsx)(`div`,{className:`profile-backup-action-list`,children:e.actions.map(e=>(0,D.jsxs)(`button`,{type:`button`,className:[`btn`,`profile-backup-action`,`is-${e.tone}`].join(` `),disabled:S.busy,onClick:e.onClick,children:[e.icon,e.label]},e.key))})]},e.key))})]}),(0,D.jsxs)(`header`,{className:`profile-header`,children:[(0,D.jsx)(`img`,{className:`profile-avatar-large`,src:_e,alt:``}),(0,D.jsxs)(`div`,{className:`profile-heading`,children:[(0,D.jsx)(`p`,{className:`profile-kicker`,children:t(`profile.kicker`)}),(0,D.jsx)(`h1`,{children:a.displayName||a.username}),(0,D.jsxs)(`div`,{className:`profile-address-line`,children:[(0,D.jsx)(`code`,{translate:`no`,children:G}),(0,D.jsx)(f,{text:G}),(0,D.jsxs)(`a`,{href:`https://debank.com/profile/${a.address}`,target:`_blank`,rel:`noopener noreferrer`,className:`btn btn-secondary btn-sm`,children:[(0,D.jsx)(ae,{size:14}),t(`web3.action.view`)]})]})]}),(0,D.jsxs)(`button`,{type:`button`,className:`btn btn-secondary profile-logout-btn`,onClick:()=>B(!0),children:[(0,D.jsx)(pe,{size:16}),t(`account.logout`)]})]}),(0,D.jsxs)(`div`,{className:`profile-grid`,children:[(0,D.jsxs)(`section`,{className:`profile-panel`,children:[(0,D.jsx)(`div`,{className:`profile-panel-header`,children:(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`h2`,{children:t(`profile.section.account`)}),(0,D.jsx)(`p`,{children:t(`profile.section.account.desc`)})]})}),(0,D.jsxs)(`label`,{className:`profile-field`,children:[(0,D.jsx)(`span`,{children:t(`profile.label.displayName`)}),(0,D.jsxs)(`div`,{className:`profile-field-row`,children:[(0,D.jsx)(`input`,{className:`input`,value:C,onChange:e=>M(e.target.value),placeholder:t(`nav.displayNamePlaceholder`)}),(0,D.jsxs)(`button`,{type:`button`,className:`btn btn-primary`,onClick:Te,children:[(0,D.jsx)(m,{size:16}),t(`profile.action.save`)]})]})]}),(0,D.jsx)(`div`,{className:`profile-facts`,children:(0,D.jsx)(N,{label:t(`profile.label.username`),value:a.username})})]}),(0,D.jsxs)(`section`,{className:`profile-panel`,children:[(0,D.jsx)(`div`,{className:`profile-panel-header`,children:(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`h2`,{children:t(`profile.section.avatar`)}),(0,D.jsx)(`p`,{children:t(`profile.section.avatar.desc`)})]})}),(0,D.jsx)(`div`,{className:`profile-avatar-grid`,role:`list`,children:O.map(e=>{let n=ge===e.value;return(0,D.jsxs)(`button`,{type:`button`,className:[`profile-avatar-option`,n?`selected`:``].filter(Boolean).join(` `),onClick:()=>$(e.value),"aria-pressed":n,title:t(e.labelKey),children:[(0,D.jsx)(`img`,{src:x(a.address,e.value),alt:``,"aria-hidden":`true`}),(0,D.jsx)(`span`,{children:t(e.labelKey)}),n&&(0,D.jsx)(`span`,{className:`profile-avatar-check`,children:(0,D.jsx)(u,{size:14})})]},e.value||`address`)})}),(0,D.jsxs)(`div`,{className:`profile-avatar-url`,children:[(0,D.jsxs)(`label`,{className:`profile-field`,htmlFor:`profile-avatar-url`,children:[(0,D.jsx)(`span`,{children:t(`profile.label.customAvatar`)}),(0,D.jsxs)(`div`,{className:`profile-field-row`,children:[(0,D.jsx)(`input`,{id:`profile-avatar-url`,className:`input`,value:F,onChange:e=>{I(e.target.value),R(``)},placeholder:t(`nav.avatarUrlPlaceholder`)}),(0,D.jsxs)(`button`,{type:`button`,className:`btn btn-secondary`,onClick:Ee,disabled:!ve,children:[(0,D.jsx)(m,{size:16}),t(`profile.action.save`)]})]})]}),L&&(0,D.jsx)(`p`,{className:`profile-error`,children:L})]})]})]}),(0,D.jsxs)(`section`,{className:`profile-panel profile-identity-panel`,children:[(0,D.jsxs)(`div`,{className:`profile-panel-header`,children:[(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`h2`,{children:t(`profile.section.identity`)}),(0,D.jsx)(`p`,{children:t(`profile.section.identity.desc`)})]}),(0,D.jsxs)(o,{to:`/web3/`,hash:`wallet`,className:`btn btn-secondary`,children:[(0,D.jsx)(me,{size:16}),t(`profile.action.openWallet`)]})]}),(0,D.jsxs)(`div`,{className:`profile-key-grid`,children:[W&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(P,{title:t(`web3.label.ed25519Public`),icon:(0,D.jsx)(c,{size:18}),value:W.ed_public_key}),(0,D.jsx)(P,{title:t(`web3.label.x25519Public`),icon:(0,D.jsx)(oe,{size:18}),value:W.public_key})]}),(0,D.jsx)(P,{title:`IPNS ID`,icon:(0,D.jsx)(h,{size:18}),value:he||`-`})]})]})]})}),V&&(0,D.jsx)(ce,{title:V.title,message:V.message,confirmText:V.confirmText,danger:V.danger,onConfirm:V.onConfirm,onClose:V.onClose||(()=>H(null))}),z&&(0,D.jsx)(y,{className:`profile-logout-overlay`,onClose:()=>B(!1),children:(0,D.jsxs)(`div`,{className:`confirm-modal profile-logout-modal`,onClick:e=>e.stopPropagation(),children:[(0,D.jsxs)(`div`,{className:`modal-header`,children:[(0,D.jsx)(`h3`,{children:t(`account.logoutTitle`)}),(0,D.jsx)(`button`,{type:`button`,className:`btn btn-icon`,onClick:()=>B(!1),"aria-label":t(`common.close`),children:(0,D.jsx)(v,{size:18})})]}),(0,D.jsx)(`p`,{className:`profile-logout-reminder`,children:t(`profile.logout.backupReminder`)}),(0,D.jsxs)(`div`,{className:`profile-logout-backup-actions`,children:[(0,D.jsx)(`button`,{type:`button`,className:`btn btn-secondary`,disabled:S.busy,onClick:()=>void S.backupToCloud(),children:t(`profile.backup.action.cloudBackup`)}),(0,D.jsx)(`button`,{type:`button`,className:`btn btn-secondary`,disabled:S.busy,onClick:()=>void S.exportLocalBackup(),children:t(`profile.backup.action.exportLocal`)})]}),(0,D.jsxs)(`div`,{className:`modal-actions`,children:[(0,D.jsx)(`button`,{type:`button`,className:`btn btn-secondary`,onClick:()=>B(!1),children:t(`common.cancel`)}),(0,D.jsx)(`button`,{type:`button`,className:`btn btn-danger`,onClick:De,children:t(`account.logout`)})]})]})})]})}function N({label:e,value:t,copy:n=!1}){return(0,D.jsxs)(`div`,{className:`profile-fact`,children:[(0,D.jsx)(`span`,{children:e}),(0,D.jsxs)(`div`,{className:`profile-fact-value`,children:[(0,D.jsx)(`code`,{translate:`no`,children:t}),n&&(0,D.jsx)(f,{text:t})]})]})}function P({title:e,icon:t,value:n}){return(0,D.jsxs)(`div`,{className:`profile-key-card`,children:[(0,D.jsxs)(`div`,{className:`profile-key-card-header`,children:[(0,D.jsx)(`span`,{className:`profile-key-card-icon`,children:t}),(0,D.jsx)(`span`,{children:e})]}),(0,D.jsxs)(`div`,{className:`mono-row`,children:[(0,D.jsx)(`code`,{className:`mono`,translate:`no`,children:n}),(0,D.jsx)(f,{text:n})]})]})}var F=a(`/profile/`)({component:M});export{F as Route};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,o as t,t as n}from"./jsx-runtime-Bt-cYkS5.js";import{B as r,H as i,W as a}from"./useAppStore-Pjif7nCR.js";import{a as o}from"./i18n-DKsg67mH.js";import{n as s,t as c}from"./smartphone-D9j5h2Pg.js";import{t as l}from"./download-nQ9X-v0q.js";import{I as u}from"./index-CCU5Z4K-.js";import{t as d}from"./MarketingHeader-Bh6LcQOj.js";import{n as f}from"./format-CAKfypjK.js";var p=r(`apple`,[[`path`,{d:`M12 6.528V3a1 1 0 0 1 1-1h0`,key:`11qiee`}],[`path`,{d:`M18.237 21A15 15 0 0 0 22 11a6 6 0 0 0-10-4.472A6 6 0 0 0 2 11a15.1 15.1 0 0 0 3.763 10 3 3 0 0 0 3.648.648 5.5 5.5 0 0 1 5.178 0A3 3 0 0 0 18.237 21`,key:`110c12`}]]),m=r(`code`,[[`path`,{d:`m16 18 6-6-6-6`,key:`eg8j8`}],[`path`,{d:`m8 6-6 6 6 6`,key:`ppft3o`}]]),h=r(`laptop`,[[`path`,{d:`M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z`,key:`1pdavp`}],[`path`,{d:`M20.054 15.987H3.946`,key:`14rxg9`}]]),g=r(`monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]),_=r(`tablet-smartphone`,[[`rect`,{width:`10`,height:`14`,x:`3`,y:`8`,rx:`2`,key:`1vrsiq`}],[`path`,{d:`M5 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2h-2.4`,key:`1j4zmg`}],[`path`,{d:`M8 18h.01`,key:`lrp35t`}]]),v=t(e(),1),y=[`windows`,`macos`,`linux`,`android`],b=[`x64`,`arm64`,`universal`],x=[`installer`],S=Object.freeze([{platform:`windows`,arch:`x64`},{platform:`windows`,arch:`arm64`},{platform:`macos`,arch:`x64`},{platform:`macos`,arch:`arm64`},{platform:`linux`,arch:`x64`},{platform:`linux`,arch:`arm64`},{platform:`android`,arch:`universal`}]);function C(e){return`${e.platform}:${e.arch}`}var w=new Set(y),T=new Set(b),E=new Set(x),D=new Set(S.map(C));function O(e){return typeof e==`object`&&!!e}function k(e){return typeof e==`string`&&e.trim().length>0}function A(e){return Number.isFinite(e)&&e>0}function j(e){return e===void 0||k(e)}function M(e){return O(e)?w.has(e.platform)&&T.has(e.arch)&&D.has(C(e))&&E.has(e.kind)&&k(e.filename)&&A(e.size)&&k(e.cid)&&k(e.githubUrl)&&j(e.r2Url):!1}function N(e){return!O(e)||!k(e.version)||!k(e.publishedAt)||!Array.isArray(e.assets)?!1:e.assets.every(M)}function P(e){return C(e)}function F(e){return N(e)?e.assets.filter(e=>e.kind===`installer`):[]}function I(e){return Array.isArray(e)?e.some(e=>O(e)&&k(e.r2Url)):!1}function L(e,t=`r2`){return t===`r2`&&O(e)&&k(e.r2Url)?{source:`r2`,url:e.r2Url}:{source:`github`,url:O(e)&&k(e.githubUrl)?e.githubUrl:``}}var R=`https://github.com/most-people/most/releases/latest`,z=[{platform:`windows`,arch:`x64`,kind:`installer`,filename:`GitHub Releases`,githubUrl:R},{platform:`windows`,arch:`arm64`,kind:`installer`,filename:`GitHub Releases`,githubUrl:R},{platform:`macos`,arch:`x64`,kind:`installer`,filename:`GitHub Releases`,githubUrl:R},{platform:`macos`,arch:`arm64`,kind:`installer`,filename:`GitHub Releases`,githubUrl:R},{platform:`linux`,arch:`x64`,kind:`installer`,filename:`GitHub Releases`,githubUrl:R},{platform:`linux`,arch:`arm64`,kind:`installer`,filename:`GitHub Releases`,githubUrl:R},{platform:`android`,arch:`universal`,kind:`installer`,filename:`GitHub Releases`,githubUrl:R}];function B(e){return e.VITE_RELEASE_MANIFEST_URL||`${(e.VITE_R2_PUBLIC_BASE_URL||`https://download.most.box`).replace(/\/+$/,``)}/releases/latest.json`}function V({manifest:e,currentKey:t,requestedSource:n}){let r=e?F(e):[],i=r.length?r:z,a=I(i),o=n===`r2`&&a?`r2`:`github`,s=i.find(e=>P(e)===t)||null;return{assets:i,currentAsset:s,otherAssets:s?i.filter(e=>P(e)!==t):i,hasR2Assets:a,activeSource:o,currentDownload:s?L(s,o):null}}function H(e,t){return L(e,t)}var U=n(),W=B({VITE_RELEASE_MANIFEST_URL:void 0,VITE_R2_PUBLIC_BASE_URL:void 0}),G={windows:{name:`Windows`,ext:`.exe`,descKey:`download.platform.windows.desc`,icon:g},macos:{name:`macOS`,ext:`.dmg`,descKey:`download.platform.macos.desc`,icon:p},linux:{name:`Linux`,ext:`.AppImage`,descKey:`download.platform.linux.desc`,icon:h},android:{name:`Android`,ext:`.apk`,descKey:`download.platform.android.desc`,icon:_}},K=[{key:`ios`,nameKey:`download.platform.ios.name`,descKey:`download.platform.ios.desc`,icon:c}],q=`android:universal`;function J(){return[navigator.userAgentData?.platform,navigator.platform,navigator.userAgent].filter(Boolean).join(` `).toLowerCase()}function Y(){if(typeof navigator>`u`)return`windows:x64`;let e=J(),t=/arm|aarch64/.test(e)?`arm64`:`x64`;return/android/.test(e)?q:/mac|darwin/.test(e)?`macos:${t}`:/linux/.test(e)?`linux:${t}`:`windows:${t}`}function X(){let{t:e}=o(),[t,n]=(0,v.useState)(null),[r,i]=(0,v.useState)(W?`loading`:`fallback`),[a,c]=(0,v.useState)(`windows:x64`),[d,p]=(0,v.useState)(`r2`);(0,v.useEffect)(()=>{c(Y())},[]),(0,v.useEffect)(()=>{if(!W)return;let e=new AbortController;return fetch(W,{cache:`no-store`,signal:e.signal}).then(e=>{if(!e.ok)throw Error(`Manifest request failed: ${e.status}`);return e.json()}).then(e=>{if(!N(e))throw Error(`Invalid download manifest`);n(e),i(`ready`)}).catch(e=>{e instanceof DOMException&&e.name===`AbortError`||(n(null),i(`fallback`))}),()=>e.abort()},[]),(0,v.useEffect)(()=>{r===`fallback`&&p(`github`)},[r]);let{currentAsset:h,otherAssets:g,hasR2Assets:_,activeSource:y}=V({manifest:t,currentKey:a,requestedSource:d}),b=t=>H(t,y).source===`r2`?e(`download.source.r2Mirror`):`GitHub Releases`,x=e=>H(e,y).url,S=t=>{let n=G[t.platform],r=n.icon;return(0,U.jsxs)(`article`,{className:`download-current-card`,children:[(0,U.jsxs)(`div`,{className:`download-current-main`,children:[(0,U.jsx)(`div`,{className:`download-current-icon`,children:(0,U.jsx)(r,{size:34})}),(0,U.jsxs)(`div`,{className:`download-current-copy`,children:[(0,U.jsxs)(`div`,{className:`download-current-labels`,children:[(0,U.jsxs)(`span`,{className:`download-current-kicker`,children:[(0,U.jsx)(u,{size:14}),e(`download.platform.currentSystem`)]}),(0,U.jsx)(`span`,{className:`download-current-recommended`,children:e(`download.platform.recommended`)})]}),(0,U.jsxs)(`div`,{className:`download-current-heading`,children:[(0,U.jsx)(`h3`,{children:n.name}),(0,U.jsx)(`span`,{children:t.arch})]}),(0,U.jsx)(`p`,{children:e(n.descKey)}),(0,U.jsxs)(`dl`,{className:`download-current-meta`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`dt`,{children:e(`download.platform.source`)}),(0,U.jsx)(`dd`,{children:b(t)})]}),t.size?(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`dt`,{children:e(`download.platform.size`)}),(0,U.jsx)(`dd`,{children:f(t.size)})]}):null,t.cid?(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`dt`,{children:`CID`}),(0,U.jsx)(`dd`,{children:t.cid.slice(0,12)})]}):null]})]})]}),(0,U.jsxs)(`div`,{className:`download-current-actions`,children:[(0,U.jsx)(`span`,{children:e(`download.platform.matchedSystem`)}),(0,U.jsxs)(`a`,{href:x(t),className:`btn btn-primary`,children:[(0,U.jsx)(l,{size:17}),e(`download.platform.action`,{ext:n.ext})]}),(0,U.jsx)(`p`,{children:b(t)})]})]})},C=t=>{let n=G[t.platform],r=n.icon,i=P(t),o=i===a;return(0,U.jsxs)(`article`,{className:[`download-platform-card`,o?`is-recommended`:``].filter(Boolean).join(` `),children:[(0,U.jsx)(`div`,{className:`download-platform-icon`,children:(0,U.jsx)(r,{size:32})}),(0,U.jsxs)(`div`,{className:`download-platform-content`,children:[(0,U.jsxs)(`div`,{className:`download-platform-heading`,children:[(0,U.jsx)(`h3`,{children:n.name}),(0,U.jsx)(`span`,{children:t.arch})]}),(0,U.jsx)(`p`,{children:e(n.descKey)}),(0,U.jsxs)(`dl`,{className:`download-platform-meta`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`dt`,{children:e(`download.platform.source`)}),(0,U.jsx)(`dd`,{children:b(t)})]}),t.size?(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`dt`,{children:e(`download.platform.size`)}),(0,U.jsx)(`dd`,{children:f(t.size)})]}):null,t.cid?(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`dt`,{children:`CID`}),(0,U.jsx)(`dd`,{children:t.cid.slice(0,12)})]}):null]}),(0,U.jsx)(`div`,{className:`download-platform-actions`,children:(0,U.jsxs)(`a`,{href:x(t),className:`btn btn-primary`,children:[(0,U.jsx)(l,{size:16}),e(`download.platform.action`,{ext:n.ext})]})})]}),o?(0,U.jsx)(`span`,{className:`download-recommended-badge`,children:e(`download.platform.current`)}):null]},i)},w=t=>{let n=t.icon;return(0,U.jsxs)(`article`,{className:`download-coming-soon-card`,children:[(0,U.jsx)(`div`,{className:`download-platform-icon download-coming-soon-icon`,children:(0,U.jsx)(n,{size:32})}),(0,U.jsxs)(`div`,{className:`download-platform-content`,children:[(0,U.jsxs)(`div`,{className:`download-platform-heading`,children:[(0,U.jsx)(`h3`,{children:e(t.nameKey)}),(0,U.jsx)(`span`,{children:e(`download.platform.comingSoon`)})]}),(0,U.jsx)(`p`,{children:e(t.descKey)})]})]},t.key)};return(0,U.jsxs)(`div`,{className:`download-options`,children:[(0,U.jsxs)(`div`,{className:`ui-segmented-control download-source-tabs`,role:`tablist`,"aria-label":e(`download.source.label`),children:[(0,U.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":y===`r2`,disabled:!_,className:y===`r2`?`ui-segmented-option download-source-tab is-active`:`ui-segmented-option download-source-tab`,onClick:()=>p(`r2`),children:[(0,U.jsx)(s,{size:15}),`Cloudflare R2`]}),(0,U.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":y===`github`,className:y===`github`?`ui-segmented-option download-source-tab is-active`:`ui-segmented-option download-source-tab`,onClick:()=>p(`github`),children:[(0,U.jsx)(m,{size:15}),`GitHub Releases`]})]}),(0,U.jsx)(`p`,{className:`download-source-note`,children:r===`loading`?e(`download.source.loading`):r===`ready`&&t?e(`download.source.ready`,{version:t.version}):e(`download.source.fallback`)}),h?(0,U.jsx)(`div`,{className:`download-current-platform`,"aria-label":e(`download.platform.currentSystem`),children:S(h)}):null,g.length?(0,U.jsxs)(`div`,{className:`download-other-platforms`,children:[(0,U.jsx)(`p`,{className:`download-other-platforms-title`,children:e(`download.platform.otherPlatforms`)}),(0,U.jsx)(`div`,{className:`download-platform-grid`,children:g.map(e=>C(e))}),(0,U.jsxs)(`div`,{className:`download-coming-soon`,children:[(0,U.jsx)(`p`,{className:`download-coming-soon-title`,children:e(`download.platform.mobilePlatforms`)}),(0,U.jsx)(`div`,{className:`download-coming-soon-grid`,children:K.map(e=>w(e))})]})]}):null]})}var Z=[{featureKey:`download.comparison.node`,webKey:`download.comparison.webConnectsNode`,desktopKey:`download.comparison.desktopBuiltinNode`},{featureKey:`download.comparison.fileSharing`,webKey:`download.comparison.webDependsNode`,desktopKey:`download.comparison.desktopFull`},{featureKey:`download.comparison.verification`,webKey:`download.comparison.webDependsNode`,desktopKey:`download.comparison.desktopFull`},{featureKey:`download.comparison.seeding`,webKey:`download.comparison.webDependsNode`,desktopKey:`download.comparison.desktopDefaultOn`},{featureKey:`download.comparison.largeFiles`,webKey:`download.comparison.webDependsNode`,desktopKey:`download.comparison.desktop10gb`}];function Q(){let{t:e}=o();return(0,v.useEffect)(()=>{document.title=e(`download.meta.title`)},[e]),(0,U.jsxs)(`div`,{className:`download-page`,children:[(0,U.jsx)(d,{}),(0,U.jsx)(`section`,{className:`download-hero`,children:(0,U.jsxs)(`div`,{className:`mkt-container`,children:[(0,U.jsx)(`div`,{className:`download-hero-icon`,children:(0,U.jsx)(l,{size:40})}),(0,U.jsx)(`h1`,{className:`download-hero-title`,children:e(`download.hero.title`)}),(0,U.jsx)(`p`,{className:`download-hero-desc`,children:e(`download.hero.desc`)})]})}),(0,U.jsx)(`section`,{className:`download-platforms`,children:(0,U.jsxs)(`div`,{className:`mkt-container`,children:[(0,U.jsx)(`h2`,{className:`download-section-title`,children:e(`download.platforms.title`)}),(0,U.jsx)(X,{})]})}),(0,U.jsx)(`section`,{className:`download-comparison`,children:(0,U.jsxs)(`div`,{className:`mkt-container`,children:[(0,U.jsx)(`h2`,{className:`download-section-title`,children:e(`download.comparison.title`)}),(0,U.jsx)(`div`,{className:`download-table-wrap`,children:(0,U.jsxs)(`table`,{className:`download-table`,children:[(0,U.jsx)(`thead`,{children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{children:e(`download.comparison.feature`)}),(0,U.jsx)(`th`,{children:e(`download.comparison.web`)}),(0,U.jsx)(`th`,{children:e(`download.comparison.desktop`)})]})}),(0,U.jsx)(`tbody`,{children:Z.map(t=>(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`td`,{children:e(t.featureKey)}),(0,U.jsx)(`td`,{className:`col-web`,children:e(t.webKey)}),(0,U.jsx)(`td`,{className:`col-desktop`,children:e(t.desktopKey)})]},t.featureKey))})]})})]})}),(0,U.jsx)(`section`,{className:`download-cta`,children:(0,U.jsx)(`div`,{className:`mkt-container`,children:(0,U.jsx)(`p`,{className:`download-hero-desc`,children:e(`download.npmNote`)})})}),(0,U.jsx)(`section`,{className:`download-cta`,children:(0,U.jsx)(`div`,{className:`mkt-container`,children:(0,U.jsx)(a,{to:`/`,className:`btn btn-primary`,children:e(`common.backHome`)})})}),(0,U.jsx)(`footer`,{className:`mkt-footer`,children:(0,U.jsx)(`div`,{className:`mkt-container`,children:(0,U.jsx)(`div`,{className:`mkt-footer-inner`,children:(0,U.jsx)(`p`,{className:`mkt-footer-copy`,children:`MostBox`})})})})]})}var $=i(`/download/`)({component:Q});export{$ as Route};
|
|
1
|
+
import{n as e,o as t,t as n}from"./jsx-runtime-Bt-cYkS5.js";import{B as r,H as i,W as a}from"./useAppStore-Pjif7nCR.js";import{a as o}from"./i18n-BPfshhQc.js";import{n as s,t as c}from"./smartphone-D9j5h2Pg.js";import{t as l}from"./download-nQ9X-v0q.js";import{I as u}from"./index-AZPpawN1.js";import{t as d}from"./MarketingHeader-B0jpxRYu.js";import{n as f}from"./format-CAKfypjK.js";var p=r(`apple`,[[`path`,{d:`M12 6.528V3a1 1 0 0 1 1-1h0`,key:`11qiee`}],[`path`,{d:`M18.237 21A15 15 0 0 0 22 11a6 6 0 0 0-10-4.472A6 6 0 0 0 2 11a15.1 15.1 0 0 0 3.763 10 3 3 0 0 0 3.648.648 5.5 5.5 0 0 1 5.178 0A3 3 0 0 0 18.237 21`,key:`110c12`}]]),m=r(`code`,[[`path`,{d:`m16 18 6-6-6-6`,key:`eg8j8`}],[`path`,{d:`m8 6-6 6 6 6`,key:`ppft3o`}]]),h=r(`laptop`,[[`path`,{d:`M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z`,key:`1pdavp`}],[`path`,{d:`M20.054 15.987H3.946`,key:`14rxg9`}]]),g=r(`monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]),_=r(`tablet-smartphone`,[[`rect`,{width:`10`,height:`14`,x:`3`,y:`8`,rx:`2`,key:`1vrsiq`}],[`path`,{d:`M5 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2h-2.4`,key:`1j4zmg`}],[`path`,{d:`M8 18h.01`,key:`lrp35t`}]]),v=t(e(),1),y=[`windows`,`macos`,`linux`,`android`],b=[`x64`,`arm64`,`universal`],x=[`installer`],S=Object.freeze([{platform:`windows`,arch:`x64`},{platform:`windows`,arch:`arm64`},{platform:`macos`,arch:`x64`},{platform:`macos`,arch:`arm64`},{platform:`linux`,arch:`x64`},{platform:`linux`,arch:`arm64`},{platform:`android`,arch:`universal`}]);function C(e){return`${e.platform}:${e.arch}`}var w=new Set(y),T=new Set(b),E=new Set(x),D=new Set(S.map(C));function O(e){return typeof e==`object`&&!!e}function k(e){return typeof e==`string`&&e.trim().length>0}function A(e){return Number.isFinite(e)&&e>0}function j(e){return e===void 0||k(e)}function M(e){return O(e)?w.has(e.platform)&&T.has(e.arch)&&D.has(C(e))&&E.has(e.kind)&&k(e.filename)&&A(e.size)&&k(e.cid)&&k(e.githubUrl)&&j(e.r2Url):!1}function N(e){return!O(e)||!k(e.version)||!k(e.publishedAt)||!Array.isArray(e.assets)?!1:e.assets.every(M)}function P(e){return C(e)}function F(e){return N(e)?e.assets.filter(e=>e.kind===`installer`):[]}function I(e){return Array.isArray(e)?e.some(e=>O(e)&&k(e.r2Url)):!1}function L(e,t=`r2`){return t===`r2`&&O(e)&&k(e.r2Url)?{source:`r2`,url:e.r2Url}:{source:`github`,url:O(e)&&k(e.githubUrl)?e.githubUrl:``}}var R=`https://github.com/most-people/most/releases/latest`,z=[{platform:`windows`,arch:`x64`,kind:`installer`,filename:`GitHub Releases`,githubUrl:R},{platform:`windows`,arch:`arm64`,kind:`installer`,filename:`GitHub Releases`,githubUrl:R},{platform:`macos`,arch:`x64`,kind:`installer`,filename:`GitHub Releases`,githubUrl:R},{platform:`macos`,arch:`arm64`,kind:`installer`,filename:`GitHub Releases`,githubUrl:R},{platform:`linux`,arch:`x64`,kind:`installer`,filename:`GitHub Releases`,githubUrl:R},{platform:`linux`,arch:`arm64`,kind:`installer`,filename:`GitHub Releases`,githubUrl:R},{platform:`android`,arch:`universal`,kind:`installer`,filename:`GitHub Releases`,githubUrl:R}];function B(e){return e.VITE_RELEASE_MANIFEST_URL||`${(e.VITE_R2_PUBLIC_BASE_URL||`https://download.most.box`).replace(/\/+$/,``)}/releases/latest.json`}function V({manifest:e,currentKey:t,requestedSource:n}){let r=e?F(e):[],i=r.length?r:z,a=I(i),o=n===`r2`&&a?`r2`:`github`,s=i.find(e=>P(e)===t)||null;return{assets:i,currentAsset:s,otherAssets:s?i.filter(e=>P(e)!==t):i,hasR2Assets:a,activeSource:o,currentDownload:s?L(s,o):null}}function H(e,t){return L(e,t)}var U=n(),W=B({VITE_RELEASE_MANIFEST_URL:void 0,VITE_R2_PUBLIC_BASE_URL:void 0}),G={windows:{name:`Windows`,ext:`.exe`,descKey:`download.platform.windows.desc`,icon:g},macos:{name:`macOS`,ext:`.dmg`,descKey:`download.platform.macos.desc`,icon:p},linux:{name:`Linux`,ext:`.AppImage`,descKey:`download.platform.linux.desc`,icon:h},android:{name:`Android`,ext:`.apk`,descKey:`download.platform.android.desc`,icon:_}},K=[{key:`ios`,nameKey:`download.platform.ios.name`,descKey:`download.platform.ios.desc`,icon:c}],q=`android:universal`;function J(){return[navigator.userAgentData?.platform,navigator.platform,navigator.userAgent].filter(Boolean).join(` `).toLowerCase()}function Y(){if(typeof navigator>`u`)return`windows:x64`;let e=J(),t=/arm|aarch64/.test(e)?`arm64`:`x64`;return/android/.test(e)?q:/mac|darwin/.test(e)?`macos:${t}`:/linux/.test(e)?`linux:${t}`:`windows:${t}`}function X(){let{t:e}=o(),[t,n]=(0,v.useState)(null),[r,i]=(0,v.useState)(W?`loading`:`fallback`),[a,c]=(0,v.useState)(`windows:x64`),[d,p]=(0,v.useState)(`r2`);(0,v.useEffect)(()=>{c(Y())},[]),(0,v.useEffect)(()=>{if(!W)return;let e=new AbortController;return fetch(W,{cache:`no-store`,signal:e.signal}).then(e=>{if(!e.ok)throw Error(`Manifest request failed: ${e.status}`);return e.json()}).then(e=>{if(!N(e))throw Error(`Invalid download manifest`);n(e),i(`ready`)}).catch(e=>{e instanceof DOMException&&e.name===`AbortError`||(n(null),i(`fallback`))}),()=>e.abort()},[]),(0,v.useEffect)(()=>{r===`fallback`&&p(`github`)},[r]);let{currentAsset:h,otherAssets:g,hasR2Assets:_,activeSource:y}=V({manifest:t,currentKey:a,requestedSource:d}),b=t=>H(t,y).source===`r2`?e(`download.source.r2Mirror`):`GitHub Releases`,x=e=>H(e,y).url,S=t=>{let n=G[t.platform],r=n.icon;return(0,U.jsxs)(`article`,{className:`download-current-card`,children:[(0,U.jsxs)(`div`,{className:`download-current-main`,children:[(0,U.jsx)(`div`,{className:`download-current-icon`,children:(0,U.jsx)(r,{size:34})}),(0,U.jsxs)(`div`,{className:`download-current-copy`,children:[(0,U.jsxs)(`div`,{className:`download-current-labels`,children:[(0,U.jsxs)(`span`,{className:`download-current-kicker`,children:[(0,U.jsx)(u,{size:14}),e(`download.platform.currentSystem`)]}),(0,U.jsx)(`span`,{className:`download-current-recommended`,children:e(`download.platform.recommended`)})]}),(0,U.jsxs)(`div`,{className:`download-current-heading`,children:[(0,U.jsx)(`h3`,{children:n.name}),(0,U.jsx)(`span`,{children:t.arch})]}),(0,U.jsx)(`p`,{children:e(n.descKey)}),(0,U.jsxs)(`dl`,{className:`download-current-meta`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`dt`,{children:e(`download.platform.source`)}),(0,U.jsx)(`dd`,{children:b(t)})]}),t.size?(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`dt`,{children:e(`download.platform.size`)}),(0,U.jsx)(`dd`,{children:f(t.size)})]}):null,t.cid?(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`dt`,{children:`CID`}),(0,U.jsx)(`dd`,{children:t.cid.slice(0,12)})]}):null]})]})]}),(0,U.jsxs)(`div`,{className:`download-current-actions`,children:[(0,U.jsx)(`span`,{children:e(`download.platform.matchedSystem`)}),(0,U.jsxs)(`a`,{href:x(t),className:`btn btn-primary`,children:[(0,U.jsx)(l,{size:17}),e(`download.platform.action`,{ext:n.ext})]}),(0,U.jsx)(`p`,{children:b(t)})]})]})},C=t=>{let n=G[t.platform],r=n.icon,i=P(t),o=i===a;return(0,U.jsxs)(`article`,{className:[`download-platform-card`,o?`is-recommended`:``].filter(Boolean).join(` `),children:[(0,U.jsx)(`div`,{className:`download-platform-icon`,children:(0,U.jsx)(r,{size:32})}),(0,U.jsxs)(`div`,{className:`download-platform-content`,children:[(0,U.jsxs)(`div`,{className:`download-platform-heading`,children:[(0,U.jsx)(`h3`,{children:n.name}),(0,U.jsx)(`span`,{children:t.arch})]}),(0,U.jsx)(`p`,{children:e(n.descKey)}),(0,U.jsxs)(`dl`,{className:`download-platform-meta`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`dt`,{children:e(`download.platform.source`)}),(0,U.jsx)(`dd`,{children:b(t)})]}),t.size?(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`dt`,{children:e(`download.platform.size`)}),(0,U.jsx)(`dd`,{children:f(t.size)})]}):null,t.cid?(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`dt`,{children:`CID`}),(0,U.jsx)(`dd`,{children:t.cid.slice(0,12)})]}):null]}),(0,U.jsx)(`div`,{className:`download-platform-actions`,children:(0,U.jsxs)(`a`,{href:x(t),className:`btn btn-primary`,children:[(0,U.jsx)(l,{size:16}),e(`download.platform.action`,{ext:n.ext})]})})]}),o?(0,U.jsx)(`span`,{className:`download-recommended-badge`,children:e(`download.platform.current`)}):null]},i)},w=t=>{let n=t.icon;return(0,U.jsxs)(`article`,{className:`download-coming-soon-card`,children:[(0,U.jsx)(`div`,{className:`download-platform-icon download-coming-soon-icon`,children:(0,U.jsx)(n,{size:32})}),(0,U.jsxs)(`div`,{className:`download-platform-content`,children:[(0,U.jsxs)(`div`,{className:`download-platform-heading`,children:[(0,U.jsx)(`h3`,{children:e(t.nameKey)}),(0,U.jsx)(`span`,{children:e(`download.platform.comingSoon`)})]}),(0,U.jsx)(`p`,{children:e(t.descKey)})]})]},t.key)};return(0,U.jsxs)(`div`,{className:`download-options`,children:[(0,U.jsxs)(`div`,{className:`ui-segmented-control download-source-tabs`,role:`tablist`,"aria-label":e(`download.source.label`),children:[(0,U.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":y===`r2`,disabled:!_,className:y===`r2`?`ui-segmented-option download-source-tab is-active`:`ui-segmented-option download-source-tab`,onClick:()=>p(`r2`),children:[(0,U.jsx)(s,{size:15}),`Cloudflare R2`]}),(0,U.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":y===`github`,className:y===`github`?`ui-segmented-option download-source-tab is-active`:`ui-segmented-option download-source-tab`,onClick:()=>p(`github`),children:[(0,U.jsx)(m,{size:15}),`GitHub Releases`]})]}),(0,U.jsx)(`p`,{className:`download-source-note`,children:r===`loading`?e(`download.source.loading`):r===`ready`&&t?e(`download.source.ready`,{version:t.version}):e(`download.source.fallback`)}),h?(0,U.jsx)(`div`,{className:`download-current-platform`,"aria-label":e(`download.platform.currentSystem`),children:S(h)}):null,g.length?(0,U.jsxs)(`div`,{className:`download-other-platforms`,children:[(0,U.jsx)(`p`,{className:`download-other-platforms-title`,children:e(`download.platform.otherPlatforms`)}),(0,U.jsx)(`div`,{className:`download-platform-grid`,children:g.map(e=>C(e))}),(0,U.jsxs)(`div`,{className:`download-coming-soon`,children:[(0,U.jsx)(`p`,{className:`download-coming-soon-title`,children:e(`download.platform.mobilePlatforms`)}),(0,U.jsx)(`div`,{className:`download-coming-soon-grid`,children:K.map(e=>w(e))})]})]}):null]})}var Z=[{featureKey:`download.comparison.node`,webKey:`download.comparison.webConnectsNode`,desktopKey:`download.comparison.desktopBuiltinNode`},{featureKey:`download.comparison.fileSharing`,webKey:`download.comparison.webDependsNode`,desktopKey:`download.comparison.desktopFull`},{featureKey:`download.comparison.verification`,webKey:`download.comparison.webDependsNode`,desktopKey:`download.comparison.desktopFull`},{featureKey:`download.comparison.seeding`,webKey:`download.comparison.webDependsNode`,desktopKey:`download.comparison.desktopDefaultOn`},{featureKey:`download.comparison.largeFiles`,webKey:`download.comparison.webDependsNode`,desktopKey:`download.comparison.desktop10gb`}];function Q(){let{t:e}=o();return(0,v.useEffect)(()=>{document.title=e(`download.meta.title`)},[e]),(0,U.jsxs)(`div`,{className:`download-page`,children:[(0,U.jsx)(d,{}),(0,U.jsx)(`section`,{className:`download-hero`,children:(0,U.jsxs)(`div`,{className:`mkt-container`,children:[(0,U.jsx)(`div`,{className:`download-hero-icon`,children:(0,U.jsx)(l,{size:40})}),(0,U.jsx)(`h1`,{className:`download-hero-title`,children:e(`download.hero.title`)}),(0,U.jsx)(`p`,{className:`download-hero-desc`,children:e(`download.hero.desc`)})]})}),(0,U.jsx)(`section`,{className:`download-platforms`,children:(0,U.jsxs)(`div`,{className:`mkt-container`,children:[(0,U.jsx)(`h2`,{className:`download-section-title`,children:e(`download.platforms.title`)}),(0,U.jsx)(X,{})]})}),(0,U.jsx)(`section`,{className:`download-comparison`,children:(0,U.jsxs)(`div`,{className:`mkt-container`,children:[(0,U.jsx)(`h2`,{className:`download-section-title`,children:e(`download.comparison.title`)}),(0,U.jsx)(`div`,{className:`download-table-wrap`,children:(0,U.jsxs)(`table`,{className:`download-table`,children:[(0,U.jsx)(`thead`,{children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{children:e(`download.comparison.feature`)}),(0,U.jsx)(`th`,{children:e(`download.comparison.web`)}),(0,U.jsx)(`th`,{children:e(`download.comparison.desktop`)})]})}),(0,U.jsx)(`tbody`,{children:Z.map(t=>(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`td`,{children:e(t.featureKey)}),(0,U.jsx)(`td`,{className:`col-web`,children:e(t.webKey)}),(0,U.jsx)(`td`,{className:`col-desktop`,children:e(t.desktopKey)})]},t.featureKey))})]})})]})}),(0,U.jsx)(`section`,{className:`download-cta`,children:(0,U.jsx)(`div`,{className:`mkt-container`,children:(0,U.jsx)(`p`,{className:`download-hero-desc`,children:e(`download.npmNote`)})})}),(0,U.jsx)(`section`,{className:`download-cta`,children:(0,U.jsx)(`div`,{className:`mkt-container`,children:(0,U.jsx)(a,{to:`/`,className:`btn btn-primary`,children:e(`common.backHome`)})})}),(0,U.jsx)(`footer`,{className:`mkt-footer`,children:(0,U.jsx)(`div`,{className:`mkt-container`,children:(0,U.jsx)(`div`,{className:`mkt-footer-inner`,children:(0,U.jsx)(`p`,{className:`mkt-footer-copy`,children:`MostBox`})})})})]})}var $=i(`/download/`)({component:Q});export{$ as Route};
|