Files
tizi/ui/_nuxt/JCddttEY.js
T
2026-07-01 10:03:26 +08:00

2 lines
9.5 KiB
JavaScript

import{A as e,D as t,G as n,H as r,J as i,Q as a,St as o,T as s,Z as c,_ as l,b as u,c as ee,d,it as te,lt as f,s as p,u as ne,v as m,vt as h,x as g,xt as re,y as _,yt as v}from"./BaEmVbmJ.js";import{$ as ie,Bt as ae,J as y,Jt as b,O as oe,Y as se,_ as ce,b as le,g as ue,h as de,k as fe,lt as pe,n as x,nn as me,r as S,t as C}from"#entry";import{c as w}from"./58WavC4P.js";import{t as he}from"./GrjURjPB.js";import{t as ge}from"./Lzt1erD2.js";import{t as _e}from"./Bo8QZWF-.js";var T={class:`flex h-full min-h-0 flex-col gap-3`},E={class:`flex shrink-0 items-center gap-3`},D={class:`relative flex-1`},O=[`placeholder`],k={class:`flex gap-2`},A=[`disabled`,`title`],j=[`disabled`,`title`],M={class:`min-h-0 flex-1 overflow-auto rounded-xl border border-base-content/10 bg-base-200/50`},N={class:`sticky top-0 z-10 bg-base-200`},P={class:`flex items-center gap-2`},F=[`onClick`],I=[`onClick`],ve=[`onClick`],ye=[`colspan`],be={class:`flex items-center gap-2 text-primary`},xe={class:`font-semibold`},Se={class:`text-xs text-base-content/60`},Ce={key:0,class:`flex flex-col items-center justify-center gap-4 px-4 py-12 text-base-content/40`},we={class:`flex flex-col gap-5`},Te={class:`flex flex-col gap-2`},Ee={class:`text-sm font-medium text-base-content/70`},L={value:`xs`},De={value:`sm`},Oe={value:`md`},ke={value:`lg`},Ae={class:`flex flex-col gap-2`},je={class:`text-sm font-medium text-base-content/70`},Me={value:`info`},Ne={value:`error`},Pe={value:`warning`},Fe={value:`debug`},Ie={value:`silent`},Le={class:`flex flex-col gap-2`},Re={class:`text-sm font-medium text-base-content/70`},R=C(t({__name:`logs`,setup(t){let{t:C}=ae();me({title:l(()=>C(`logs`))});let R=ge(),z=he(),B=f(``),V=f(),ze=/^\[([^\]]+)\]/;function H(e){return e.match(ze)?.[1]??``}function Be(e){switch(e){case w.Error:return`text-error font-semibold`;case w.Warning:return`text-warning font-semibold`;case w.Info:return`text-info font-semibold`;case w.Debug:return`text-success font-semibold`;default:return``}}let U=[{id:`seq`,label:C(`sequence`),sortable:!0,groupable:!1,render:e=>String(e.seq),sortValue:e=>e.seq},{id:`level`,label:C(`level`),sortable:!0,groupable:!0,render:t=>e(`span`,{class:Be(t.type)},`[${t.type}]`),sortValue:e=>e.type,groupValue:e=>e.type},{id:`type`,label:C(`type`),sortable:!0,groupable:!0,render:t=>e(`span`,{class:`text-base-content/60`},H(t.payload)),sortValue:e=>H(e.payload),groupValue:e=>H(e.payload)||`(empty)`},{id:`payload`,label:C(`payload`),sortable:!1,groupable:!1,render:e=>e.payload}],W=b(`logsTableSortColumn`,`seq`),G=b(`logsTableSortDesc`,!0),K=b(`logsTableGrouping`,null),q=f({}),J=l(()=>{if(!B.value)return R.logs;let e=B.value.toLowerCase();return R.logs.filter(t=>t.payload.toLowerCase().includes(e)||t.type.toLowerCase().includes(e)||H(t.payload).toLowerCase().includes(e))}),Y=l(()=>{let e=U.find(e=>e.id===W.value);return e?.sortValue?[...J.value].sort((t,n)=>{let r=e.sortValue(t),i=e.sortValue(n),a=0;return typeof r==`number`&&typeof i==`number`?a=r-i:typeof r==`string`&&typeof i==`string`&&(a=r.localeCompare(i)),G.value?-a:a}):J.value}),Ve=l(()=>K.value?U.find(e=>e.id===K.value):null),X=l(()=>{let e=Ve.value;if(!e?.groupValue)return Y.value.map(e=>({type:`data`,original:e}));let t=new Map;for(let n of Y.value){let r=e.groupValue(n),i=t.get(r);i?i.push(n):t.set(r,[n])}let n=[];for(let[e,r]of t)if(n.push({type:`group`,key:e,subRows:r}),q.value[e])for(let e of r)n.push({type:`data`,original:e});return n});function He(e){return U.find(t=>t.id===e)?.sortable??!1}function Z(e){return W.value===e}function Ue(e){U.find(t=>t.id===e)?.sortable&&(W.value===e?G.value?G.value=!1:(W.value=``,G.value=!0):(W.value=e,G.value=!0))}function We(e){K.value===e?K.value=null:K.value=e,q.value={}}function Ge(e){q.value[e]=!q.value[e]}let Ke=l(()=>z.tableSizeClassName(z.logsTableSize));function Q(){return Y.value.map(e=>`[${e.type}] ${e.payload}`).join(`
`)}let $=f(!1);async function qe(){await navigator.clipboard.writeText(Q()),$.value=!0,setTimeout(()=>{$.value=!1},1e3)}function Je(){let e=new Blob([Q()],{type:`text/plain`}),t=URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`mihomo-logs-${new Date().toISOString()}.log`,n.click(),URL.revokeObjectURL(t)}return(e,t)=>{let l=_e;return r(),g(`div`,T,[m(`div`,E,[m(`div`,D,[s(h(le),{class:`pointer-events-none absolute top-1/2 left-3.5 -translate-y-1/2 text-base-content/40`,size:18}),a(m(`input`,{"onUpdate:modelValue":t[0]||=e=>te(B)?B.value=e:null,type:`search`,class:`w-full rounded-lg border border-base-content/10 bg-base-200/60 py-2.5 pr-3.5 pl-10 text-sm text-base-content transition-all duration-200 placeholder:text-base-content/40 focus:border-primary focus:bg-base-100 focus:ring-3 focus:ring-primary/15 focus:outline-none`,placeholder:h(C)(`search`)},null,8,O),[[ee,h(B)]])]),m(`div`,k,[m(`button`,{class:`flex h-9 w-9 cursor-pointer items-center justify-center rounded-lg border border-base-content/10 bg-base-200/60 text-base-content transition-all duration-200 hover:border-base-content/20 hover:bg-base-300 disabled:cursor-not-allowed disabled:opacity-40`,disabled:h(Y).length===0,title:h(C)(`copy`),onClick:t[1]||=e=>qe()},[h($)?(r(),_(h(pe),{key:0,class:`text-success`,size:18})):(r(),_(h(ie),{key:1,size:18}))],8,A),m(`button`,{class:`flex h-9 w-9 cursor-pointer items-center justify-center rounded-lg border border-base-content/10 bg-base-200/60 text-base-content transition-all duration-200 hover:border-base-content/20 hover:bg-base-300 disabled:cursor-not-allowed disabled:opacity-40`,disabled:h(Y).length===0,title:h(C)(`download`),onClick:t[2]||=e=>Je()},[s(h(se),{size:18})],8,j),m(`button`,{class:v([`flex h-9 w-9 cursor-pointer items-center justify-center rounded-lg border border-base-content/10 bg-base-200/60 text-base-content transition-all duration-200 hover:border-base-content/20 hover:bg-base-300`,{"border-warning/30 bg-warning/15 text-warning":h(R).paused}]),onClick:t[3]||=e=>h(R).togglePaused()},[h(R).paused?(r(),_(h(oe),{key:1,size:18})):(r(),_(h(fe),{key:0,size:18}))],2),m(`button`,{class:`flex h-9 w-9 cursor-pointer items-center justify-center rounded-lg border border-base-content/10 bg-base-200/60 text-base-content transition-all duration-200 hover:border-base-content/20 hover:bg-base-300`,onClick:t[4]||=e=>h(V)?.open()},[s(h(ce),{size:18})])])]),m(`div`,M,[m(`table`,{class:v([`table w-full border-collapse whitespace-nowrap`,h(Ke)])},[m(`thead`,null,[m(`tr`,N,[(r(),g(d,null,n(U,e=>m(`th`,{key:e.id,class:`border-b border-base-content/10 text-left font-semibold text-base-content`},[m(`div`,P,[m(`div`,{class:v([`flex-1`,{"cursor-pointer select-none hover:text-primary":He(e.id)}]),onClick:t=>Ue(e.id)},o(e.label),11,F),Z(e.id)&&!h(G)?(r(),_(h(ue),{key:0,class:`text-primary`,size:16})):Z(e.id)&&h(G)?(r(),_(h(de),{key:1,class:`text-primary`,size:16})):u(``,!0),e.groupable?(r(),g(`button`,{key:2,class:`flex cursor-pointer items-center justify-center border-none bg-transparent p-1 text-base-content/60 transition-colors duration-200 hover:text-primary`,onClick:ne(t=>We(e.id),[`stop`])},[h(K)===e.id?(r(),_(h(x),{key:0,size:16})):(r(),_(h(S),{key:1,size:16}))],8,I)):u(``,!0)])])),64))])]),m(`tbody`,null,[(r(!0),g(d,null,n(h(X),(e,t)=>(r(),g(d,{key:e.type===`group`?`group-${e.key}`:e.original.seq},[e.type===`group`?(r(),g(`tr`,{key:0,class:`cursor-pointer bg-primary/5 hover:bg-primary/10`,onClick:t=>Ge(e.key)},[m(`td`,{colspan:U.length,class:`border-b border-base-content/10`},[m(`div`,be,[h(q)[e.key]?(r(),_(h(x),{key:0,size:16})):(r(),_(h(S),{key:1,size:16})),m(`span`,xe,o(e.key),1),m(`span`,Se,`(`+o(e.subRows.length)+`)`,1)])],8,ye)],8,ve)):(r(),g(`tr`,{key:1,class:`animate-fade-in transition-colors duration-150 hover:bg-base-content/5`,style:re({animationDelay:`${t%20*15}ms`})},[(r(),g(d,null,n(U,(t,n)=>m(`td`,{key:t.id,class:v([n===0?`py-1 leading-6`:``,`border-b border-base-content/5`])},[(r(),_(i(()=>t.render(e.original))))],2)),64))],4))],64))),128))])],2),h(X).length===0?(r(),g(`div`,Ce,[s(h(y),{size:48,class:`opacity-50`}),m(`span`,null,o(h(C)(`noData`)),1)])):u(``,!0)]),s(l,{ref_key:`settingsModal`,ref:V,title:h(C)(`logsSettings`)},{icon:c(()=>[s(h(y),{size:24})]),default:c(()=>[m(`div`,we,[m(`div`,Te,[m(`label`,Ee,o(h(C)(`tableSize`)),1),a(m(`select`,{"onUpdate:modelValue":t[5]||=e=>h(z).logsTableSize=e,class:`w-full cursor-pointer rounded-lg border border-base-content/10 bg-base-100 px-3.5 py-2.5 text-sm text-base-content transition-colors duration-200 focus:border-primary focus:outline-none`},[m(`option`,L,o(h(C)(`xs`)),1),m(`option`,De,o(h(C)(`sm`)),1),m(`option`,Oe,o(h(C)(`md`)),1),m(`option`,ke,o(h(C)(`lg`)),1)],512),[[p,h(z).logsTableSize]])]),m(`div`,Ae,[m(`label`,je,o(h(C)(`logLevel`)),1),a(m(`select`,{"onUpdate:modelValue":t[6]||=e=>h(z).logLevel=e,class:`w-full cursor-pointer rounded-lg border border-base-content/10 bg-base-100 px-3.5 py-2.5 text-sm text-base-content transition-colors duration-200 focus:border-primary focus:outline-none`},[m(`option`,Me,o(h(C)(`info`)),1),m(`option`,Ne,o(h(C)(`error`)),1),m(`option`,Pe,o(h(C)(`warning`)),1),m(`option`,Fe,o(h(C)(`debug`)),1),m(`option`,Ie,o(h(C)(`silent`)),1)],512),[[p,h(z).logLevel]])]),m(`div`,Le,[m(`label`,Re,o(h(C)(`logMaxRows`)),1),a(m(`select`,{"onUpdate:modelValue":t[7]||=e=>h(z).logMaxRows=e,class:`w-full cursor-pointer rounded-lg border border-base-content/10 bg-base-100 px-3.5 py-2.5 text-sm text-base-content transition-colors duration-200 focus:border-primary focus:outline-none`},[...t[8]||=[m(`option`,{value:200},`200`,-1),m(`option`,{value:300},`300`,-1),m(`option`,{value:500},`500`,-1),m(`option`,{value:800},`800`,-1),m(`option`,{value:1e3},`1000`,-1)]],512),[[p,h(z).logMaxRows]])])])]),_:1},8,[`title`])])}}}),[[`__scopeId`,`data-v-ec39c5e5`]]);export{R as default};