rssany 0.3.3 → 0.3.5
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/app/webui/build/200.html +6 -6
- package/app/webui/build/_app/immutable/assets/14.Dej-duOb.css +1 -0
- package/app/webui/build/_app/immutable/assets/18.DKwaKios.css +1 -0
- package/app/webui/build/_app/immutable/chunks/{BZY5aksi.js → BVeSE1NJ.js} +1 -1
- package/app/webui/build/_app/immutable/chunks/CdnuzsHd.js +1 -0
- package/app/webui/build/_app/immutable/chunks/{SvdgnirT.js → Ce-r0j9k.js} +1 -1
- package/app/webui/build/_app/immutable/chunks/{B8StT3Do.js → CflZmztn.js} +1 -1
- package/app/webui/build/_app/immutable/chunks/{pd_p3yYy.js → D6JgZyc_.js} +1 -1
- package/app/webui/build/_app/immutable/chunks/DCl8F8Io.js +2 -0
- package/app/webui/build/_app/immutable/chunks/{B0czyjwj.js → DP-sZIv3.js} +1 -1
- package/app/webui/build/_app/immutable/chunks/DQE6YZMg.js +1 -0
- package/app/webui/build/_app/immutable/chunks/H8yPhK_g.js +36 -0
- package/app/webui/build/_app/immutable/chunks/{GeNMTUn1.js → NqUZvg9q.js} +1 -1
- package/app/webui/build/_app/immutable/chunks/{Dg_D3pjF.js → sgw2KQ1B.js} +1 -1
- package/app/webui/build/_app/immutable/entry/app.BG3erHoA.js +2 -0
- package/app/webui/build/_app/immutable/entry/start.BhD5QUgT.js +1 -0
- package/app/webui/build/_app/immutable/nodes/0.H78afcWu.js +16 -0
- package/app/webui/build/_app/immutable/nodes/{1.DsKocFSb.js → 1.DtZrhmtl.js} +1 -1
- package/app/webui/build/_app/immutable/nodes/10.CwtFnSO9.js +1 -0
- package/app/webui/build/_app/immutable/nodes/11.DdcAhkmZ.js +3 -0
- package/app/webui/build/_app/immutable/nodes/{12.BLyQ6rUu.js → 12.BLGRqrcl.js} +1 -1
- package/app/webui/build/_app/immutable/nodes/13.B7g5xlgP.js +1 -0
- package/app/webui/build/_app/immutable/nodes/14.Cz521LxG.js +1 -0
- package/app/webui/build/_app/immutable/nodes/15.BS5L9nKz.js +1 -0
- package/app/webui/build/_app/immutable/nodes/{16.BKDfR-KV.js → 16.DedKEzpT.js} +2 -2
- package/app/webui/build/_app/immutable/nodes/{17.DofB8HQB.js → 17.DmUpw-Q0.js} +1 -1
- package/app/webui/build/_app/immutable/nodes/18.DP4-TI9w.js +166 -0
- package/app/webui/build/_app/immutable/nodes/{3.B9ucbp_W.js → 3.Bc2dV2pk.js} +1 -1
- package/app/webui/build/_app/immutable/nodes/5.Db9o3qWa.js +2 -0
- package/app/webui/build/_app/immutable/nodes/{6.Bs32Ieii.js → 6.W2s8fUuH.js} +2 -2
- package/app/webui/build/_app/immutable/nodes/7.C4cs3Mya.js +1 -0
- package/app/webui/build/_app/immutable/nodes/{8.pG10rCF0.js → 8.BY_h7x8A.js} +1 -1
- package/app/webui/build/_app/immutable/nodes/9.7_sJV3Bn.js +1 -0
- package/app/webui/build/_app/version.json +1 -1
- package/package.json +1 -1
- package/app/webui/build/_app/immutable/assets/14.BCCBoMGj.css +0 -1
- package/app/webui/build/_app/immutable/chunks/BKm6QCwp.js +0 -1
- package/app/webui/build/_app/immutable/chunks/BT6b4LcZ.js +0 -36
- package/app/webui/build/_app/immutable/chunks/WW6La7Nt.js +0 -2
- package/app/webui/build/_app/immutable/entry/app.BKLBG-4w.js +0 -2
- package/app/webui/build/_app/immutable/entry/start.D-X6pVtx.js +0 -1
- package/app/webui/build/_app/immutable/nodes/0.CJDC_3s9.js +0 -11
- package/app/webui/build/_app/immutable/nodes/10.BeejAn8z.js +0 -1
- package/app/webui/build/_app/immutable/nodes/11.D--uwkk0.js +0 -3
- package/app/webui/build/_app/immutable/nodes/13.Cl0WQK13.js +0 -1
- package/app/webui/build/_app/immutable/nodes/14.T9l5Rh19.js +0 -1
- package/app/webui/build/_app/immutable/nodes/15.DHfwIlBx.js +0 -1
- package/app/webui/build/_app/immutable/nodes/5.9zgwFV6I.js +0 -2
- package/app/webui/build/_app/immutable/nodes/7.Cigxrk0v.js +0 -1
- package/app/webui/build/_app/immutable/nodes/9.Bzqb3xHY.js +0 -1
- /package/app/webui/build/_app/immutable/nodes/{18.BtYZF6FM.js → 19.BtYZF6FM.js} +0 -0
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
var Br=Object.defineProperty;var Os=p=>{throw TypeError(p)};var qr=(p,t,r)=>t in p?Br(p,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):p[t]=r;var ge=(p,t,r)=>qr(p,typeof t!="symbol"?t+"":t,r),Xo=(p,t,r)=>t.has(p)||Os("Cannot "+r);var f=(p,t,r)=>(Xo(p,t,"read from private field"),r?r.call(p):t.get(p)),A=(p,t,r)=>t.has(p)?Os("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(p):t.set(p,r),D=(p,t,r,l)=>(Xo(p,t,"write to private field"),l?l.call(p,r):t.set(p,r),r),C=(p,t,r)=>(Xo(p,t,"access private method"),r);import{p as er,c as Z,a as m,f as T,t as st}from"./DIeahUKq.js";import"./CEWi_rGa.js";import{o as Jr}from"./DptdhtA1.js";import{b8 as rt,k as e,a5 as n,aA as Ee,at as Do,f as S,au as Fo,av as h,aj as Mo,ax as d,aC as Qe,aD as Xr,aw as y,ay as te,az as oe,u as z,y as Ke,F as $,aq as Yo}from"./BsQ08Wq_.js";import{o as eo,d as Yr,a as ie,s as le,e as Qr,r as Gr}from"./BK0ygNWX.js";import{s as Zr,a as Ms}from"./BI_ale1m.js";import{i as ue}from"./rNwPv4DZ.js";import{e as xo,i as Rr}from"./B553hBXT.js";import{f as so,r as to,b as Dt,a as He,s as Qo}from"./WW6La7Nt.js";import{b as oo}from"./BnqaikL8.js";import{i as en}from"./Nd0ktDhd.js";import{g as As}from"./FDS7fbwH.js";import{p as Go}from"./GeNMTUn1.js";import{s as Ft}from"./4TuV_psf.js";import{R as tn,M as on,P as sn,a as rn,h as Ds,S as nn,b as an,r as ln,s as un,c as cn}from"./BZY5aksi.js";import{D as Fs,a as Is,b as Ls,c as Ns,d as So}from"./B0czyjwj.js";import{P as dn}from"./SvdgnirT.js";import{w as cs,j as pn,k as yt,C as hn,a as Hs,b as fe,d as tr,l as fn,p as Ao,E as vn,S as mn,g as or,q as yn,r as bn,c as _n,f as sr,n as Lt,m as To,s as bt,I as Ct,P as It}from"./pd_p3yYy.js";import{P as gn,e as wn,g as Es,F as Cn,f as $n,S as Ws,a as Vs,C as js,b as Us,c as Ks,d as Bs}from"./B8StT3Do.js";import{s as $t}from"./Cc7aBSsN.js";import{p as q,s as Ge,r as rr,l as Pt}from"./D8G961Hm.js";function Zo(p,t){const[r,l]=p;let u=!1;const c=t.length;for(let v=0,_=c-1;v<c;_=v++){const[J,ve]=t[v]??[0,0],[Se,R]=t[_]??[0,0];ve>=l!=R>=l&&r<=(Se-J)*(l-ve)/(R-ve)+J&&(u=!u)}return u}function Ro(p,t){return p[0]>=t.left&&p[0]<=t.right&&p[1]>=t.top&&p[1]<=t.bottom}function qs(p,t){const r=p.left+p.width/2,l=p.top+p.height/2,u=t.left+t.width/2,c=t.top+t.height/2,v=u-r,_=c-l;return Math.abs(v)>Math.abs(_)?v>0?"right":"left":_>0?"bottom":"top"}var at,Nt,Ht,qe,we,_t,gt,it,lt,x,Oo,es,ts,nr,ar,Be,os,ir,lr;class Pn{constructor(t){A(this,x);A(this,at);A(this,Nt);A(this,Ht);A(this,qe,null);A(this,we,null);A(this,_t,[]);A(this,gt,null);A(this,it,null);A(this,lt,null);D(this,at,t),D(this,Nt,t.buffer??1);const r=t.transitIntentTimeout;D(this,Ht,typeof r=="number"&&r>0?r:null),cs([t.triggerNode,t.contentNode,t.enabled],([l,u,c])=>{if(!l||!u||!c){D(this,gt,null),C(this,x,Be).call(this);return}f(this,gt)&&f(this,gt)!==l&&C(this,x,Be).call(this),D(this,gt,l);const v=pn(l),_=M=>{C(this,x,ar).call(this,[M.clientX,M.clientY],l,u)},J=M=>{var Te,Oe;const F=M.relatedTarget;if(yt(F)&&u.contains(F))return;const V=((Oe=(Te=f(this,at)).ignoredTargets)==null?void 0:Oe.call(Te))??[];yt(F)&&V.some(Ie=>Ie===F||Ie.contains(F))||(D(this,_t,yt(F)&&V.length>0?V.filter(Ie=>F.contains(Ie)):[]),D(this,qe,[M.clientX,M.clientY]),D(this,we,"content"),C(this,x,es).call(this))},ve=()=>{C(this,x,Be).call(this)},Se=()=>{C(this,x,Be).call(this)},R=M=>{const F=M.relatedTarget;yt(F)&&l.contains(F)||(D(this,qe,[M.clientX,M.clientY]),D(this,we,"trigger"),C(this,x,es).call(this))};return[eo(v,"pointermove",_),eo(l,"pointerleave",J),eo(l,"pointerenter",ve),eo(u,"pointerenter",Se),eo(u,"pointerleave",R)].reduce((M,F)=>()=>{M(),F()},()=>{})})}}at=new WeakMap,Nt=new WeakMap,Ht=new WeakMap,qe=new WeakMap,we=new WeakMap,_t=new WeakMap,gt=new WeakMap,it=new WeakMap,lt=new WeakMap,x=new WeakSet,Oo=function(){f(this,it)!==null&&(cancelAnimationFrame(f(this,it)),D(this,it,null))},es=function(){C(this,x,Oo).call(this),D(this,it,requestAnimationFrame(()=>{D(this,it,null),!(!f(this,qe)||!f(this,we))&&(C(this,x,Be).call(this),f(this,at).onPointerExit())}))},ts=function(){f(this,lt)!==null&&(clearTimeout(f(this,lt)),D(this,lt,null))},nr=function(){f(this,Ht)!==null&&(C(this,x,ts).call(this),D(this,lt,window.setTimeout(()=>{D(this,lt,null),!(!f(this,qe)||!f(this,we))&&(C(this,x,Be).call(this),f(this,at).onPointerExit())},f(this,Ht))))},ar=function(t,r,l){if(!f(this,qe)||!f(this,we))return;C(this,x,Oo).call(this),C(this,x,nr).call(this);const u=r.getBoundingClientRect(),c=l.getBoundingClientRect();if(f(this,we)==="content"&&Ro(t,c)){C(this,x,Be).call(this);return}if(f(this,we)==="trigger"&&Ro(t,u)){C(this,x,Be).call(this);return}if(f(this,we)==="content"&&f(this,_t).length>0)for(const Se of f(this,_t)){const R=Se.getBoundingClientRect();if(Ro(t,R))return;const M=qs(u,R),F=C(this,x,os).call(this,u,R,M);if(F&&Zo(t,F))return}const v=qs(u,c),_=C(this,x,os).call(this,u,c,v);if(_&&Zo(t,_))return;const J=f(this,we)==="content"?c:u,ve=C(this,x,ir).call(this,f(this,qe),J,v,f(this,we));Zo(t,ve)||(C(this,x,Be).call(this),f(this,at).onPointerExit())},Be=function(){D(this,qe,null),D(this,we,null),D(this,_t,[]),C(this,x,Oo).call(this),C(this,x,ts).call(this)},os=function(t,r,l){const u=f(this,Nt);switch(l){case"top":return[[Math.min(t.left,r.left)-u,t.top],[Math.min(t.left,r.left)-u,r.bottom],[Math.max(t.right,r.right)+u,r.bottom],[Math.max(t.right,r.right)+u,t.top]];case"bottom":return[[Math.min(t.left,r.left)-u,t.bottom],[Math.min(t.left,r.left)-u,r.top],[Math.max(t.right,r.right)+u,r.top],[Math.max(t.right,r.right)+u,t.bottom]];case"left":return[[t.left,Math.min(t.top,r.top)-u],[r.right,Math.min(t.top,r.top)-u],[r.right,Math.max(t.bottom,r.bottom)+u],[t.left,Math.max(t.bottom,r.bottom)+u]];case"right":return[[t.right,Math.min(t.top,r.top)-u],[r.left,Math.min(t.top,r.top)-u],[r.left,Math.max(t.bottom,r.bottom)+u],[t.right,Math.max(t.bottom,r.bottom)+u]]}},ir=function(t,r,l,u){const c=f(this,Nt)*4,[v,_]=t;switch(u==="trigger"?C(this,x,lr).call(this,l):l){case"top":return[[v-c,_+c],[v+c,_+c],[r.right+c,r.bottom],[r.right+c,r.top],[r.left-c,r.top],[r.left-c,r.bottom]];case"bottom":return[[v-c,_-c],[v+c,_-c],[r.right+c,r.top],[r.right+c,r.bottom],[r.left-c,r.bottom],[r.left-c,r.top]];case"left":return[[v+c,_-c],[v+c,_+c],[r.right,r.bottom+c],[r.left,r.bottom+c],[r.left,r.top-c],[r.right,r.top-c]];case"right":return[[v-c,_-c],[v-c,_+c],[r.left,r.bottom+c],[r.right,r.bottom+c],[r.right,r.top-c],[r.left,r.top-c]]}},lr=function(t){switch(t){case"top":return"bottom";case"bottom":return"top";case"left":return"right";case"right":return"left"}};const ss=_n({component:"popover",parts:["root","trigger","content","close","overlay"]}),ds=new hn("Popover.Root");var ro,no,ao,io,lo,uo,co,ut,ct,Je,nt;const ps=class ps{constructor(t){A(this,Je);ge(this,"opts");A(this,ro,rt(null));ge(this,"contentPresence");A(this,no,rt(null));A(this,ao,rt(null));ge(this,"overlayPresence");A(this,io,rt(!1));A(this,lo,rt(!1));A(this,uo,rt(!1));A(this,co,rt(0));A(this,ut,null);A(this,ct,null);this.opts=t,this.contentPresence=new Hs({ref:fe(()=>this.contentNode),open:this.opts.open,onComplete:()=>{this.opts.onOpenChangeComplete.current(this.opts.open.current)}}),this.overlayPresence=new Hs({ref:fe(()=>this.overlayNode),open:this.opts.open}),cs(()=>this.opts.open.current,r=>{r||(this.openedViaHover=!1,this.hasInteractedWithContent=!1,C(this,Je,nt).call(this))})}static create(t){return ds.set(new ps(t))}get contentNode(){return e(f(this,ro))}set contentNode(t){n(f(this,ro),t,!0)}get triggerNode(){return e(f(this,no))}set triggerNode(t){n(f(this,no),t,!0)}get overlayNode(){return e(f(this,ao))}set overlayNode(t){n(f(this,ao),t,!0)}get openedViaHover(){return e(f(this,io))}set openedViaHover(t){n(f(this,io),t,!0)}get hasInteractedWithContent(){return e(f(this,lo))}set hasInteractedWithContent(t){n(f(this,lo),t,!0)}get hoverCooldown(){return e(f(this,uo))}set hoverCooldown(t){n(f(this,uo),t,!0)}get closeDelay(){return e(f(this,co))}set closeDelay(t){n(f(this,co),t,!0)}setDomContext(t){D(this,ct,t)}toggleOpen(){C(this,Je,nt).call(this),this.opts.open.current=!this.opts.open.current}handleClose(){C(this,Je,nt).call(this),this.opts.open.current&&(this.opts.open.current=!1)}handleHoverOpen(){C(this,Je,nt).call(this),!this.opts.open.current&&(this.openedViaHover=!0,this.opts.open.current=!0)}handleHoverClose(){this.opts.open.current&&this.openedViaHover&&!this.hasInteractedWithContent&&(this.opts.open.current=!1)}handleDelayedHoverClose(){this.opts.open.current&&(!this.openedViaHover||this.hasInteractedWithContent||(C(this,Je,nt).call(this),this.closeDelay<=0?this.opts.open.current=!1:f(this,ct)&&D(this,ut,f(this,ct).setTimeout(()=>{this.openedViaHover&&!this.hasInteractedWithContent&&(this.opts.open.current=!1),D(this,ut,null)},this.closeDelay))))}cancelDelayedClose(){C(this,Je,nt).call(this)}markInteraction(){this.hasInteractedWithContent=!0,C(this,Je,nt).call(this)}};ro=new WeakMap,no=new WeakMap,ao=new WeakMap,io=new WeakMap,lo=new WeakMap,uo=new WeakMap,co=new WeakMap,ut=new WeakMap,ct=new WeakMap,Je=new WeakSet,nt=function(){f(this,ut)!==null&&f(this,ct)&&(f(this,ct).clearTimeout(f(this,ut)),D(this,ut,null))};let rs=ps;var dt,Et,wt,xe,as,is,ls,ur,po;const hs=class hs{constructor(t,r){A(this,xe);ge(this,"opts");ge(this,"root");ge(this,"attachment");ge(this,"domContext");A(this,dt,null);A(this,Et,null);A(this,wt,rt(!1));A(this,po,Ee(()=>({id:this.opts.id.current,"aria-haspopup":"dialog","aria-expanded":yn(this.root.opts.open.current),"data-state":or(this.root.opts.open.current),"aria-controls":C(this,xe,ur).call(this),[ss.trigger]:"",disabled:this.opts.disabled.current,onkeydown:this.onkeydown,onclick:this.onclick,onpointerenter:this.onpointerenter,onpointerleave:this.onpointerleave,...this.attachment})));this.opts=t,this.root=r,this.attachment=tr(this.opts.ref,l=>this.root.triggerNode=l),this.domContext=new fn(t.ref),this.root.setDomContext(this.domContext),this.onclick=this.onclick.bind(this),this.onkeydown=this.onkeydown.bind(this),this.onpointerenter=this.onpointerenter.bind(this),this.onpointerleave=this.onpointerleave.bind(this),cs(()=>this.opts.closeDelay.current,l=>{this.root.closeDelay=l})}static create(t){return new hs(t,ds.get())}onpointerenter(t){if(this.opts.disabled.current||!this.opts.openOnHover.current||Ao(t)||(n(f(this,wt),!0),C(this,xe,is).call(this),this.root.cancelDelayedClose(),this.root.opts.open.current||this.root.hoverCooldown))return;const r=this.opts.openDelay.current;r<=0?this.root.handleHoverOpen():D(this,dt,this.domContext.setTimeout(()=>{this.root.handleHoverOpen(),D(this,dt,null)},r))}onpointerleave(t){this.opts.disabled.current||this.opts.openOnHover.current&&(Ao(t)||(n(f(this,wt),!1),C(this,xe,as).call(this),this.root.hoverCooldown=!1))}onclick(t){if(!this.opts.disabled.current&&t.button===0){if(C(this,xe,ls).call(this),e(f(this,wt))&&this.root.opts.open.current&&this.root.openedViaHover){this.root.openedViaHover=!1,this.root.hasInteractedWithContent=!0;return}e(f(this,wt))&&this.opts.openOnHover.current&&this.root.opts.open.current&&(this.root.hoverCooldown=!0),this.root.hoverCooldown&&!this.root.opts.open.current&&(this.root.hoverCooldown=!1),this.root.toggleOpen()}}onkeydown(t){this.opts.disabled.current||(t.key===vn||t.key===mn)&&(t.preventDefault(),C(this,xe,ls).call(this),this.root.toggleOpen())}get props(){return e(f(this,po))}set props(t){n(f(this,po),t)}};dt=new WeakMap,Et=new WeakMap,wt=new WeakMap,xe=new WeakSet,as=function(){f(this,dt)!==null&&(this.domContext.clearTimeout(f(this,dt)),D(this,dt,null))},is=function(){f(this,Et)!==null&&(this.domContext.clearTimeout(f(this,Et)),D(this,Et,null))},ls=function(){C(this,xe,as).call(this),C(this,xe,is).call(this)},ur=function(){var t,r;if(this.root.opts.open.current&&((t=this.root.contentNode)!=null&&t.id))return(r=this.root.contentNode)==null?void 0:r.id},po=new WeakMap;let ns=hs;var ho,fo;const fs=class fs{constructor(t,r){ge(this,"opts");ge(this,"root");ge(this,"attachment");ge(this,"onInteractOutside",t=>{if(this.opts.onInteractOutside.current(t),t.defaultPrevented||!yt(t.target))return;const r=t.target.closest(ss.selector("trigger"));if(!(r&&r===this.root.triggerNode)){if(this.opts.customAnchor.current){if(yt(this.opts.customAnchor.current)){if(this.opts.customAnchor.current.contains(t.target))return}else if(typeof this.opts.customAnchor.current=="string"){const l=document.querySelector(this.opts.customAnchor.current);if(l&&l.contains(t.target))return}}this.root.handleClose()}});ge(this,"onEscapeKeydown",t=>{this.opts.onEscapeKeydown.current(t),!t.defaultPrevented&&this.root.handleClose()});A(this,ho,Ee(()=>({open:this.root.opts.open.current})));A(this,fo,Ee(()=>({id:this.opts.id.current,tabindex:-1,"data-state":or(this.root.opts.open.current),[ss.content]:"",style:{pointerEvents:"auto",contain:"layout style"},onpointerdown:this.onpointerdown,onfocusin:this.onfocusin,onpointerenter:this.onpointerenter,onpointerleave:this.onpointerleave,...this.attachment})));ge(this,"popperProps",{onInteractOutside:this.onInteractOutside,onEscapeKeydown:this.onEscapeKeydown});this.opts=t,this.root=r,this.attachment=tr(this.opts.ref,l=>this.root.contentNode=l),this.onpointerdown=this.onpointerdown.bind(this),this.onfocusin=this.onfocusin.bind(this),this.onpointerenter=this.onpointerenter.bind(this),this.onpointerleave=this.onpointerleave.bind(this),new Pn({triggerNode:()=>this.root.triggerNode,contentNode:()=>this.root.contentNode,enabled:()=>this.root.opts.open.current&&this.root.openedViaHover&&!this.root.hasInteractedWithContent,onPointerExit:()=>{this.root.handleDelayedHoverClose()}})}static create(t){return new fs(t,ds.get())}onpointerdown(t){this.root.markInteraction()}onfocusin(t){const r=t.target;yt(r)&&bn(r)&&this.root.markInteraction()}onpointerenter(t){Ao(t)||this.root.cancelDelayedClose()}onpointerleave(t){Ao(t)}get shouldRender(){return this.root.contentPresence.shouldRender}get shouldTrapFocus(){return!(this.root.openedViaHover&&!this.root.hasInteractedWithContent)}get snippetProps(){return e(f(this,ho))}set snippetProps(t){n(f(this,ho),t)}get props(){return e(f(this,fo))}set props(t){n(f(this,fo),t)}};ho=new WeakMap,fo=new WeakMap;let us=fs;var kn=T("<div><div><!></div></div>"),zn=T("<div><div><!></div></div>");function Js(p,t){const r=er();Do(t,!0);let l=q(t,"ref",15,null),u=q(t,"id",19,()=>sr(r)),c=q(t,"forceMount",3,!1),v=q(t,"onOpenAutoFocus",3,Lt),_=q(t,"onCloseAutoFocus",3,Lt),J=q(t,"onEscapeKeydown",3,Lt),ve=q(t,"onInteractOutside",3,Lt),Se=q(t,"trapFocus",3,!0),R=q(t,"preventScroll",3,!1),M=q(t,"customAnchor",3,null),F=rr(t,["$$slots","$$events","$$legacy","child","children","ref","id","forceMount","onOpenAutoFocus","onCloseAutoFocus","onEscapeKeydown","onInteractOutside","trapFocus","preventScroll","customAnchor","style"]);const V=us.create({id:fe(()=>u()),ref:fe(()=>l(),U=>l(U)),onInteractOutside:fe(()=>ve()),onEscapeKeydown:fe(()=>J()),customAnchor:fe(()=>M())}),Te=Ee(()=>To(F,V.props)),Oe=Ee(()=>Se()&&V.shouldTrapFocus);function Ie(U){V.shouldTrapFocus||U.preventDefault(),v()(U)}var kt=Z(),We=S(kt);{var j=U=>{gn(U,Ge(()=>e(Te),()=>V.popperProps,{get ref(){return V.opts.ref},get enabled(){return V.root.opts.open.current},get id(){return u()},get trapFocus(){return e(Oe)},get preventScroll(){return R()},loop:!0,forceMount:!0,get customAnchor(){return M()},onOpenAutoFocus:Ie,get onCloseAutoFocus(){return _()},get shouldRender(){return V.shouldRender},popper:(Ze,X)=>{let Me=()=>X==null?void 0:X().props,Ce=()=>X==null?void 0:X().wrapperProps;const Ae=Ee(()=>To(Me(),{style:Es("popover")},{style:t.style}));var Ve=Z(),$e=S(Ve);{var Re=L=>{var K=Z(),B=S(K);{let De=Ee(()=>({props:e(Ae),wrapperProps:Ce(),...V.snippetProps}));bt(B,()=>t.child,()=>e(De))}m(L,K)},Le=L=>{var K=kn();so(K,()=>({...Ce()}));var B=h(K);so(B,()=>({...e(Ae)}));var De=h(B);bt(De,()=>t.children??Mo),d(B),d(K),m(L,K)};ue($e,L=>{t.child?L(Re):L(Le,-1)})}m(Ze,Ve)},$$slots:{popper:!0}}))},ee=U=>{wn(U,Ge(()=>e(Te),()=>V.popperProps,{get ref(){return V.opts.ref},get open(){return V.root.opts.open.current},get id(){return u()},get trapFocus(){return e(Oe)},get preventScroll(){return R()},loop:!0,forceMount:!1,get customAnchor(){return M()},onOpenAutoFocus:Ie,get onCloseAutoFocus(){return _()},get shouldRender(){return V.shouldRender},popper:(Ze,X)=>{let Me=()=>X==null?void 0:X().props,Ce=()=>X==null?void 0:X().wrapperProps;const Ae=Ee(()=>To(Me(),{style:Es("popover")},{style:t.style}));var Ve=Z(),$e=S(Ve);{var Re=L=>{var K=Z(),B=S(K);{let De=Ee(()=>({props:e(Ae),wrapperProps:Ce(),...V.snippetProps}));bt(B,()=>t.child,()=>e(De))}m(L,K)},Le=L=>{var K=zn();so(K,()=>({...Ce()}));var B=h(K);so(B,()=>({...e(Ae)}));var De=h(B);bt(De,()=>t.children??Mo),d(B),d(K),m(L,K)};ue($e,L=>{t.child?L(Re):L(Le,-1)})}m(Ze,Ve)},$$slots:{popper:!0}}))};ue(We,U=>{c()?U(j):c()||U(ee,1)})}m(p,kt),Fo()}var xn=T("<button><!></button>");function Xs(p,t){const r=er();Do(t,!0);let l=q(t,"id",19,()=>sr(r)),u=q(t,"ref",15,null),c=q(t,"type",3,"button"),v=q(t,"disabled",3,!1),_=q(t,"openOnHover",3,!1),J=q(t,"openDelay",3,700),ve=q(t,"closeDelay",3,300),Se=rr(t,["$$slots","$$events","$$legacy","children","child","id","ref","type","disabled","openOnHover","openDelay","closeDelay"]);const R=ns.create({id:fe(()=>l()),ref:fe(()=>u(),F=>u(F)),disabled:fe(()=>!!v()),openOnHover:fe(()=>_()),openDelay:fe(()=>J()),closeDelay:fe(()=>ve())}),M=Ee(()=>To(Se,R.props,{type:c()}));Cn(p,{get id(){return l()},get ref(){return R.opts.ref},children:(F,V)=>{var Te=Z(),Oe=S(Te);{var Ie=We=>{var j=Z(),ee=S(j);bt(ee,()=>t.child,()=>({props:e(M)})),m(We,j)},kt=We=>{var j=xn();so(j,()=>({...e(M)}));var ee=h(j);bt(ee,()=>t.children??Mo),d(j),m(We,j)};ue(Oe,We=>{t.child?We(Ie):We(kt,-1)})}m(F,Te)},$$slots:{default:!0}}),Fo()}function Ys(p,t){Do(t,!0);let r=q(t,"open",15,!1),l=q(t,"onOpenChange",3,Lt),u=q(t,"onOpenChangeComplete",3,Lt);rs.create({open:fe(()=>r(),c=>{r(c),l()(c)}),onOpenChangeComplete:fe(()=>u())}),$n(p,{children:(c,v)=>{var _=Z(),J=S(_);bt(J,()=>t.children??Mo),m(c,_)},$$slots:{default:!0}}),Fo()}function Sn(p,t){const r=Pt(t,["children","$$slots","$$events","$$legacy"]);/**
|
|
2
|
-
* @license lucide-svelte v0.460.1 - ISC
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the ISC license.
|
|
5
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const l=[["path",{d:"m3 16 4 4 4-4"}],["path",{d:"M7 20V4"}],["path",{d:"m21 8-4-4-4 4"}],["path",{d:"M17 4v16"}]];Ct(p,Ge({name:"arrow-down-up"},()=>r,{get iconNode(){return l},children:(u,c)=>{var v=Z(),_=S(v);$t(_,t,"default",{}),m(u,v)},$$slots:{default:!0}}))}function Tn(p,t){const r=Pt(t,["children","$$slots","$$events","$$legacy"]);/**
|
|
7
|
-
* @license lucide-svelte v0.460.1 - ISC
|
|
8
|
-
*
|
|
9
|
-
* This source code is licensed under the ISC license.
|
|
10
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
-
*/const l=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"}]];Ct(p,Ge({name:"copy"},()=>r,{get iconNode(){return l},children:(u,c)=>{var v=Z(),_=S(v);$t(_,t,"default",{}),m(u,v)},$$slots:{default:!0}}))}function On(p,t){const r=Pt(t,["children","$$slots","$$events","$$legacy"]);/**
|
|
12
|
-
* @license lucide-svelte v0.460.1 - ISC
|
|
13
|
-
*
|
|
14
|
-
* This source code is licensed under the ISC license.
|
|
15
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
-
*/const l=[["circle",{cx:"12",cy:"12",r:"1"}],["circle",{cx:"19",cy:"12",r:"1"}],["circle",{cx:"5",cy:"12",r:"1"}]];Ct(p,Ge({name:"ellipsis"},()=>r,{get iconNode(){return l},children:(u,c)=>{var v=Z(),_=S(v);$t(_,t,"default",{}),m(u,v)},$$slots:{default:!0}}))}function Mn(p,t){const r=Pt(t,["children","$$slots","$$events","$$legacy"]);/**
|
|
17
|
-
* @license lucide-svelte v0.460.1 - ISC
|
|
18
|
-
*
|
|
19
|
-
* This source code is licensed under the ISC license.
|
|
20
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
-
*/const l=[["path",{d:"M15 3h6v6"}],["path",{d:"M10 14 21 3"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}]];Ct(p,Ge({name:"external-link"},()=>r,{get iconNode(){return l},children:(u,c)=>{var v=Z(),_=S(v);$t(_,t,"default",{}),m(u,v)},$$slots:{default:!0}}))}function An(p,t){const r=Pt(t,["children","$$slots","$$events","$$legacy"]);/**
|
|
22
|
-
* @license lucide-svelte v0.460.1 - ISC
|
|
23
|
-
*
|
|
24
|
-
* This source code is licensed under the ISC license.
|
|
25
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
26
|
-
*/const l=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"}],["path",{d:"m15 5 4 4"}]];Ct(p,Ge({name:"pencil"},()=>r,{get iconNode(){return l},children:(u,c)=>{var v=Z(),_=S(v);$t(_,t,"default",{}),m(u,v)},$$slots:{default:!0}}))}function Qs(p,t){const r=Pt(t,["children","$$slots","$$events","$$legacy"]);/**
|
|
27
|
-
* @license lucide-svelte v0.460.1 - ISC
|
|
28
|
-
*
|
|
29
|
-
* This source code is licensed under the ISC license.
|
|
30
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
31
|
-
*/const l=[["path",{d:"M3 6h18"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17"}]];Ct(p,Ge({name:"trash-2"},()=>r,{get iconNode(){return l},children:(u,c)=>{var v=Z(),_=S(v);$t(_,t,"default",{}),m(u,v)},$$slots:{default:!0}}))}function Dn(p,t){const r=Pt(t,["children","$$slots","$$events","$$legacy"]);/**
|
|
32
|
-
* @license lucide-svelte v0.460.1 - ISC
|
|
33
|
-
*
|
|
34
|
-
* This source code is licensed under the ISC license.
|
|
35
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
36
|
-
*/const l=[["path",{d:"M3 6h18"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"}]];Ct(p,Ge({name:"trash"},()=>r,{get iconNode(){return l},children:(u,c)=>{var v=Z(),_=S(v);$t(_,t,"default",{}),m(u,v)},$$slots:{default:!0}}))}function Gs(p,t={}){const r=p.trim();if(!r)return r;if(!/^https?:\/\//i.test(r))return r.toLowerCase();try{const l=new URL(r),u=l.protocol.toLowerCase(),c=l.host.toLowerCase();let v=l.pathname;return v.length>1&&v.endsWith("/")&&(v=v.slice(0,-1)),t.lowerPathCase&&(v=v.toLowerCase()),`${u}//${c}${v}${l.search}${l.hash}`}catch{return r.toLowerCase()}}function Zs(p){const t=p.trim();if(!/^https?:\/\//i.test(t))return null;try{return new URL(t).hostname.replace(/^www\./i,"")||null}catch{return null}}function Rs(p){return`/api/feed-favicon?domain=${encodeURIComponent(p)}`}var Fn=T("<span> </span> <!>",1),In=T("<!> <!>",1),Ln=T("<span> </span> <!>",1),Nn=T("<!> <!>",1),Hn=T('<p class="field-hint svelte-1beoyzy">暂无代理列表,可在后台「代理」中添加。</p>'),En=T('<p class="save-error svelte-1beoyzy"> </p>'),Wn=T('<span class="confirm-delete-row svelte-1beoyzy"><span class="confirm-delete-text svelte-1beoyzy">确认删除?</span> <button type="button" class="btn-confirm-yes svelte-1beoyzy">删除</button> <button type="button" class="btn-confirm-no svelte-1beoyzy">取消</button></span>'),Vn=T('<button type="button" class="btn-delete svelte-1beoyzy"><!> 删除</button>'),jn=T('<div class="modal-header svelte-1beoyzy"><!> <!></div> <div class="modal-body svelte-1beoyzy"><div class="field svelte-1beoyzy"><span class="field-label svelte-1beoyzy">Ref <span class="required svelte-1beoyzy">*</span></span> <div class="ref-input-wrap svelte-1beoyzy"><input class="field-input svelte-1beoyzy" type="text" placeholder="https://example.com/feed"/></div></div> <div class="field svelte-1beoyzy"><span class="field-label svelte-1beoyzy">来源</span> <div class="parse-hints svelte-1beoyzy" role="status" aria-live="polite"><span title="标准 RSS/Atom/JSON Feed(内置 __rss__,rss-parser)"><!> <span>RSS/Atom</span></span> <span title="内置 IMAP 邮件插件(__email__)"><!> <span>邮箱</span></span> <span title="Site 插件(listUrlPattern)或语鲸协议(lingowhale://)"><!> <span>插件</span></span> <span title="通用网页列表:无 Feed 特征且未命中插件时,走 LLM 解析(generic)"><!> <span>LLM</span></span></div></div> <div class="field svelte-1beoyzy"><span class="field-label svelte-1beoyzy">名称</span> <input class="field-input svelte-1beoyzy" type="text" placeholder="显示名称(留空则显示 ref)"/></div> <div class="field svelte-1beoyzy"><span class="field-label svelte-1beoyzy">描述</span> <input class="field-input svelte-1beoyzy" type="text" placeholder="简短说明"/></div> <div class="field-row svelte-1beoyzy"><div class="field svelte-1beoyzy"><span class="field-label svelte-1beoyzy">权重(0–1)</span> <input class="field-input field-input--weight svelte-1beoyzy" type="number" min="0" max="1" step="0.01" inputmode="decimal" placeholder="0–1"/></div> <div class="field svelte-1beoyzy"><span class="field-label svelte-1beoyzy">刷新间隔</span> <!></div></div> <div class="field svelte-1beoyzy"><span class="field-label svelte-1beoyzy">代理</span> <!> <!></div> <!></div> <div class="modal-footer svelte-1beoyzy"><div class="modal-footer-left svelte-1beoyzy"><!></div> <div class="modal-footer-right svelte-1beoyzy"><!> <button type="button" class="btn-save svelte-1beoyzy"> </button></div></div>',1),Un=T("<!> <!>",1),Kn=T('<p class="remove-dialog-target svelte-1beoyzy"> </p>'),Bn=T('<div class="modal-header svelte-1beoyzy"><!> <!></div> <div class="modal-body svelte-1beoyzy"><p id="remove-source-desc" class="remove-dialog-text svelte-1beoyzy">确定删除该信源吗?操作会同时删除该信源下已入库的所有条目,且不可恢复。</p> <!></div> <div class="modal-footer remove-dialog-footer svelte-1beoyzy"><!> <button type="button" class="btn-confirm-yes svelte-1beoyzy">移除</button></div>',1),qn=T("<!> <!>",1),Jn=T('<span class="sort-menu-dir svelte-1beoyzy" aria-hidden="true"> </span>'),Xn=T('<button type="button"><span> </span> <!></button>'),Yn=T("<!> <!>",1),Qn=T('<div class="state svelte-1beoyzy">加载中…</div>'),Gn=T('<div class="state error svelte-1beoyzy"> </div>'),Zn=T('<div class="state svelte-1beoyzy">暂无信源。<button type="button" class="link-btn svelte-1beoyzy">点击添加</button>第一个信源。</div>'),Rn=T('<div class="state svelte-1beoyzy">无匹配结果</div>'),ea=T('<img class="source-title-favicon svelte-1beoyzy" alt="" width="16" height="16" loading="lazy" decoding="async"/>'),ta=T('<span class="source-title-favicon-slot svelte-1beoyzy" aria-hidden="true"><!></span>'),oa=T('<button type="button" class="more-menu-item svelte-1beoyzy" title="在本机服务端启动与抓取相同的有头 Chrome(共用浏览器数据目录与代理)"><!> <span>打开链接</span></button>'),sa=T('<button type="button" title="强制拉取"><!> <span> </span></button> <button type="button" class="more-menu-item svelte-1beoyzy"><!> <span>编辑</span></button> <button type="button" class="more-menu-item svelte-1beoyzy" title="复制本服务的 RSS 订阅地址(/rss?ref=…)"><!> <span>复制 RSS 地址</span></button> <!> <button type="button" class="more-menu-item more-menu-item-danger svelte-1beoyzy" title="清空该信源下所有已入库条目"><!> <span> </span></button> <button type="button" class="more-menu-item more-menu-item-remove svelte-1beoyzy" title="从订阅列表中移除此信源"><!> <span> </span></button>',1),ra=T("<!> <!>",1),na=T('<div class="card row-grid svelte-1beoyzy" role="button" tabindex="0"><div class="cell-title svelte-1beoyzy"><div class="title-block svelte-1beoyzy"><!> <div class="title-line svelte-1beoyzy"><span class="title-text svelte-1beoyzy"> </span> <span class="title-item-count svelte-1beoyzy"> </span></div></div></div> <div class="cell-actions svelte-1beoyzy"><!></div></div>'),aa=T('<div class="list svelte-1beoyzy"></div>'),ia=T('<!> <!> <!> <div class="feed-wrap svelte-1beoyzy"><div class="feed-col svelte-1beoyzy"><div class="feed-toolbar-block svelte-1beoyzy"><div class="feed-header svelte-1beoyzy"><div class="header-left svelte-1beoyzy"><input class="filter-input svelte-1beoyzy" type="search" placeholder="过滤…"/> <!></div> <div class="header-right svelte-1beoyzy"><button type="button" class="btn-add svelte-1beoyzy" title="添加信源" aria-label="添加信源"><!></button></div></div></div> <div class="feed-body-scroll svelte-1beoyzy"><!></div></div></div>',1);function Oa(p,t){Do(t,!1);const r=()=>Ms(ln,"$refToTaskId",u),l=()=>Ms(Go,"$page",u),[u,c]=Zr(),v=$(),_=$(),J=$(),ve=$(),Se=$(),R=$(),M=$(),F=$();function V(o){return o==="alpha"||o==="parse"?"asc":"desc"}const Te="1day",Oe=[{value:"10min",label:"10 分钟"},{value:"30min",label:"30 分钟"},{value:"1h",label:"1 小时"},{value:"6h",label:"6 小时"},{value:"12h",label:"12 小时"},{value:"1day",label:"1 天"},{value:"3day",label:"3 天"},{value:"7day",label:"7 天"}];function Ie(o){const s=(o==null?void 0:o.trim())??"";return Oe.some(a=>a.value===s)?s:Te}function kt(o){return Math.min(1,Math.max(0,o))}function We(o){const s=typeof o=="number"&&!Number.isNaN(o)?o:Number(String(o).trim());return Number.isFinite(s)?s<0||s>1?{ok:!1,message:"权重需在 0–1 之间"}:{ok:!0,value:s}:{ok:!1,message:"权重需为 0–1 之间的数字"}}let j=[],ee=$([]),U=$([]),Wt=$(!0),Ze=$(""),X=$(""),Me=$("weight"),Ce=$("desc"),Ae=$(!1),Ve="",$e=$(null),Re=$({}),Le=$(null),L=$(null),K=$(!1),B=$(null),De=$(!1),me=$(null),Vt=$(!1),jt=$(!1),Xe=$(!1),se=$(""),Fe=$(""),zt=$(""),xt=$(""),Ut=$(0),pt=$(Te),ye=$("");function cr(o){n(ye,o)}function dr(o){n(pt,o)}let St=$(null),vo=null;function mo(o){const s=(o==null?void 0:o.trim())??"";if(!s)return s;const a=s.toLowerCase();return a.startsWith("http://")||a.startsWith("https://")||a.startsWith("imaps://")||a.startsWith("imap://")||a.startsWith("lingowhale://")?s:"https://"+s}function pr(o){const s=o.toLowerCase();return s.includes("/feed")||s.includes("/rss")||s.includes("/atom")||s.endsWith(".xml")||s.endsWith(".rss")||s.endsWith(".atom")||s.includes("format=rss")||s.includes("format=atom")||s.includes("output=rss")}function vs(o,s){const a=(o==null?void 0:o.trim())??"";if(!a)return null;const i=a.toLowerCase();if(i.startsWith("imaps://")||i.startsWith("imap://"))return"email";if(i.startsWith("lingowhale://"))return"plugin";const g=mo(a);return!g.startsWith("http://")&&!g.startsWith("https://")?null:pr(g)?"rss":s?"plugin":"llm"}function Io(o){return o==="rss"?"RSS/Atom":o==="plugin"?"插件":o==="llm"?"LLM":o==="email"?"邮箱":"—"}function hr(o){vo&&clearTimeout(vo);const s=o==null?void 0:o.trim();if(!s){n(St,null);return}n(St,null);const a=mo(s);vo=setTimeout(async()=>{vo=null;try{const i=await He("/api/sources/plugin-match",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refs:[a]})});if(i.ok){const g=await i.json();mo(e(Fe).trim())===a&&n(St,g[a]??null)}}catch{mo(e(Fe).trim())===a&&n(St,null)}},400)}function fr(o,s,a){const i=a==="desc"?-1:1;return[...o].sort((g,k)=>{let b=0;switch(s){case"weight":b=g.weight-k.weight;break;case"alpha":b=g.displayLabel.localeCompare(k.displayLabel,"zh-CN");break;case"parse":b=Io(g.parseHint).localeCompare(Io(k.parseHint),"zh-CN");break;case"latest":{const H=g.latestAt?new Date(g.latestAt).getTime():NaN,re=k.latestAt?new Date(k.latestAt).getTime():NaN,ce=Number.isFinite(H),Y=Number.isFinite(re);if(!ce&&!Y)b=0;else if(ce)if(Y)b=H-re;else return-1;else return 1;break}case"count":b=g.count-k.count;break;case"week":b=g.weekCount-k.weekCount;break}return b!==0?i*b:g.displayLabel.localeCompare(k.displayLabel,"zh-CN")})}function vr(o){e(Me)===o?n(Ce,e(Ce)==="asc"?"desc":"asc"):(n(Me,o),n(Ce,V(o)))}let Lo=$(!1);function ms(o){return o==="alpha"?"标题":o==="weight"?"权重":o==="latest"?"最近拉取":o==="parse"?"解析":o==="week"?"近7天":"数量"}function mr(o){vr(o),n(Lo,!1)}const yr=["alpha","weight","latest","parse","count","week"];async function Tt(o){const s=(o==null?void 0:o.silent)===!0;s||n(Wt,!0),n(Ze,"");try{const[a,i,g]=await Promise.all([He("/api/sources/raw"),He("/api/sources/stats"),He("/api/proxy")]),k=await a.text(),b=JSON.parse(k||"{}");if(j=Array.isArray(b.sources)?b.sources:[],g.ok){const w=await g.json();n(U,Array.isArray(w.proxyList)?w.proxyList.filter(I=>typeof I=="string"&&I.trim().length>0):[])}else n(U,[]);const H=i.ok?await i.json():[],re=new Map;for(const w of H){const I=Gs(w.source_url),P=re.get(I),N=w.latest_at??null,ne=typeof w.count_7d=="number"&&Number.isFinite(w.count_7d)?w.count_7d:0;P?re.set(I,{count:P.count+w.count,weekCount:P.weekCount+ne,latestAt:P.latestAt?N?P.latestAt>=N?P.latestAt:N:P.latestAt:N}):re.set(I,{count:w.count,weekCount:ne,latestAt:N})}const ce=j.filter(w=>{var I;return(I=w==null?void 0:w.ref)==null?void 0:I.trim()}).map(w=>w.ref.trim());let Y={};if(ce.length>0)try{const w=await He("/api/sources/plugin-match",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refs:ce})});w.ok&&(Y=await w.json())}catch{}n(ee,j.filter(w=>{var I;return(I=w==null?void 0:w.ref)==null?void 0:I.trim()}).map(w=>{var be,E;const I=w.ref.trim(),P=re.get(Gs(I))??{count:0,weekCount:0,latestAt:null},N=Y[I]??null,ne=(be=w.proxy)==null?void 0:be.trim();return{ref:I,displayLabel:w.label&&w.label.trim()||I,description:(E=w.description)==null?void 0:E.trim(),count:(P==null?void 0:P.count)??0,weekCount:(P==null?void 0:P.weekCount)??0,latestAt:(P==null?void 0:P.latestAt)??null,pluginId:N,weight:w.weight??0,...ne?{proxy:ne}:{},parseHint:vs(I,N)}}))}catch(a){n(Ze,a instanceof Error?a.message:String(a)),s||n(ee,[])}finally{s||n(Wt,!1)}}async function No(o){return(await He("/api/sources/raw",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({sources:o})})).ok}function ys(){n(jt,!1),n(Fe,""),n(zt,""),n(xt,""),n(Ut,0),n(pt,Te),n(ye,""),n(se,""),n(Vt,!0)}function br(o){const s=j.find(a=>a.ref===o.ref);n(jt,!0),Ve=o.ref,n(Fe,o.ref),n(zt,(s==null?void 0:s.label)??""),n(xt,(s==null?void 0:s.description)??""),n(Ut,kt((s==null?void 0:s.weight)??0)),n(pt,Ie(s==null?void 0:s.refresh)),n(ye,(s==null?void 0:s.proxy)??""),n(se,""),n(Ae,!1),n(Vt,!0)}function bs(){n(Vt,!1),n(Ae,!1)}async function _r(){const o=e(Fe).trim();if(!o){n(se,"ref 不能为空");return}const s=We(e(Ut));if(!s.ok){n(se,s.message);return}n(Xe,!0),n(se,"");try{const a=s.value,i={ref:o,...e(zt).trim()?{label:e(zt).trim()}:{},...e(xt).trim()?{description:e(xt).trim()}:{},refresh:e(pt),...e(ye).trim()?{proxy:e(ye).trim()}:{},...a!==0?{weight:a}:{}};let g;if(e(jt)){if(o!==Ve&&j.some(b=>b.ref===o)){n(se,"该 ref 已存在");return}g=j.map(b=>b.ref===Ve?{...b,...i}:b)}else{if(j.some(b=>b.ref===o)){n(se,"该 ref 已存在");return}g=[...j,i]}if(!await No(g)){n(se,"保存失败,请重试");return}bs(),await Tt({silent:!0})}catch(a){n(se,a instanceof Error?a.message:String(a))}finally{n(Xe,!1)}}async function _s(o){try{const s=await He("/api/items/by-source?source_url="+encodeURIComponent(o),{method:"DELETE"}),a=await s.json();return!s.ok||!a.ok?{ok:!1,message:a.message??"删除信源条目失败"}:{ok:!0,deleted:Number(a.deleted??0)}}catch(s){return{ok:!1,message:s instanceof Error?s.message:"删除信源条目失败"}}}async function gr(){const o=Ve.trim();if(!o){n(se,"缺少信源 ref");return}n(Xe,!0),n(se,"");try{const s=await _s(o);if(!s.ok){n(se,s.message);return}const a=j.filter(g=>g.ref!==o);if(!await No(a)){n(se,"删除信源失败,请重试");return}bs(),await Tt({silent:!0})}catch(s){n(se,s instanceof Error?s.message:String(s))}finally{n(Xe,!1)}}async function wr(o){for(let s=0;s<120;s++){const a=await He(`/api/tasks/${o}`);if(!a.ok)return{ok:!1,error:"轮询失败"};const i=await a.json();if(i.status==="done")return{ok:!0};if(i.status==="error")return{ok:!1,error:i.error??"拉取失败"};await new Promise(g=>setTimeout(g,800))}return{ok:!1,error:"超时"}}async function Cr(o,s){if(s==null||s.preventDefault(),s==null||s.stopPropagation(),!(o in r()))try{const a=await He("/api/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"source-pull",ref:o})}),i=await a.json();if(!a.ok||!i.taskId)return;un(o,i.taskId),(await wr(i.taskId)).ok&&await Tt({silent:!0})}catch{}finally{cn(o)}}function $r(o){const s=o.trim().toLowerCase();return s.startsWith("http://")||s.startsWith("https://")}function Pr(o){const s=new URL("/rss",typeof window<"u"?window.location.origin:"http://127.0.0.1");return s.searchParams.set("ref",o),s.href}async function kr(o,s){s==null||s.preventDefault(),s==null||s.stopPropagation();try{const a=await He("/api/sources/open-browser",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:o})}),i=await a.json();a.ok&&i.ok?Ft(i.message??"已在爬虫浏览器中打开","success"):Ft(i.message??"打开失败","error")}catch{Ft("打开失败","error")}finally{n($e,null)}}async function zr(o){const s=Pr(o);try{await navigator.clipboard.writeText(s)}catch{try{const a=document.createElement("textarea");a.value=s,a.style.position="fixed",a.style.left="-9999px",document.body.appendChild(a),a.select(),document.execCommand("copy"),document.body.removeChild(a)}catch{}}n($e,null)}function xr(o){n(K,o),o||n(B,null)}function Sr(o){e(L)||(n(B,o),n(K,!0),n($e,null))}async function Tr(){var s;const o=e(B);if(!(!o||e(L))){n(K,!1),n(B,null),n(L,o);try{const a=await _s(o);if(!a.ok){Ft(a.message,"error");return}const i=j.filter(k=>k.ref!==o);if(!await No(i)){Ft("移除失败,请重试","error");return}As(Go).url.pathname==="/"?Ds.update(k=>(k==null?void 0:k.ref)===o?null:k):((s=e(me))==null?void 0:s.ref)===o&&(n(De,!1),n(me,null)),await Tt({silent:!0})}catch(a){Ft(a instanceof Error?a.message:"移除失败","error")}finally{n(L,null)}}}async function Or(o){if(!e(Le)&&confirm("确定要清空该信源下的所有条目吗?此操作不可恢复。")){n(Le,o),n($e,null);try{const s=await He("/api/items/by-source?source_url="+encodeURIComponent(o),{method:"DELETE"}),a=await s.json();s.ok&&a.ok?await Tt({silent:!0}):s.ok||alert(a.message??"清空失败")}catch(s){alert(s instanceof Error?s.message:"清空失败")}finally{n(Le,null)}}}function gs(o){var s,a;if(As(Go).url.pathname==="/"){Ds.set({ref:o.ref,displayLabel:o.displayLabel,...(s=o.description)!=null&&s.trim()?{description:o.description.trim()}:{},...(a=o.proxy)!=null&&a.trim()?{proxy:o.proxy.trim()}:{},...o.parseHint!=null?{parseHint:o.parseHint}:{}});return}n(me,o),n(De,!0)}function Mr(o,s){const a=s.target;a&&(a.closest("a[href], button")||gs(o))}function Ar(o,s){s.key!=="Enter"&&s.key!==" "||(s.preventDefault(),gs(o))}Jr(Tt),Qe(()=>(e(B),e(ee)),()=>{var o;n(v,e(B)!=null?((o=e(ee).find(s=>s.ref===e(B)))==null?void 0:o.displayLabel)??e(B):"")}),Qe(()=>(e(ye),e(U)),()=>{n(_,e(ye).trim()&&!e(U).includes(e(ye).trim()))}),Qe(()=>(e(_),e(ye),e(U)),()=>{n(J,[{value:"",label:"使用默认代理"},...e(_)?[{value:e(ye),label:`${e(ye)}(当前配置,未在代理列表中)`}]:[],...e(U).map(o=>({value:o,label:o}))])}),Qe(()=>(e(J),e(ye)),()=>{var o;n(ve,((o=e(J).find(s=>s.value===e(ye)))==null?void 0:o.label)??"使用默认代理")}),Qe(()=>e(pt),()=>{var o;n(Se,((o=Oe.find(s=>s.value===e(pt)))==null?void 0:o.label)??"1 天")}),Qe(()=>e(Fe),()=>{e(Fe),hr(e(Fe))}),Qe(()=>(e(Fe),e(St)),()=>{n(R,vs(e(Fe),e(St)))}),Qe(()=>e(R),()=>{n(M,e(R)??"llm")}),Qe(()=>(e(X),e(ee),e(Me),e(Ce)),()=>{n(F,fr(e(X).trim()?e(ee).filter(o=>{var a;const s=e(X).trim().toLowerCase();return o.displayLabel.toLowerCase().includes(s)||(((a=o.description)==null?void 0:a.toLowerCase().includes(s))??!1)||o.ref.toLowerCase().includes(s)||Io(o.parseHint).toLowerCase().includes(s)}):e(ee),e(Me),e(Ce)))}),Xr(),en();var ws=ia(),Cs=S(ws);Fs(Cs,{get open(){return e(Vt)},onOpenChange:o=>{n(Vt,o),o||n(Ae,!1)},children:(o,s)=>{It(o,{children:(a,i)=>{var g=Un(),k=S(g);Is(k,{class:"modal-overlay"});var b=y(k,2);Ls(b,{class:"modal","aria-describedby":void 0,children:(H,re)=>{var ce=jn(),Y=S(ce),w=h(Y);Ns(w,{class:"modal-title",children:(O,Pe)=>{te();var ae=st();oe(()=>le(ae,e(jt)?"编辑信源":"添加信源")),m(O,ae)},$$slots:{default:!0}});var I=y(w,2);So(I,{class:"modal-close","aria-label":"关闭",children:(O,Pe)=>{te();var ae=st("✕");m(O,ae)},$$slots:{default:!0}}),d(Y);var P=y(Y,2),N=h(P),ne=y(h(N),2),be=h(ne);to(be),d(ne),d(N);var E=y(N,2),de=y(h(E),2),Q=h(de);let W;var G=h(Q);tn(G,{size:14,class:"parse-hint-icon"}),te(2),d(Q);var pe=y(Q,2);let je;var jo=h(pe);on(jo,{size:14,class:"parse-hint-icon"}),te(2),d(pe);var et=y(pe,2);let Uo;var yo=h(et);sn(yo,{size:14,class:"parse-hint-icon"}),te(2),d(et);var Ue=y(et,2);let Kt;var bo=h(Ue);rn(bo,{size:14,class:"parse-hint-icon"}),te(2),d(Ue),d(de),d(E);var Ot=y(E,2),_o=y(h(Ot),2);to(_o),d(Ot);var tt=y(Ot,2),go=y(h(tt),2);to(go),d(tt);var ot=y(tt,2),Bt=h(ot),qt=y(h(Bt),2);to(qt),d(Bt);var wo=y(Bt,2),Ko=y(h(wo),2);Ws(Ko,{type:"single",get value(){return e(pt)},onValueChange:dr,get items(){return Oe},children:(O,Pe)=>{var ae=In(),ft=S(ae);Vs(ft,{class:"source-modal-select-trigger","aria-label":"刷新间隔",children:(_e,ke)=>{var he=Fn(),Ne=S(he),vt=h(Ne,!0);d(Ne);var Gt=y(Ne,2);js(Gt,{size:14,"aria-hidden":"true"}),oe(()=>le(vt,e(Se))),m(_e,he)},$$slots:{default:!0}});var Qt=y(ft,2);It(Qt,{children:(_e,ke)=>{Us(_e,{class:"source-modal-select-content",sideOffset:4,children:(he,Ne)=>{Ks(he,{class:"source-modal-select-viewport",children:(vt,Gt)=>{var Zt=Z(),qo=S(Zt);xo(qo,1,()=>Oe,mt=>mt.value,(mt,ze)=>{Bs(mt,{class:"source-modal-select-item",get value(){return e(ze),z(()=>e(ze).value)},get label(){return e(ze),z(()=>e(ze).label)},children:(Jo,Kr)=>{te();var Rt=st();oe(()=>le(Rt,(e(ze),z(()=>e(ze).label)))),m(Jo,Rt)},$$slots:{default:!0}})}),m(vt,Zt)},$$slots:{default:!0}})},$$slots:{default:!0}})},$$slots:{default:!0}}),m(O,ae)},$$slots:{default:!0}}),d(wo),d(ot);var Ye=y(ot,2),Jt=y(h(Ye),2);Ws(Jt,{type:"single",get value(){return e(ye)},onValueChange:cr,get items(){return e(J)},children:(O,Pe)=>{var ae=Nn(),ft=S(ae);Vs(ft,{class:"source-modal-select-trigger","aria-label":"代理",children:(_e,ke)=>{var he=Ln(),Ne=S(he),vt=h(Ne,!0);d(Ne);var Gt=y(Ne,2);js(Gt,{size:14,"aria-hidden":"true"}),oe(()=>le(vt,e(ve))),m(_e,he)},$$slots:{default:!0}});var Qt=y(ft,2);It(Qt,{children:(_e,ke)=>{Us(_e,{class:"source-modal-select-content",sideOffset:4,children:(he,Ne)=>{Ks(he,{class:"source-modal-select-viewport",children:(vt,Gt)=>{var Zt=Z(),qo=S(Zt);xo(qo,1,()=>e(J),mt=>mt.value,(mt,ze)=>{Bs(mt,{class:"source-modal-select-item",get value(){return e(ze),z(()=>e(ze).value)},get label(){return e(ze),z(()=>e(ze).label)},children:(Jo,Kr)=>{te();var Rt=st();oe(()=>le(Rt,(e(ze),z(()=>e(ze).label)))),m(Jo,Rt)},$$slots:{default:!0}})}),m(vt,Zt)},$$slots:{default:!0}})},$$slots:{default:!0}})},$$slots:{default:!0}}),m(O,ae)},$$slots:{default:!0}});var Co=y(Jt,2);{var Bo=O=>{var Pe=Hn();m(O,Pe)};ue(Co,O=>{e(U),z(()=>e(U).length===0)&&O(Bo)})}d(Ye);var Mt=y(Ye,2);{var $o=O=>{var Pe=En(),ae=h(Pe,!0);d(Pe),oe(()=>le(ae,e(se))),m(O,Pe)};ue(Mt,O=>{e(se)&&O($o)})}d(P);var Xt=y(P,2),Yt=h(Xt),ht=h(Yt);{var At=O=>{var Pe=Z(),ae=S(Pe);{var ft=_e=>{var ke=Wn(),he=y(h(ke),2),Ne=y(he,2);d(ke),oe(()=>he.disabled=e(Xe)),ie("click",he,gr),ie("click",Ne,()=>n(Ae,!1)),m(_e,ke)},Qt=_e=>{var ke=Vn(),he=h(ke);Qs(he,{size:13}),te(),d(ke),oe(()=>ke.disabled=e(Xe)),ie("click",ke,()=>n(Ae,!0)),m(_e,ke)};ue(ae,_e=>{e(Ae)?_e(ft):_e(Qt,-1)})}m(O,Pe)};ue(ht,O=>{e(jt)&&O(At)})}d(Yt);var Po=y(Yt,2),ko=h(Po);So(ko,{class:"btn-cancel",get disabled(){return e(Xe)},children:(O,Pe)=>{te();var ae=st("取消");m(O,ae)},$$slots:{default:!0}});var zo=y(ko,2),Ur=h(zo,!0);d(zo),d(Po),d(Xt),oe(()=>{W=Dt(Q,1,"parse-hint svelte-1beoyzy",null,W,{active:e(M)==="rss"}),je=Dt(pe,1,"parse-hint svelte-1beoyzy",null,je,{active:e(M)==="email"}),Uo=Dt(et,1,"parse-hint svelte-1beoyzy",null,Uo,{active:e(M)==="plugin"}),Kt=Dt(Ue,1,"parse-hint svelte-1beoyzy",null,Kt,{active:e(M)==="llm"}),zo.disabled=e(Xe),le(Ur,e(Xe)?"保存中…":"保存")}),oo(be,()=>e(Fe),O=>n(Fe,O)),oo(_o,()=>e(zt),O=>n(zt,O)),oo(go,()=>e(xt),O=>n(xt,O)),oo(qt,()=>e(Ut),O=>n(Ut,O)),ie("click",zo,_r),m(H,ce)},$$slots:{default:!0}}),m(a,g)},$$slots:{default:!0}})},$$slots:{default:!0}});var $s=y(Cs,2);Fs($s,{get open(){return e(K)},onOpenChange:xr,children:(o,s)=>{It(o,{children:(a,i)=>{var g=qn(),k=S(g);Is(k,{class:"modal-overlay"});var b=y(k,2);Ls(b,{class:"modal","aria-describedby":"remove-source-desc",children:(H,re)=>{var ce=Bn(),Y=S(ce),w=h(Y);Ns(w,{class:"modal-title",children:(Q,W)=>{te();var G=st("移除信源");m(Q,G)},$$slots:{default:!0}});var I=y(w,2);So(I,{class:"modal-close","aria-label":"关闭",children:(Q,W)=>{te();var G=st("✕");m(Q,G)},$$slots:{default:!0}}),d(Y);var P=y(Y,2),N=y(h(P),2);{var ne=Q=>{var W=Kn(),G=h(W,!0);d(W),oe(()=>le(G,e(v))),m(Q,W)};ue(N,Q=>{e(v)&&Q(ne)})}d(P);var be=y(P,2),E=h(be);{let Q=Ke(()=>!!e(L));So(E,{class:"btn-cancel",get disabled(){return e(Q)},children:(W,G)=>{te();var pe=st("取消");m(W,pe)},$$slots:{default:!0}})}var de=y(E,2);d(be),oe(()=>de.disabled=!!e(L)),ie("click",de,Tr),m(H,ce)},$$slots:{default:!0}}),m(a,g)},$$slots:{default:!0}})},$$slots:{default:!0}});var Ps=y($s,2);{var Dr=o=>{{let s=Ke(()=>(e(me),z(()=>{var b;return((b=e(me))==null?void 0:b.ref)??""}))),a=Ke(()=>(e(me),z(()=>{var b;return((b=e(me))==null?void 0:b.displayLabel)??""}))),i=Ke(()=>(e(me),z(()=>{var b,H;return((H=(b=e(me))==null?void 0:b.description)==null?void 0:H.trim())??""}))),g=Ke(()=>(e(me),z(()=>{var b,H;return((H=(b=e(me))==null?void 0:b.proxy)==null?void 0:H.trim())??""}))),k=Ke(()=>(e(me),z(()=>{var b;return((b=e(me))==null?void 0:b.parseHint)??null})));nn(o,{variant:"overlay",get open(){return e(De)},get sourceRef(){return e(s)},get sourceLabel(){return e(a)},get sourceDescription(){return e(i)},get sourceProxy(){return e(g)},get sourceParseHint(){return e(k)},onOpenChange:b=>{n(De,b),b||n(me,null)}})}};ue(Ps,o=>{l(),z(()=>l().url.pathname!=="/")&&o(Dr)})}var ks=y(Ps,2),zs=h(ks),Ho=h(zs),xs=h(Ho),Eo=h(xs),Wo=h(Eo);to(Wo);var Fr=y(Wo,2);{var Ir=o=>{Ys(o,{get open(){return e(Lo)},onOpenChange:s=>{n(Lo,s)},children:(s,a)=>{var i=Yn(),g=S(i);{let b=Ke(()=>(e(Me),z(()=>ms(e(Me))))),H=Ke(()=>e(Ce)==="asc"?" 升序":" 降序");Xs(g,{type:"button",class:"btn-sort",get title(){return`排序:${e(b)??""}${e(H)??""},点此选择依据或同项切换方向`},"aria-label":"排序",children:(re,ce)=>{Sn(re,{size:16})},$$slots:{default:!0}})}var k=y(g,2);It(k,{children:(b,H)=>{Js(b,{class:"dropdown-panel sort-menu",sideOffset:6,align:"start",children:(re,ce)=>{var Y=Z(),w=S(Y);xo(w,1,()=>yr,Rr,(I,P)=>{var N=Xn();let ne;var be=h(N),E=h(be,!0);d(be);var de=y(be,2);{var Q=W=>{var G=Jn(),pe=h(G,!0);d(G),oe(()=>le(pe,e(Ce)==="asc"?"↑":"↓")),m(W,G)};ue(de,W=>{e(Me)===e(P)&&W(Q)})}d(N),oe(W=>{ne=Dt(N,1,"sort-menu-item svelte-1beoyzy",null,ne,{active:e(Me)===e(P)}),le(E,W)},[()=>(e(P),z(()=>ms(e(P))))]),ie("click",N,()=>mr(e(P))),m(I,N)}),m(re,Y)},$$slots:{default:!0}})},$$slots:{default:!0}}),m(s,i)},$$slots:{default:!0}})};ue(Fr,o=>{l(),e(ee),z(()=>l().url.pathname==="/"&&e(ee).length>0)&&o(Ir)})}d(Eo);var Ss=y(Eo,2),Vo=h(Ss),Lr=h(Vo);dn(Lr,{size:16,"aria-hidden":"true"}),d(Vo),d(Ss),d(xs),d(Ho);var Ts=y(Ho,2),Nr=h(Ts);{var Hr=o=>{var s=Qn();m(o,s)},Er=o=>{var s=Gn(),a=h(s,!0);d(s),oe(()=>le(a,e(Ze))),m(o,s)},Wr=o=>{var s=Zn(),a=y(h(s));te(),d(s),ie("click",a,ys),m(o,s)},Vr=o=>{var s=Rn();m(o,s)},jr=o=>{var s=aa();xo(s,5,()=>e(F),a=>a.ref,(a,i)=>{const g=Ke(()=>(Yo(Zs),e(i),z(()=>Zs(e(i).ref))));var k=na(),b=h(k),H=h(b),re=h(H);{var ce=E=>{var de=ta(),Q=h(de);{var W=G=>{var pe=ea();oe(je=>Qo(pe,"src",je),[()=>(Yo(Rs),Yo(e(g)),z(()=>Rs(e(g))))]),Qr("error",pe,()=>{n(Re,{...e(Re),[e(i).ref]:!0})}),Gr(pe),m(G,pe)};ue(Q,G=>{e(Re),e(i),z(()=>!e(Re)[e(i).ref])&&G(W)})}d(de),m(E,de)};ue(re,E=>{e(g)&&E(ce)})}var Y=y(re,2),w=h(Y),I=h(w,!0);d(w);var P=y(w,2),N=h(P,!0);d(P),d(Y),d(H),d(b);var ne=y(b,2),be=h(ne);{let E=Ke(()=>(e($e),e(i),z(()=>e($e)===e(i).ref)));Ys(be,{get open(){return e(E)},onOpenChange:de=>{n($e,de?e(i).ref:null)},children:(de,Q)=>{var W=ra(),G=S(W);Xs(G,{class:"btn-icon",title:"更多",onclick:je=>je.stopPropagation(),children:(je,jo)=>{On(je,{size:13})},$$slots:{default:!0}});var pe=y(G,2);It(pe,{children:(je,jo)=>{Js(je,{class:"dropdown-panel more-menu",sideOffset:6,align:"center",onclick:et=>et.stopPropagation(),children:(et,Uo)=>{var yo=sa(),Ue=S(yo);let Kt;var bo=h(Ue);an(bo,{size:14});var Ot=y(bo,2),_o=h(Ot,!0);d(Ot),d(Ue);var tt=y(Ue,2),go=h(tt);An(go,{size:14}),te(2),d(tt);var ot=y(tt,2),Bt=h(ot);Tn(Bt,{size:14}),te(2),d(ot);var qt=y(ot,2);{var wo=ht=>{var At=oa(),Po=h(At);Mn(Po,{size:14}),te(2),d(At),ie("click",At,ko=>kr(e(i).ref,ko)),m(ht,At)},Ko=Ee(()=>(e(i),z(()=>$r(e(i).ref))));ue(qt,ht=>{e(Ko)&&ht(wo)})}var Ye=y(qt,2),Jt=h(Ye);Dn(Jt,{size:14});var Co=y(Jt,2),Bo=h(Co,!0);d(Co),d(Ye);var Mt=y(Ye,2),$o=h(Mt);Qs($o,{size:14});var Xt=y($o,2),Yt=h(Xt,!0);d(Xt),d(Mt),oe(()=>{Kt=Dt(Ue,1,"more-menu-item svelte-1beoyzy",null,Kt,{pulling:e(i).ref in r()}),Ue.disabled=(e(i),r(),z(()=>e(i).ref in r())),le(_o,(e(i),r(),z(()=>e(i).ref in r()?"拉取中…":"拉取"))),Ye.disabled=(e(Le),e(i),z(()=>e(Le)===e(i).ref)),le(Bo,(e(Le),e(i),z(()=>e(Le)===e(i).ref?"清空中…":"清空该源条目"))),Mt.disabled=(e(L),e(i),z(()=>e(L)===e(i).ref)),le(Yt,(e(L),e(i),z(()=>e(L)===e(i).ref?"移除中…":"移除信源")))}),ie("click",Ue,ht=>{Cr(e(i).ref,ht),n($e,null)}),ie("click",tt,()=>{br(e(i)),n($e,null)}),ie("click",ot,()=>zr(e(i).ref)),ie("click",Ye,()=>Or(e(i).ref)),ie("click",Mt,()=>Sr(e(i).ref)),m(et,yo)},$$slots:{default:!0}})},$$slots:{default:!0}}),m(de,W)},$$slots:{default:!0}})}d(ne),d(k),oe(()=>{Qo(H,"title",(e(i),z(()=>e(i).ref))),le(I,(e(i),z(()=>e(i).displayLabel))),Qo(P,"title",`已收录 ${e(i),z(()=>e(i).count)??""} 条 · 近 7 天内有拉取记录的条目 ${e(i),z(()=>e(i).weekCount)??""} 条`),le(N,(e(i),z(()=>e(i).count)))}),ie("click",k,E=>Mr(e(i),E)),ie("keydown",k,E=>Ar(e(i),E)),m(a,k)}),d(s),m(o,s)};ue(Nr,o=>{e(Wt)?o(Hr):e(Ze)?o(Er,1):(e(ee),z(()=>e(ee).length===0)?o(Wr,2):(e(F),z(()=>e(F).length===0)?o(Vr,3):o(jr,-1)))})}d(Ts),d(zs),d(ks),oo(Wo,()=>e(X),o=>n(X,o)),ie("click",Vo,ys),m(p,ws),Fo(),c()}Yr(["click","keydown"]);export{Oa as S};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b9 as F,Q as M,v as K,X as Y,h as w,z as W,ba as m,bb as x,ah as rr,bc as tr,bd as ir,be as fr,k as sr,bf as er,bg as ar,bh as P,e as R,bi as ur,bj as or,S as cr,bk as nr,bl as lr}from"./BsQ08Wq_.js";import{i as vr,a as dr,d as br,c as hr,n as gr,b as Ar}from"./BK0ygNWX.js";function _r(r,i){var t=void 0,f;F(()=>{t!==(t=i())&&(f&&(M(f),f=null),t&&(f=K(()=>{Y(()=>t(r))})))})}function z(r){var i,t,f="";if(typeof r=="string"||typeof r=="number")f+=r;else if(typeof r=="object")if(Array.isArray(r)){var s=r.length;for(i=0;i<s;i++)r[i]&&(t=z(r[i]))&&(f&&(f+=" "),f+=t)}else for(t in r)r[t]&&(f&&(f+=" "),f+=t);return f}function Tr(){for(var r,i,t=0,f="",s=arguments.length;t<s;t++)(r=arguments[t])&&(i=z(r))&&(f&&(f+=" "),f+=i);return f}function wr(r){return typeof r=="object"?Tr(r):r??""}const H=[...`
|
|
2
|
-
\r\f \v\uFEFF`];function Er(r,i,t){var f=r==null?"":""+r;if(i&&(f=f?f+" "+i:i),t){for(var s of Object.keys(t))if(t[s])f=f?f+" "+s:s;else if(f.length)for(var e=s.length,u=0;(u=f.indexOf(s,u))>=0;){var n=u+e;(u===0||H.includes(f[u-1]))&&(n===f.length||H.includes(f[n]))?f=(u===0?"":f.substring(0,u))+f.substring(n+1):u=n}}return f===""?null:f}function V(r,i=!1){var t=i?" !important;":";",f="";for(var s of Object.keys(r)){var e=r[s];e!=null&&e!==""&&(f+=" "+s+": "+e+t)}return f}function k(r){return r[0]!=="-"||r[1]!=="-"?r.toLowerCase():r}function Nr(r,i){if(i){var t="",f,s;if(Array.isArray(i)?(f=i[0],s=i[1]):f=i,r){r=String(r).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var e=!1,u=0,n=!1,d=[];f&&d.push(...Object.keys(f).map(k)),s&&d.push(...Object.keys(s).map(k));var l=0,g=-1;const N=r.length;for(var v=0;v<N;v++){var a=r[v];if(n?a==="/"&&r[v-1]==="*"&&(n=!1):e?e===a&&(e=!1):a==="/"&&r[v+1]==="*"?n=!0:a==='"'||a==="'"?e=a:a==="("?u++:a===")"&&u--,!n&&e===!1&&u===0){if(a===":"&&g===-1)g=v;else if(a===";"||v===N-1){if(g!==-1){var E=k(r.substring(l,g).trim());if(!d.includes(E)){a!==";"&&v++;var T=r.substring(l,v).trim();t+=" "+T+";"}}l=v+1,g=-1}}}}return f&&(t+=V(f)),s&&(t+=V(s,!0)),t=t.trim(),t===""?null:t}return r==null?null:String(r)}function Sr(r,i,t,f,s,e){var u=r.__className;if(w||u!==t||u===void 0){var n=Er(t,f,e);(!w||n!==r.getAttribute("class"))&&(n==null?r.removeAttribute("class"):i?r.className=n:r.setAttribute("class",n)),r.__className=t}else if(e&&s!==e)for(var d in e){var l=!!e[d];(s==null||l!==!!s[d])&&r.classList.toggle(d,l)}return e}function C(r,i={},t,f){for(var s in t){var e=t[s];i[s]!==e&&(t[s]==null?r.style.removeProperty(s):r.style.setProperty(s,e,f))}}function Ir(r,i,t,f){var s=r.__style;if(w||s!==i){var e=Nr(i,f);(!w||e!==r.getAttribute("style"))&&(e==null?r.removeAttribute("style"):r.style.cssText=e),r.__style=i}else f&&(Array.isArray(f)?(C(r,t==null?void 0:t[0],f[0]),C(r,t==null?void 0:t[1],f[1],"important")):C(r,t,f));return f}function $(r,i,t=!1){if(r.multiple){if(i==null)return;if(!W(i))return m();for(var f of r.options)f.selected=i.includes(B(f));return}for(f of r.options){var s=B(f);if(x(s,i)){f.selected=!0;return}}(!t||i!==void 0)&&(r.selectedIndex=-1)}function pr(r){var i=new MutationObserver(()=>{$(r,r.__value)});i.observe(r,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),rr(()=>{i.disconnect()})}function B(r){return"__value"in r?r.__value:r.value}const p=Symbol("class"),O=Symbol("style"),J=Symbol("is custom element"),X=Symbol("is html"),Or=P?"link":"LINK",Lr=P?"input":"INPUT",Pr=P?"option":"OPTION",kr=P?"select":"SELECT";function Cr(r){if(w){var i=!1,t=()=>{if(!i){if(i=!0,r.hasAttribute("value")){var f=r.value;L(r,"value",null),r.value=f}if(r.hasAttribute("checked")){var s=r.checked;L(r,"checked",null),r.checked=s}}};r.__on_r=t,cr(t),nr()}}function Ur(r,i){var t=j(r);t.checked!==(t.checked=i??void 0)&&(r.checked=i)}function Mr(r,i){i?r.hasAttribute("selected")||r.setAttribute("selected",""):r.removeAttribute("selected")}function L(r,i,t,f){var s=j(r);w&&(s[i]=r.getAttribute(i),i==="src"||i==="srcset"||i==="href"&&r.nodeName===Or)||s[i]!==(s[i]=t)&&(i==="loading"&&(r[lr]=t),t==null?r.removeAttribute(i):typeof t!="string"&&q(r).includes(i)?r[i]=t:r.setAttribute(i,t))}function $r(r,i,t,f,s=!1,e=!1){if(w&&s&&r.nodeName===Lr){var u=r,n=u.type==="checkbox"?"defaultChecked":"defaultValue";n in t||Cr(u)}var d=j(r),l=d[J],g=!d[X];let v=w&&l;v&&R(!1);var a=i||{},E=r.nodeName===Pr;for(var T in i)T in t||(t[T]=null);t.class?t.class=wr(t.class):t[p]&&(t.class=null),t[O]&&(t.style??(t.style=null));var N=q(r);for(const o in t){let c=t[o];if(E&&o==="value"&&c==null){r.value=r.__value="",a[o]=c;continue}if(o==="class"){var I=r.namespaceURI==="http://www.w3.org/1999/xhtml";Sr(r,I,c,f,i==null?void 0:i[p],t[p]),a[o]=c,a[p]=t[p];continue}if(o==="style"){Ir(r,c,i==null?void 0:i[O],t[O]),a[o]=c,a[O]=t[O];continue}var A=a[o];if(!(c===A&&!(c===void 0&&r.hasAttribute(o)))){a[o]=c;var y=o[0]+o[1];if(y!=="$$")if(y==="on"){const _={},S="$$"+o;let h=o.slice(2);var U=Ar(h);if(vr(h)&&(h=h.slice(0,-7),_.capture=!0),!U&&A){if(c!=null)continue;r.removeEventListener(h,a[S],_),a[S]=null}if(U)dr(h,r,c),br([h]);else if(c!=null){let Q=function(Z){a[o].call(this,Z)};a[S]=hr(h,r,Q,_)}}else if(o==="style")L(r,o,c);else if(o==="autofocus")ur(r,!!c);else if(!l&&(o==="__value"||o==="value"&&c!=null))r.value=r.__value=c;else if(o==="selected"&&E)Mr(r,c);else{var b=o;g||(b=gr(b));var G=b==="defaultValue"||b==="defaultChecked";if(c==null&&!l&&!G)if(d[o]=null,b==="value"||b==="checked"){let _=r;const S=i===void 0;if(b==="value"){let h=_.defaultValue;_.removeAttribute(b),_.defaultValue=h,_.value=_.__value=S?h:null}else{let h=_.defaultChecked;_.removeAttribute(b),_.defaultChecked=h,_.checked=S?h:!1}}else r.removeAttribute(o);else G||N.includes(b)&&(l||typeof c!="string")?(r[b]=c,b in d&&(d[b]=or)):typeof c!="function"&&L(r,b,c)}}}return v&&R(!0),a}function Gr(r,i,t=[],f=[],s=[],e,u=!1,n=!1){tr(s,t,f,d=>{var l=void 0,g={},v=r.nodeName===kr,a=!1;if(F(()=>{var T=i(...d.map(sr)),N=$r(r,l,T,e,u,n);a&&v&&"value"in T&&$(r,T.value);for(let A of Object.getOwnPropertySymbols(g))T[A]||M(g[A]);for(let A of Object.getOwnPropertySymbols(T)){var I=T[A];A.description===er&&(!l||I!==l[A])&&(g[A]&&M(g[A]),g[A]=K(()=>_r(r,()=>I))),N[A]=I}l=N}),v){var E=r;Y(()=>{$(E,l.value,!0),pr(E)})}a=!0})}function j(r){return r.__attributes??(r.__attributes={[J]:r.nodeName.includes("-"),[X]:r.namespaceURI===ir})}var D=new Map;function q(r){var i=r.getAttribute("is")||r.nodeName,t=D.get(i);if(t)return t;D.set(i,t=[]);for(var f,s=r,e=Element.prototype;e!==s;){f=ar(s);for(var u in f)f[u].set&&t.push(u);s=fr(s)}return t}const Rr="rssany",Hr="https://github.com/joohw/rssany";function Vr(r,i){return fetch(r,i)}async function Br(r,i){const t=await fetch(r,i),s=(await t.text()).trim();if(!t.ok){const e=s.length>100?s.slice(0,100)+"…":s;throw new Error(`请求失败 ${t.status} ${t.statusText}${e?`:${e}`:""}`)}if(!s)throw new Error("API 返回空内容");try{const e=JSON.parse(s);if(e===null&&s==="null")throw new Error("API 返回 null");return e}catch(e){if(e instanceof Error&&e.message==="API 返回 null")throw e;const u=e instanceof SyntaxError?e.message:String(e),n=s.length>80?s.slice(0,80)+"…":s;throw new Error(`API 返回格式异常: ${u}。响应预览: ${n}`)}}export{Hr as G,Rr as P,Vr as a,Sr as b,Br as c,Ur as d,Ir as e,Gr as f,Tr as g,Cr as r,L as s};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.CJDC_3s9.js","../chunks/DIeahUKq.js","../chunks/BsQ08Wq_.js","../chunks/CEWi_rGa.js","../chunks/BI_ale1m.js","../chunks/FDS7fbwH.js","../chunks/BK0ygNWX.js","../chunks/rNwPv4DZ.js","../chunks/Cc7aBSsN.js","../chunks/WW6La7Nt.js","../chunks/Nd0ktDhd.js","../chunks/GeNMTUn1.js","../chunks/BKm6QCwp.js","../chunks/BUApaBEI.js","../chunks/DptdhtA1.js","../chunks/4TuV_psf.js","../chunks/BZY5aksi.js","../chunks/B553hBXT.js","../chunks/C9wTDiHH.js","../chunks/D8G961Hm.js","../chunks/pd_p3yYy.js","../chunks/IhDlsCxD.js","../chunks/B0czyjwj.js","../assets/homeFeedPanelStore.CE6xTfsa.css","../assets/0.BLOTwIuF.css","../nodes/1.DsKocFSb.js","../nodes/2.BOYqXdCa.js","../nodes/3.B9ucbp_W.js","../chunks/DO5OXNYS.js","../chunks/BT6b4LcZ.js","../chunks/BnqaikL8.js","../chunks/SvdgnirT.js","../chunks/B8StT3Do.js","../assets/chevron-down.CV-KWLNP.css","../assets/SourcesList.ke66uOSi.css","../nodes/4.BIzqhTqv.js","../chunks/hp4PFHFv.js","../nodes/5.9zgwFV6I.js","../assets/5.Di6rvlY-.css","../nodes/6.Bs32Ieii.js","../chunks/Dg_D3pjF.js","../assets/BackToParentRoute.DGk-X5ow.css","../assets/6.Cm_jpHOq.css","../nodes/7.Cigxrk0v.js","../assets/7.CJ3BjogD.css","../nodes/8.pG10rCF0.js","../assets/8.CrNxmd8B.css","../nodes/9.Bzqb3xHY.js","../chunks/Bfc47y5P.js","../assets/9.CATKVZ-n.css","../nodes/10.BeejAn8z.js","../assets/10.CmGYYZFR.css","../nodes/11.D--uwkk0.js","../assets/11.Dkz3VS_N.css","../nodes/12.BLyQ6rUu.js","../assets/12.qYZMiTb0.css","../nodes/13.Cl0WQK13.js","../assets/13.DfJcfUWl.css","../nodes/14.T9l5Rh19.js","../assets/14.BCCBoMGj.css","../nodes/15.DHfwIlBx.js","../assets/15.DfMfOrS3.css","../nodes/16.BKDfR-KV.js","../chunks/CAKuIoAf.js","../assets/16.Cw9oSkcO.css","../nodes/17.DofB8HQB.js","../assets/17.nNGjXhCQ.css","../nodes/18.BtYZF6FM.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var Z=r=>{throw TypeError(r)};var M=(r,t,e)=>t.has(r)||Z("Cannot "+e);var l=(r,t,e)=>(M(r,t,"read from private field"),e?e.call(r):t.get(r)),Y=(r,t,e)=>t.has(r)?Z("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(r):t.set(r,e),H=(r,t,e,i)=>(M(r,t,"write to private field"),i?i.call(r,e):t.set(r,e),e);import{a5 as U,af as it,k as v,b7 as mt,ai as ut,F as ct,at as lt,am as _t,an as dt,t as ft,f as A,aw as vt,au as ht,b8 as J,av as gt,ax as Et,aA as k,az as Pt}from"../chunks/BsQ08Wq_.js";import{h as pt,m as Rt,u as yt,s as Ot}from"../chunks/BK0ygNWX.js";import{a as E,c as I,f as $,t as bt}from"../chunks/DIeahUKq.js";import{o as Lt}from"../chunks/DptdhtA1.js";import{i as B}from"../chunks/rNwPv4DZ.js";import{c as x}from"../chunks/C9wTDiHH.js";import{b as S}from"../chunks/CAKuIoAf.js";import{p as q}from"../chunks/D8G961Hm.js";function At(r){return class extends Tt{constructor(t){super({component:r,...t})}}}var P,_;class Tt{constructor(t){Y(this,P);Y(this,_);var p;var e=new Map,i=(o,a)=>{var m=ct(a,!1,!1);return e.set(o,m),m};const u=new Proxy({...t.props||{},$$events:{}},{get(o,a){return v(e.get(a)??i(a,Reflect.get(o,a)))},has(o,a){return a===it?!0:(v(e.get(a)??i(a,Reflect.get(o,a))),Reflect.has(o,a))},set(o,a,m){return U(e.get(a)??i(a,m),m),Reflect.set(o,a,m)}});H(this,_,(t.hydrate?pt:Rt)(t.component,{target:t.target,anchor:t.anchor,props:u,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError})),(!((p=t==null?void 0:t.props)!=null&&p.$$host)||t.sync===!1)&&mt(),H(this,P,u.$$events);for(const o of Object.keys(l(this,_)))o==="$set"||o==="$destroy"||o==="$on"||ut(this,o,{get(){return l(this,_)[o]},set(a){l(this,_)[o]=a},enumerable:!0});l(this,_).$set=o=>{Object.assign(u,o)},l(this,_).$destroy=()=>{yt(l(this,_))}}$set(t){l(this,_).$set(t)}$on(t,e){l(this,P)[t]=l(this,P)[t]||[];const i=(...u)=>e.call(this,...u);return l(this,P)[t].push(i),()=>{l(this,P)[t]=l(this,P)[t].filter(u=>u!==i)}}$destroy(){l(this,_).$destroy()}}P=new WeakMap,_=new WeakMap;const Dt="modulepreload",It=function(r,t){return new URL(r,t).href},N={},s=function(t,e,i){let u=Promise.resolve();if(e&&e.length>0){let o=function(c){return Promise.all(c.map(h=>Promise.resolve(h).then(R=>({status:"fulfilled",value:R}),R=>({status:"rejected",reason:R}))))};const a=document.getElementsByTagName("link"),m=document.querySelector("meta[property=csp-nonce]"),j=(m==null?void 0:m.nonce)||(m==null?void 0:m.getAttribute("nonce"));u=o(e.map(c=>{if(c=It(c,i),c in N)return;N[c]=!0;const h=c.endsWith(".css"),R=h?'[rel="stylesheet"]':"";if(!!i)for(let y=a.length-1;y>=0;y--){const n=a[y];if(n.href===c&&(!h||n.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${R}`))return;const g=document.createElement("link");if(g.rel=h?"stylesheet":Dt,h||(g.as="script"),g.crossOrigin="",g.href=c,j&&g.setAttribute("nonce",j),document.head.appendChild(g),h)return new Promise((y,n)=>{g.addEventListener("load",y),g.addEventListener("error",()=>n(new Error(`Unable to preload CSS for ${c}`)))})}))}function p(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return u.then(o=>{for(const a of o||[])a.status==="rejected"&&p(a.reason);return t().catch(p)})},Ht={};var Vt=$('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),wt=$("<!> <!>",1);function kt(r,t){lt(t,!0);let e=q(t,"components",23,()=>[]),i=q(t,"data_0",3,null),u=q(t,"data_1",3,null),p=q(t,"data_2",3,null);_t(()=>t.stores.page.set(t.page)),dt(()=>{t.stores,t.page,t.constructors,e(),t.form,i(),u(),p(),t.stores.page.notify()});let o=J(!1),a=J(!1),m=J(null);Lt(()=>{const n=t.stores.page.subscribe(()=>{v(o)&&(U(a,!0),ft().then(()=>{U(m,document.title||"untitled page",!0)}))});return U(o,!0),n});const j=k(()=>t.constructors[2]);var c=wt(),h=A(c);{var R=n=>{const O=k(()=>t.constructors[0]);var b=I(),V=A(b);x(V,()=>v(O),(L,T)=>{S(T(L,{get data(){return i()},get form(){return t.form},get params(){return t.page.params},children:(d,St)=>{var Q=I(),et=A(Q);{var rt=D=>{const z=k(()=>t.constructors[1]);var w=I(),F=A(w);x(F,()=>v(z),(G,W)=>{S(W(G,{get data(){return u()},get form(){return t.form},get params(){return t.page.params},children:(f,jt)=>{var X=I(),ot=A(X);x(ot,()=>v(j),(st,nt)=>{S(nt(st,{get data(){return p()},get form(){return t.form},get params(){return t.page.params}}),C=>e()[2]=C,()=>{var C;return(C=e())==null?void 0:C[2]})}),E(f,X)},$$slots:{default:!0}}),f=>e()[1]=f,()=>{var f;return(f=e())==null?void 0:f[1]})}),E(D,w)},at=D=>{const z=k(()=>t.constructors[1]);var w=I(),F=A(w);x(F,()=>v(z),(G,W)=>{S(W(G,{get data(){return u()},get form(){return t.form},get params(){return t.page.params}}),f=>e()[1]=f,()=>{var f;return(f=e())==null?void 0:f[1]})}),E(D,w)};B(et,D=>{t.constructors[2]?D(rt):D(at,-1)})}E(d,Q)},$$slots:{default:!0}}),d=>e()[0]=d,()=>{var d;return(d=e())==null?void 0:d[0]})}),E(n,b)},K=n=>{const O=k(()=>t.constructors[0]);var b=I(),V=A(b);x(V,()=>v(O),(L,T)=>{S(T(L,{get data(){return i()},get form(){return t.form},get params(){return t.page.params}}),d=>e()[0]=d,()=>{var d;return(d=e())==null?void 0:d[0]})}),E(n,b)};B(h,n=>{t.constructors[1]?n(R):n(K,-1)})}var g=vt(h,2);{var y=n=>{var O=Vt(),b=gt(O);{var V=L=>{var T=bt();Pt(()=>Ot(T,v(m))),E(L,T)};B(b,L=>{v(a)&&L(V)})}Et(O),E(n,O)};B(g,n=>{v(o)&&n(y)})}E(r,c),ht()}const Jt=At(kt),Kt=[()=>s(()=>import("../nodes/0.CJDC_3s9.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]),import.meta.url),()=>s(()=>import("../nodes/1.DsKocFSb.js"),__vite__mapDeps([25,1,2,3,6,10,12,5,13,14]),import.meta.url),()=>s(()=>import("../nodes/2.BOYqXdCa.js"),__vite__mapDeps([26,1,2,3,8]),import.meta.url),()=>s(()=>import("../nodes/3.B9ucbp_W.js"),__vite__mapDeps([27,1,2,3,28,29,14,6,4,5,7,17,9,30,10,11,12,13,15,16,18,19,20,8,21,22,23,31,32,33,34]),import.meta.url),()=>s(()=>import("../nodes/4.BIzqhTqv.js"),__vite__mapDeps([35,36,13]),import.meta.url),()=>s(()=>import("../nodes/5.9zgwFV6I.js"),__vite__mapDeps([37,1,2,3,14,6,7,17,28,9,10,38]),import.meta.url),()=>s(()=>import("../nodes/6.Bs32Ieii.js"),__vite__mapDeps([39,1,2,3,14,6,7,28,9,30,10,40,4,5,11,12,13,41,15,42]),import.meta.url),()=>s(()=>import("../nodes/7.Cigxrk0v.js"),__vite__mapDeps([43,1,2,3,14,6,7,28,9,30,10,40,4,5,11,12,13,41,15,44]),import.meta.url),()=>s(()=>import("../nodes/8.pG10rCF0.js"),__vite__mapDeps([45,1,2,3,14,4,5,10,12,13,11,46]),import.meta.url),()=>s(()=>import("../nodes/9.Bzqb3xHY.js"),__vite__mapDeps([47,1,2,3,14,6,7,17,28,9,30,48,10,40,4,5,11,12,13,41,32,20,8,19,21,18,33,49]),import.meta.url),()=>s(()=>import("../nodes/10.BeejAn8z.js"),__vite__mapDeps([50,1,2,3,14,6,7,17,28,9,10,40,4,5,11,12,13,41,15,51]),import.meta.url),()=>s(()=>import("../nodes/11.D--uwkk0.js"),__vite__mapDeps([52,1,2,3,14,6,7,17,28,30,10,9,40,4,5,11,12,13,41,15,32,20,8,19,21,18,33,53]),import.meta.url),()=>s(()=>import("../nodes/12.BLyQ6rUu.js"),__vite__mapDeps([54,1,2,3,28,29,14,6,4,5,7,17,9,30,10,11,12,13,15,16,18,19,20,8,21,22,23,31,32,33,34,40,41,55]),import.meta.url),()=>s(()=>import("../nodes/13.Cl0WQK13.js"),__vite__mapDeps([56,1,2,3,14,6,7,17,28,9,30,48,10,40,4,5,11,12,13,41,15,57]),import.meta.url),()=>s(()=>import("../nodes/14.T9l5Rh19.js"),__vite__mapDeps([58,1,2,3,14,6,7,17,28,9,30,10,15,5,32,20,8,19,4,21,18,33,59]),import.meta.url),()=>s(()=>import("../nodes/15.DHfwIlBx.js"),__vite__mapDeps([60,1,2,3,14,6,5,7,17,28,9,30,10,11,12,13,15,31,8,19,4,20,21,22,61]),import.meta.url),()=>s(()=>import("../nodes/16.BKDfR-KV.js"),__vite__mapDeps([62,1,2,3,4,5,6,7,21,28,10,9,11,12,13,14,15,63,19,40,41,64]),import.meta.url),()=>s(()=>import("../nodes/17.DofB8HQB.js"),__vite__mapDeps([65,1,2,3,14,28,10,12,5,13,66]),import.meta.url),()=>s(()=>import("../nodes/18.BtYZF6FM.js"),__vite__mapDeps([67,36,13]),import.meta.url)],Qt=[],Xt={"/":[3],"/admin":[5,[2]],"/admin/deliver":[6,[2]],"/admin/llm":[7,[2]],"/admin/logs":[8,[2]],"/admin/parse":[9,[2]],"/admin/pipeline":[10,[2]],"/admin/proxy":[11,[2]],"/admin/sources":[12,[2]],"/admin/tags":[13,[2]],"/logs":[14],"/plugins":[15],"/plugins/new":[17],"/plugins/[id]":[16],"/tags":[18],"/[sub]":[4]},tt={handleError:(({error:r})=>{console.error(r)}),reroute:(()=>{}),transport:{}},xt=Object.fromEntries(Object.entries(tt.transport).map(([r,t])=>[r,t.decode])),Zt=Object.fromEntries(Object.entries(tt.transport).map(([r,t])=>[r,t.encode])),Mt=!1,Nt=(r,t)=>xt[r](t);export{Nt as decode,xt as decoders,Xt as dictionary,Zt as encoders,Mt as hash,tt as hooks,Ht as matchers,Kt as nodes,Jt as root,Qt as server_loads};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as o,a as r}from"../chunks/BKm6QCwp.js";export{o as load_css,r as start};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import{c as V,a as $,f as B}from"../chunks/DIeahUKq.js";import"../chunks/CEWi_rGa.js";import{f as S,at as la,au as ra,av as t,ax as s,az as ia,aC as P,aD as Fa,a5 as O,k as a,aw as h,aq as Ga,u as m,F as W,y as _}from"../chunks/BsQ08Wq_.js";import{s as oa,a as T}from"../chunks/BI_ale1m.js";import{s as na}from"../chunks/BK0ygNWX.js";import{i as va}from"../chunks/rNwPv4DZ.js";import{s as D}from"../chunks/Cc7aBSsN.js";import{b as g,s as I,G as Ra,P as ta}from"../chunks/WW6La7Nt.js";import{i as ca}from"../chunks/Nd0ktDhd.js";import{p as Ca}from"../chunks/GeNMTUn1.js";import{t as Na}from"../chunks/4TuV_psf.js";import{R as Oa,P as Wa,h as w,S as Ia}from"../chunks/BZY5aksi.js";import{l as ua,s as da}from"../chunks/D8G961Hm.js";import{I as ha}from"../chunks/pd_p3yYy.js";const Ta=!1,Va=!1,ce=Object.freeze(Object.defineProperty({__proto__:null,prerender:Va,ssr:Ta},Symbol.toStringTag,{value:"Module"})),Ba='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>',Da='</title><path d="',La='"/></svg>',sa={title:"GitHub",slug:"github",get svg(){return Ba+"GitHub"+Da+this.path+La},path:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12",source:"https://github.com/logos",hex:"181717",guidelines:"https://github.com/logos"};function Ua(f,o){const n=ua(o,["children","$$slots","$$events","$$legacy"]);/**
|
|
2
|
-
* @license lucide-svelte v0.460.1 - ISC
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the ISC license.
|
|
5
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const l=[["path",{d:"M15 12h-5"}],["path",{d:"M15 8h-5"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3"}]];ha(f,da({name:"scroll-text"},()=>n,{get iconNode(){return l},children:(u,p)=>{var e=V(),d=S(e);D(d,o,"default",{}),$(u,e)},$$slots:{default:!0}}))}function ja(f,o){const n=ua(o,["children","$$slots","$$events","$$legacy"]);/**
|
|
7
|
-
* @license lucide-svelte v0.460.1 - ISC
|
|
8
|
-
*
|
|
9
|
-
* This source code is licensed under the ISC license.
|
|
10
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
-
*/const l=[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}],["circle",{cx:"12",cy:"12",r:"3"}]];ha(f,da({name:"settings"},()=>n,{get iconNode(){return l},children:(u,p)=>{var e=V(),d=S(e);D(d,o,"default",{}),$(u,e)},$$slots:{default:!0}}))}var Aa=B("<div> </div>");function Ea(f,o){la(o,!1);const n=()=>T(Na,"$toast",l),[l,u]=oa();ca();var p=V(),e=S(p);{var d=v=>{var c=Aa(),H=t(c,!0);s(c),ia(()=>{g(c,1,`toast ${n().type??""}`,"svelte-zemmny"),na(H,n().msg)}),$(v,c)};va(e,v=>{n().msg&&v(d)})}$(f,p),ra(),u()}var Ja=B('<div class="layout-feed-rail layout-feed-rail--home svelte-12qhfyh"><!></div>'),Ka=B('<div class="layout-outer svelte-12qhfyh"><div class="layout-app svelte-12qhfyh"><div id="layout-inner-scroll" class="layout-merged-cluster svelte-12qhfyh"><aside class="layout-nav-rail svelte-12qhfyh" aria-label="主导航"><nav class="nav-rail-links svelte-12qhfyh"><div class="nav-rail-cluster svelte-12qhfyh"><a href="/" title="信源" aria-label="信源"><!></a> <a href="/logs" title="日志" aria-label="日志"><!></a> <a href="/plugins" title="插件" aria-label="插件"><!></a> <a href="/admin" title="设置" aria-label="设置"><!></a></div></nav> <div class="nav-rail-footer svelte-12qhfyh"><a class="nav-rail-github svelte-12qhfyh" target="_blank" rel="noopener noreferrer" aria-label="在 GitHub 打开源码仓库" title="GitHub"><svg class="nav-rail-github-icon svelte-12qhfyh" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path fill="currentColor"></path></svg></a> <a class="nav-rail-brand svelte-12qhfyh" href="/" aria-label="返回信源首页"> </a></div></aside> <div><main><!></main></div> <!></div></div></div> <!>',1);function ue(f,o){la(o,!1);const n=()=>T(Ca,"$page",u),l=()=>T(w,"$homeFeedPanelSource",u),[u,p]=oa(),e=W(),d=W(),v=W(),c=18;function H(i){return!!(i==="/"||i==="/admin"||i==="/admin/sources"||i==="/admin/tags"||i==="/plugins"||i==="/logs"||i.startsWith("/plugins/")||i.startsWith("/logs/"))}P(()=>n(),()=>{O(e,n().url.pathname)}),P(()=>a(e),()=>{O(d,H(a(e)))}),P(()=>(a(e),w),()=>{a(e)!=="/"&&w.set(null)}),P(()=>a(e),()=>{O(v,{sources:a(e)==="/"||a(e)==="/admin/sources",logs:a(e)==="/logs"||a(e).startsWith("/logs/"),plugins:a(e).startsWith("/plugins"),settings:a(e)==="/admin"||a(e).startsWith("/admin/")})}),Fa(),ca();var L=Ka(),k=S(L),U=t(k),j=t(U),M=t(j),F=t(M),A=t(F),y=t(A);let E;var fa=t(y);Oa(fa,{size:c}),s(y);var b=h(y,2);let J;var ga=t(b);Ua(ga,{size:c}),s(b);var q=h(b,2);let K;var pa=t(q);Wa(pa,{size:c}),s(q);var G=h(q,2);let Q;var ma=t(G);ja(ma,{size:c}),s(G),s(A),s(F);var X=h(F,2),x=t(X),Y=t(x),_a=t(Y);s(Y),s(x);var R=h(x,2),$a=t(R,!0);s(R),s(X),s(M);var z=h(M,2);let Z;var C=t(z);let aa;var ya=t(C);D(ya,o,"default",{}),s(C),s(z);var ba=h(z,2);{var qa=i=>{var N=Ja(),za=t(N);{let Pa=_(()=>l()!=null),wa=_(()=>(l(),m(()=>{var r;return((r=l())==null?void 0:r.ref)??""}))),Sa=_(()=>(l(),m(()=>{var r;return((r=l())==null?void 0:r.displayLabel)??""}))),Ha=_(()=>(l(),m(()=>{var r;return((r=l())==null?void 0:r.description)??""}))),ka=_(()=>(l(),m(()=>{var r,ea;return((ea=(r=l())==null?void 0:r.proxy)==null?void 0:ea.trim())??""}))),Ma=_(()=>(l(),m(()=>{var r;return((r=l())==null?void 0:r.parseHint)??null})));Ia(za,{variant:"inline",get open(){return a(Pa)},get sourceRef(){return a(wa)},get sourceLabel(){return a(Sa)},get sourceDescription(){return a(Ha)},get sourceProxy(){return a(ka)},get sourceParseHint(){return a(Ma)},onOpenChange:r=>{r||w.set(null)}})}s(N),$(i,N)};va(ba,i=>{a(e)==="/"&&i(qa)})}s(j),s(U),s(k);var xa=h(k,2);Ea(xa,{}),ia(()=>{E=g(y,1,"nav-rail-link svelte-12qhfyh",null,E,{active:a(v).sources}),J=g(b,1,"nav-rail-link svelte-12qhfyh",null,J,{active:a(v).logs}),K=g(q,1,"nav-rail-link svelte-12qhfyh",null,K,{active:a(v).plugins}),Q=g(G,1,"nav-rail-link svelte-12qhfyh",null,Q,{active:a(v).settings}),I(x,"href",Ra),I(_a,"d",(Ga(sa),m(()=>sa.path))),I(R,"title",ta),na($a,ta),Z=g(z,1,"shell-frame svelte-12qhfyh",null,Z,{"shell-frame--with-feed-rail":a(e)==="/"}),aa=g(C,1,"main shell svelte-12qhfyh",null,aa,{"main-fill":a(d)})}),$(f,L),ra(),p()}export{ue as component,ce as universal};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as u,f as b}from"../chunks/DIeahUKq.js";import"../chunks/CEWi_rGa.js";import{o as se}from"../chunks/DptdhtA1.js";import{at as te,au as re,d as le,av as o,$ as ie,ay as B,ax as i,aw as c,k as a,a5 as r,F as g,az as S,aA as oe}from"../chunks/BsQ08Wq_.js";import{s as F,e as f}from"../chunks/BK0ygNWX.js";import{i as I}from"../chunks/rNwPv4DZ.js";import{e as ne,i as de}from"../chunks/B553hBXT.js";import{h as ve}from"../chunks/DO5OXNYS.js";import{P as ce,c as O,r as fe,b as pe,d as me}from"../chunks/WW6La7Nt.js";import{i as ue}from"../chunks/Nd0ktDhd.js";import{B as ge}from"../chunks/Dg_D3pjF.js";import{s as $}from"../chunks/4TuV_psf.js";var be=b('<div class="state svelte-jqd85f">加载中…</div>'),_e=b('<div role="listitem" draggable="true"><span class="drag-handle svelte-jqd85f" title="拖拽排序">⋮⋮</span> <label class="toggle-wrap svelte-jqd85f"><input type="checkbox" class="svelte-jqd85f"/> <span class="toggle-slider svelte-jqd85f"></span></label> <span class="step-label svelte-jqd85f"> </span></div>'),he=b('<button type="button" class="btn-add svelte-jqd85f">+ 添加步骤</button>'),je=b('<div class="body svelte-jqd85f"><section class="pipeline-section svelte-jqd85f"><h3 class="section-title svelte-jqd85f">Pipeline(入库前)</h3> <p class="hint svelte-jqd85f">对每条新入库条目执行,顺序由上到下。</p> <div class="step-list svelte-jqd85f" role="list"></div> <!></section> <div class="save-row svelte-jqd85f"><button type="button" class="btn btn-primary svelte-jqd85f"> </button></div></div>'),qe=b('<div class="feed-wrap svelte-jqd85f"><div class="feed-col svelte-jqd85f"><div class="feed-header svelte-jqd85f"><!> <h2 class="svelte-jqd85f">Pipeline</h2> <p class="page-desc svelte-jqd85f">入库前处理(打标签、翻译),可调整顺序与开关。</p></div> <!></div></div>');function Ie(C,J){te(J,!1);const L={qualityFilter:"质量过滤",tagger:"打标签",translator:"翻译"};let t=g([]),_=g([]),q=g(!0),p=g(!1),m=g(null);async function M(){r(q,!0);try{const e=await O("/api/pipeline");r(t,(e==null?void 0:e.steps)??[]),r(_,(e==null?void 0:e.availableIds)??[])}catch{r(t,[]),r(_,[])}finally{r(q,!1)}}async function N(){r(p,!0);try{const e=await O("/api/pipeline",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({steps:a(t)})});if(!(e!=null&&e.ok))throw new Error((e==null?void 0:e.message)??"保存失败");r(t,(e==null?void 0:e.steps)??a(t)),$("已保存","success")}catch(e){$("保存失败: "+(e instanceof Error?e.message:String(e)),"error")}finally{r(p,!1)}}function R(e){r(t,a(t).map((s,l)=>l===e?{...s,enabled:!s.enabled}:s))}function U(e){r(m,e)}function z(e){e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="move")}function G(e){if(a(m)==null)return;const s=[...a(t)],[l]=s.splice(a(m),1);s.splice(e,0,l),r(t,s),r(m,null)}function H(){const e=new Set(a(t).map(l=>l.id)),s=a(_).find(l=>!e.has(l));s&&r(t,[...a(t),{id:s,enabled:!1}])}se(M),ue();var y=qe();ve("jqd85f",e=>{le(()=>{ie.title=`Pipeline - ${ce}`})});var T=o(y),w=o(T),K=o(w);ge(K,{}),B(4),i(w);var Q=c(w,2);{var V=e=>{var s=be();u(e,s)},W=e=>{var s=je(),l=o(s),x=c(o(l),4);ne(x,5,()=>a(t),de,(d,n,j)=>{var v=_e();let D;var k=c(o(v),2),P=o(k);fe(P),B(2),i(k);var A=c(k,2),ae=o(A,!0);i(A),i(v),S(()=>{D=pe(v,1,"step-row svelte-jqd85f",null,D,{dragging:a(m)===j}),me(P,a(n).enabled),F(ae,L[a(n).id]??a(n).id)}),f("change",P,()=>R(j)),f("dragstart",v,()=>U(j)),f("dragover",v,z),f("drop",v,()=>G(j)),u(d,v)}),i(x);var X=c(x,2);{var Y=d=>{var n=he();S(()=>n.disabled=a(p)),f("click",n,H),u(d,n)},Z=oe(()=>a(_).some(d=>!a(t).some(n=>n.id===d)));I(X,d=>{a(Z)&&d(Y)})}i(l);var E=c(l,2),h=o(E),ee=o(h,!0);i(h),i(E),i(s),S(()=>{h.disabled=a(p),F(ee,a(p)?"保存中…":"保存")}),f("click",h,N),u(e,s)};I(Q,e=>{a(q)?e(V):e(W,-1)})}i(T),i(y),u(C,y),re()}export{Ie as component};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{a as o,f as p,c as pe,t as de}from"../chunks/DIeahUKq.js";import"../chunks/CEWi_rGa.js";import{o as me}from"../chunks/DptdhtA1.js";import{at as ue,aC as j,aD as _e,az as A,au as ye,k as t,d as he,F as l,av as i,a5 as s,$ as ge,aw as v,ax as n,f as g,aE as xe,ay as O,u as E}from"../chunks/BsQ08Wq_.js";import{d as be,a as Pe,s as R}from"../chunks/BK0ygNWX.js";import{i as X}from"../chunks/rNwPv4DZ.js";import{e as $e}from"../chunks/B553hBXT.js";import{h as je}from"../chunks/DO5OXNYS.js";import{b as ze}from"../chunks/BnqaikL8.js";import{i as we}from"../chunks/Nd0ktDhd.js";import{c as Y,P as Te}from"../chunks/WW6La7Nt.js";import{B as Le}from"../chunks/Dg_D3pjF.js";import{s as V}from"../chunks/4TuV_psf.js";import{S as Se,a as ke,C as Ce,b as Ae,c as Oe,d as Ee}from"../chunks/B8StT3Do.js";import{P as Re}from"../chunks/pd_p3yYy.js";var He=p('<p class="hint svelte-1f24zj">加载中…</p>'),Ne=p('<textarea class="text-input svelte-1f24zj" rows="5" placeholder="http://127.0.0.1:7890 http://user:pass@host:port" autocomplete="off" spellcheck="false"></textarea> <p class="hint svelte-1f24zj">一行一个代理,支持带账号:<code>http://user:pass@host:port</code></p>',1),Be=p('<p class="hint svelte-1f24zj">加载中…</p>'),De=p("<span> </span> <!>",1),Fe=p("<!> <!>",1),Ge=p('<!> <p class="hint svelte-1f24zj">全局代理作为信源未指定代理时的默认值。</p>',1),Ie=p('<div class="feed-wrap svelte-1f24zj"><div class="feed-col svelte-1f24zj"><div class="body svelte-1f24zj"><!> <p class="intro svelte-1f24zj">写入 <code class="svelte-1f24zj">.rssany/config.json</code> 的 <code class="svelte-1f24zj">proxyList</code> 与 <code class="svelte-1f24zj">globalProxy</code>。信源可从代理列表中选择单源代理;未指定单源代理时使用全局代理;未填写时仍可使用环境变量 <code class="svelte-1f24zj">HTTP_PROXY</code> / <code class="svelte-1f24zj">HTTPS_PROXY</code>。</p> <section class="form-section svelte-1f24zj"><h3 class="section-title svelte-1f24zj">代理列表</h3> <!></section> <section class="form-section svelte-1f24zj"><h3 class="section-title svelte-1f24zj">全局 HTTP(S) 代理</h3> <!></section> <div class="btn-row svelte-1f24zj"><button type="button" class="btn btn-primary svelte-1f24zj"> </button></div></div></div></div>');function ot(q,K){ue(K,!1);const d=l(),z=l(),u=l(),H=l();let a=l(""),c=l(""),_=l(!0),x=l(!1);function Q(e){const r=new Set,f=[];for(const y of e.split(/\r?\n/)){const h=y.trim();!h||r.has(h)||(r.add(h),f.push(h))}return f}function W(e){s(a,e)}async function Z(){s(_,!0);try{const e=await Y("/api/proxy");s(a,typeof(e==null?void 0:e.globalProxy)=="string"?e.globalProxy:""),s(c,Array.isArray(e==null?void 0:e.proxyList)?e.proxyList.join(`
|
|
2
|
-
`):"")}catch{s(a,""),s(c,"")}finally{s(_,!1)}}async function ee(){s(x,!0);try{const e=await Y("/api/proxy",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({globalProxy:t(a).trim(),proxyList:t(d)})});if(!(e!=null&&e.ok))throw new Error("保存失败");s(a,typeof e.globalProxy=="string"?e.globalProxy:""),s(c,Array.isArray(e.proxyList)?e.proxyList.join(`
|
|
3
|
-
`):""),V("已保存","success")}catch(e){V("保存失败: "+(e instanceof Error?e.message:String(e)),"error")}finally{s(x,!1)}}me(Z),j(()=>t(c),()=>{s(d,Q(t(c)))}),j(()=>(t(a),t(d)),()=>{s(z,t(a).trim()&&!t(d).includes(t(a).trim()))}),j(()=>(t(z),t(a),t(d)),()=>{s(u,[{value:"",label:"不设置全局代理"},...t(z)?[{value:t(a),label:`${t(a)}(当前配置,未在列表中)`}]:[],...t(d).map(e=>({value:e,label:e}))])}),j(()=>(t(u),t(a)),()=>{var e;s(H,((e=t(u).find(r=>r.value===t(a)))==null?void 0:e.label)??"不设置全局代理")}),_e(),we();var w=Ie();je("1f24zj",e=>{he(()=>{ge.title=`代理 - ${Te}`})});var N=i(w),B=i(N),D=i(B);Le(D,{});var T=v(D,4),te=v(i(T),2);{var se=e=>{var r=He();o(e,r)},ae=e=>{var r=Ne(),f=g(r);xe(f),O(2),ze(f,()=>t(c),y=>s(c,y)),o(e,r)};X(te,e=>{t(_)?e(se):e(ae,-1)})}n(T);var L=v(T,2),re=v(i(L),2);{var oe=e=>{var r=Be();o(e,r)},le=e=>{var r=Ge(),f=g(r);Se(f,{type:"single",get value(){return t(a)},onValueChange:W,get items(){return t(u)},children:(y,h)=>{var G=Fe(),I=g(G);ke(I,{class:"proxy-select-trigger","aria-label":"全局代理",children:(S,ce)=>{var P=De(),$=g(P),k=i($,!0);n($);var J=v($,2);Ce(J,{size:14,"aria-hidden":"true"}),A(()=>R(k,t(H))),o(S,P)},$$slots:{default:!0}});var ne=v(I,2);Re(ne,{children:(S,ce)=>{Ae(S,{class:"proxy-select-content",sideOffset:4,children:(P,$)=>{Oe(P,{class:"proxy-select-viewport",children:(k,J)=>{var M=pe(),fe=g(M);$e(fe,1,()=>t(u),C=>C.value,(C,m)=>{Ee(C,{class:"proxy-select-item",get value(){return t(m),E(()=>t(m).value)},get label(){return t(m),E(()=>t(m).label)},children:(ve,Je)=>{O();var U=de();A(()=>R(U,(t(m),E(()=>t(m).label)))),o(ve,U)},$$slots:{default:!0}})}),o(k,M)},$$slots:{default:!0}})},$$slots:{default:!0}})},$$slots:{default:!0}}),o(y,G)},$$slots:{default:!0}}),O(2),o(e,r)};X(re,e=>{t(_)?e(oe):e(le,-1)})}n(L);var F=v(L,2),b=i(F),ie=i(b,!0);n(b),n(F),n(B),n(N),n(w),A(()=>{b.disabled=t(_)||t(x),R(ie,t(x)?"保存中…":"保存")}),Pe("click",b,ee),o(q,w),ye()}be(["click"]);export{ot as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as u,f as d}from"../chunks/DIeahUKq.js";import"../chunks/CEWi_rGa.js";import{o as ke}from"../chunks/DptdhtA1.js";import{z as we,at as Ce,f as Te,az as E,k as s,au as Le,d as Ee,av as n,a5 as a,F as w,aw as i,$ as $e,ax as r,y as Me}from"../chunks/BsQ08Wq_.js";import{e as f,s as S}from"../chunks/BK0ygNWX.js";import{i as F}from"../chunks/rNwPv4DZ.js";import{e as se,i as ae}from"../chunks/B553hBXT.js";import{h as Pe}from"../chunks/DO5OXNYS.js";import{P as Se,r as Fe,c as X,e as Oe,s as re}from"../chunks/WW6La7Nt.js";import{b as Je}from"../chunks/BnqaikL8.js";import{s as Y}from"../chunks/Bfc47y5P.js";import{i as Ne}from"../chunks/Nd0ktDhd.js";import{B as je}from"../chunks/Dg_D3pjF.js";import{s as O}from"../chunks/4TuV_psf.js";function ze(z,$){var C;var o=(C=z.$$events)==null?void 0:C[$.type],p=we(o)?o.slice():o==null?[]:[o];for(var m of p)m.call(this,$)}var Be=d('<div class="state svelte-1s5glru">加载中…</div>'),De=d('<p class="empty-hint svelte-1s5glru">暂无标签。添加后,pipeline 会对新入库条目自动打标签。</p>'),Ie=d('<span class="tag-meta svelte-1s5glru"> </span>'),Re=d('<div class="tag-badge svelte-1s5glru" role="button" tabindex="0"><span class="tag-name svelte-1s5glru"> </span> <!> <button type="button" class="tag-remove svelte-1s5glru" title="从系统标签中删除">×</button></div>'),Ue=d('<div class="tag-list svelte-1s5glru"></div>'),qe=d('<div class="tag-badge suggested svelte-1s5glru" role="button" tabindex="0"><span class="tag-name svelte-1s5glru"> </span> <span class="tag-meta svelte-1s5glru"> </span> <button type="button" class="tag-add svelte-1s5glru" title="添加到系统标签">+</button></div>'),Ae=d('<div class="suggested-section svelte-1s5glru"><h3 class="section-title svelte-1s5glru">建议添加(文章中出现但未在系统标签库中)</h3> <div class="tag-list svelte-1s5glru"></div></div>'),Xe=d('<div class="body svelte-1s5glru"><div class="tags-section svelte-1s5glru"><h3 class="section-title svelte-1s5glru"> </h3> <!></div> <!></div>'),Ye=d('<div class="context-menu svelte-1s5glru" role="menu" tabindex="-1"><button type="button" class="context-menu-item svelte-1s5glru">从所有文章中移除该标签</button></div>'),Ge=d('<div class="feed-wrap svelte-1s5glru"><div class="feed-col svelte-1s5glru"><div class="feed-toolbar-block svelte-1s5glru"><!> <div class="admin-feed-header"><div class="admin-feed-header__left"><h2>系统标签</h2> <p class="admin-feed-header__desc">系统标签库,新入库条目会由 LLM 自动匹配打标签。</p></div> <div class="admin-feed-header__actions"><input type="text" class="admin-toolbar-input" placeholder="输入新标签,回车添加"/> <button type="button" class="admin-toolbar-btn admin-toolbar-btn--primary">添加</button></div></div></div> <div class="feed-body-scroll"><!></div></div></div> <!>',1);function lt(z,$){Ce($,!1);let o=w([]),p=[],m=w([]),C=w(!0),_=w(!1),M=w(""),b=w(null),J=w(!1);async function oe(){a(C,!0);try{const t=await X("/api/tags");a(o,(t==null?void 0:t.tags)??[]),p=(t==null?void 0:t.stats)??[],a(m,(t==null?void 0:t.suggestedTags)??[])}catch{a(o,[]),p=[],a(m,[])}finally{a(C,!1)}}function ne(t){return p.find(e=>e.name.toLowerCase()===t.toLowerCase())}async function B(t){a(_,!0);try{const e=await X("/api/tags",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({tags:t})});if(!(e!=null&&e.ok))throw new Error((e==null?void 0:e.message)??"保存失败");a(o,(e==null?void 0:e.tags)??t),p=(e==null?void 0:e.stats)??[],a(m,(e==null?void 0:e.suggestedTags)??[]),O("已保存","success")}catch(e){O("保存失败: "+(e instanceof Error?e.message:String(e)),"error")}finally{a(_,!1)}}function G(){const t=s(M).trim();if(!(!t||s(_))){if(s(o).some(e=>e.toLowerCase()===t.toLowerCase())){O("标签已存在","error");return}a(M,""),B([...s(o),t])}}function ie(t){s(_)||B(s(o).filter(e=>e!==t))}function le(t){s(_)||s(o).some(e=>e.toLowerCase()===t.toLowerCase())||B([...s(o),t])}function H(t,e){t.preventDefault(),t.stopPropagation(),a(b,{x:t.clientX,y:t.clientY,tag:e})}function D(){a(b,null)}async function ve(t){if(!s(J)){a(J,!0),a(b,null);try{const e=await X("/api/tags/remove-from-items",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tag:t})});if(!(e!=null&&e.ok))throw new Error((e==null?void 0:e.message)??"操作失败");a(o,(e==null?void 0:e.tags)??s(o)),p=(e==null?void 0:e.stats)??p,a(m,(e==null?void 0:e.suggestedTags)??s(m)),O(`已从 ${(e==null?void 0:e.removedCount)??0} 篇文章中移除该标签`,"success")}catch(e){O("操作失败: "+(e instanceof Error?e.message:String(e)),"error")}finally{a(J,!1)}}}ke(()=>{oe();const t=()=>D(),e=()=>D();return document.addEventListener("click",t),document.addEventListener("contextmenu",e),()=>{document.removeEventListener("click",t),document.removeEventListener("contextmenu",e)}}),Ne();var K=Ge();Pe("1s5glru",t=>{Ee(()=>{$e.title=`标签 - ${Se}`})});var I=Te(K),Q=n(I),R=n(Q),V=n(R);je(V,{});var W=i(V,2),Z=i(n(W),2),N=n(Z);Fe(N);var ee=i(N,2);r(Z),r(W),r(R);var te=i(R,2),ce=n(te);{var ue=t=>{var e=Be();u(t,e)},de=t=>{var e=Xe(),T=n(e),h=n(T),fe=n(h);r(h);var pe=i(h,2);{var _e=v=>{var g=De();u(v,g)},be=v=>{var g=Ue();se(g,5,()=>s(o),ae,(j,y)=>{const c=Me(()=>ne(s(y)));var l=Re(),x=n(l),U=n(x,!0);r(x);var L=i(x,2);{var q=k=>{var A=Ie(),xe=n(A);r(A),E(()=>S(xe,`${s(c).count??""} 篇 · 热度 ${s(c).hotness??""}`)),u(k,A)};F(L,k=>{s(c)&&k(q)})}var P=i(L,2);r(l),E(()=>{re(l,"aria-label",`标签 ${s(y)},右键打开菜单`),S(U,s(y)),P.disabled=s(_)}),f("click",P,Y(()=>ie(s(y)))),f("contextmenu",l,k=>H(k,s(y))),u(j,l)}),r(g),u(v,g)};F(pe,v=>{s(o).length===0?v(_e):v(be,-1)})}r(T);var he=i(T,2);{var ye=v=>{var g=Ae(),j=i(n(g),2);se(j,5,()=>s(m),ae,(y,c)=>{var l=qe(),x=n(l),U=n(x,!0);r(x);var L=i(x,2),q=n(L);r(L);var P=i(L,2);r(l),E(()=>{re(l,"aria-label",`建议标签 ${s(c).name},右键打开菜单`),S(U,s(c).name),S(q,`${s(c).count??""} 篇 · 热度 ${s(c).hotness??""}`),P.disabled=s(_)}),f("click",P,Y(()=>le(s(c).name))),f("contextmenu",l,k=>H(k,s(c).name)),u(y,l)}),r(j),r(g),u(v,g)};F(he,v=>{s(m).length>0&&v(ye)})}r(e),E(()=>S(fe,`当前标签 (${s(o).length??""})`)),u(t,e)};F(ce,t=>{s(C)?t(ue):t(de,-1)})}r(te),r(Q),r(I);var me=i(I,2);{var ge=t=>{var e=Ye(),T=n(e);r(e),E(()=>{Oe(e,`left: ${s(b).x??""}px; top: ${s(b).y??""}px`),T.disabled=s(J)}),f("click",T,()=>ve(s(b).tag)),f("click",e,Y(function(h){ze.call(this,$,h)})),f("keydown",e,h=>h.key==="Escape"&&D()),u(t,e)};F(me,t=>{s(b)&&t(ge)})}E(t=>ee.disabled=t,[()=>!s(M).trim()||s(_)]),Je(N,()=>s(M),t=>a(M,t)),f("keydown",N,t=>t.key==="Enter"&&G()),f("click",ee,G),u(z,K),Le()}export{lt as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as f,c as Ut,f as m,t as Vt}from"../chunks/DIeahUKq.js";import"../chunks/CEWi_rGa.js";import{o as zt,a as Jt}from"../chunks/DptdhtA1.js";import{at as Rt,aC as jt,aD as At,az as $,k as t,au as Ht,d as Bt,av as l,aw as v,f as R,a5 as o,F as p,$ as Gt,ax as a,ay as Zt,u as d}from"../chunks/BsQ08Wq_.js";import{e as T,s as _}from"../chunks/BK0ygNWX.js";import{i as ct}from"../chunks/rNwPv4DZ.js";import{e as ft}from"../chunks/B553hBXT.js";import{h as qt}from"../chunks/DO5OXNYS.js";import{a as pt,P as Kt,r as Qt,b as Wt}from"../chunks/WW6La7Nt.js";import{b as Xt}from"../chunks/BnqaikL8.js";import{i as Yt}from"../chunks/Nd0ktDhd.js";import{s as Y}from"../chunks/4TuV_psf.js";import{S as te,a as ee,C as se,b as ae,c as le,d as re}from"../chunks/B8StT3Do.js";import{P as oe}from"../chunks/pd_p3yYy.js";var ie=m('<span class="log-level-label svelte-1lsf4ps"> </span> <!>',1),ne=m("<!> <!>",1),ve=m('<div class="state err svelte-1lsf4ps"> </div>'),de=m('<div class="state svelte-1lsf4ps">加载中…</div>'),ce=m('<div class="state svelte-1lsf4ps">暂无日志</div>'),fe=m('<tr class="payload-row svelte-1lsf4ps"><td colspan="4" class="svelte-1lsf4ps"><pre class="payload-content svelte-1lsf4ps"> </pre></td></tr>'),pe=m('<tr class="log-row svelte-1lsf4ps" role="button" tabindex="0"><td class="td-time svelte-1lsf4ps"> </td><td class="td-level svelte-1lsf4ps"><span> </span></td><td class="td-cat svelte-1lsf4ps"> </td><td class="td-msg svelte-1lsf4ps"> </td></tr> <!>',1),ue=m('<div class="log-has-data svelte-1lsf4ps"><div class="log-table-scroll svelte-1lsf4ps"><div class="table-wrap svelte-1lsf4ps"><table class="svelte-1lsf4ps"><thead class="svelte-1lsf4ps"><tr><th class="th-time svelte-1lsf4ps">时间</th><th class="th-level svelte-1lsf4ps">级别</th><th class="th-cat svelte-1lsf4ps">分类</th><th class="th-msg svelte-1lsf4ps">消息</th></tr></thead><tbody class="svelte-1lsf4ps"></tbody></table></div></div> <div class="log-toolbar svelte-1lsf4ps"><span class="pagination-info svelte-1lsf4ps"> </span> <div class="pagination-btns svelte-1lsf4ps"><button class="btn btn-secondary btn-sm svelte-1lsf4ps">上一页</button> <button class="btn btn-secondary btn-sm svelte-1lsf4ps">下一页</button></div></div></div>'),_e=m('<div class="feed-wrap svelte-1lsf4ps"><div class="feed-col svelte-1lsf4ps"><div class="feed-toolbar-block svelte-1lsf4ps"><div class="admin-feed-header"><div class="admin-feed-header__left"><h2>日志</h2> <p class="admin-feed-header__desc">查看运行日志、筛选分类与级别</p></div> <div class="admin-feed-header__actions"><input type="search" class="admin-toolbar-input log-filter-input svelte-1lsf4ps" placeholder="过滤…" autocomplete="off" spellcheck="false" aria-label="分类"/> <!> <button class="admin-toolbar-btn admin-toolbar-btn--danger" type="button" title="清空全部日志">清空</button></div></div></div> <div class="log-body-scroll svelte-1lsf4ps"><!></div></div></div>');function De(ut,_t){Rt(_t,!1);const tt=p(),j=[{value:"",label:"全部"},...["error","warn","info","debug"].map(e=>({value:e,label:e}))],mt=350;let c=p([]),w=p(0),h=p(!1),F=p(""),x=p(""),A=p(""),C=null,i=p(0),D=p(null),H=p(!1);const B=100;function G(){C&&(clearTimeout(C),C=null)}function ht(){G(),C=setTimeout(()=>{C=null,o(i,0),S()},mt)}function bt(e){o(x,e),o(i,0),S()}zt(()=>{S()}),Jt(()=>{G()});function gt(){const e=new URLSearchParams;e.set("limit",String(B)),e.set("offset",String(t(i))),t(x)&&e.set("level",t(x));const s=t(A).trim();return s&&e.set("category",s),"/api/logs?"+e.toString()}async function S(){o(h,!0),o(F,"");try{const e=await pt(gt());if(!e.ok)throw new Error(await e.text().catch(()=>`HTTP ${e.status}`));const s=await e.json();o(c,s.items??[]),o(w,s.total??0)}catch(e){o(F,e instanceof Error?e.message:String(e)),o(c,[]),o(w,0)}finally{o(h,!1)}}async function yt(){if(confirm("确定清空全部日志?此操作不可恢复。")){o(H,!0),G();try{const e=await pt("/api/logs",{method:"DELETE"}),s=await e.text();let n={};try{n=s?JSON.parse(s):{}}catch{n={}}if(!e.ok){Y(n.error||s||`HTTP ${e.status}`,"error");return}n.ok&&(Y(n.deleted!=null?`已清空 ${n.deleted} 条`:"已清空日志","success"),o(i,0),o(D,null),await S())}catch(e){Y(e instanceof Error?e.message:String(e),"error")}finally{o(H,!1)}}}function $t(){t(i)<=0||(o(i,Math.max(0,t(i)-B)),S())}function wt(){t(i)+t(c).length>=t(w)||(o(i,t(i)+B),S())}function et(e){o(D,t(D)===e?null:e)}function xt(e){try{return new Date(e).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return e}}function St(e){if(!e)return"";try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}jt(()=>t(x),()=>{var e;o(tt,((e=j.find(s=>s.value===t(x)))==null?void 0:e.label)??"全部")}),At(),Yt();var Z=_e();qt("1lsf4ps",e=>{Bt(()=>{Gt.title=`日志 - ${Kt}`})});var st=l(Z),q=l(st),at=l(q),lt=v(l(at),2),M=l(lt);Qt(M);var rt=v(M,2);te(rt,{type:"single",get value(){return t(x)},onValueChange:bt,get items(){return j},children:(e,s)=>{var n=ne(),O=R(n);ee(O,{class:"log-level-trigger","aria-label":"级别",children:(E,V)=>{var b=ie(),P=R(b),L=l(P,!0);a(P);var k=v(P,2);se(k,{size:14,"aria-hidden":"true"}),$(()=>_(L,t(tt))),f(E,b)},$$slots:{default:!0}});var U=v(O,2);oe(U,{children:(E,V)=>{ae(E,{class:"log-level-content",sideOffset:4,children:(b,P)=>{le(b,{class:"log-level-viewport",children:(L,k)=>{var I=Ut(),N=R(I);ft(N,1,()=>j,r=>r.value,(r,u)=>{re(r,{class:"log-level-item",get value(){return t(u),d(()=>t(u).value)},get label(){return t(u),d(()=>t(u).label)},children:(g,z)=>{Zt();var J=Vt();$(()=>_(J,(t(u),d(()=>t(u).label)))),f(g,J)},$$slots:{default:!0}})}),f(L,I)},$$slots:{default:!0}})},$$slots:{default:!0}})},$$slots:{default:!0}}),f(e,n)},$$slots:{default:!0}});var ot=v(rt,2);a(lt),a(at),a(q);var it=v(q,2),Et=l(it);{var Pt=e=>{var s=ve(),n=l(s,!0);a(s),$(()=>_(n,t(F))),f(e,s)},Lt=e=>{var s=de();f(e,s)},kt=e=>{var s=ce();f(e,s)},Tt=e=>{var s=ue(),n=l(s),O=l(n),U=l(O),E=v(l(U));ft(E,5,()=>t(c),N=>N.id,(N,r)=>{var u=pe(),g=R(u),z=l(g),J=l(z,!0);a(z);var K=v(z),Q=l(K),Ct=l(Q,!0);a(Q),a(K);var W=v(K),Dt=l(W,!0);a(W);var nt=v(W),Ot=l(nt,!0);a(nt),a(g);var It=v(g,2);{var Nt=y=>{var X=fe(),vt=l(X),dt=l(vt),Ft=l(dt,!0);a(dt),a(vt),a(X),$(Mt=>_(Ft,Mt),[()=>(t(r),d(()=>St(t(r).payload)))]),f(y,X)};ct(It,y=>{t(D),t(r),d(()=>t(D)===t(r).id&&t(r).payload)&&y(Nt)})}$(y=>{_(J,y),Wt(Q,1,`badge level-${t(r),d(()=>t(r).level)??""}`,"svelte-1lsf4ps"),_(Ct,(t(r),d(()=>t(r).level))),_(Dt,(t(r),d(()=>t(r).category))),_(Ot,(t(r),d(()=>t(r).message)))},[()=>(t(r),d(()=>xt(t(r).created_at)))]),T("click",g,()=>et(t(r).id)),T("keydown",g,y=>y.key==="Enter"&&et(t(r).id)),f(N,u)}),a(E),a(U),a(O),a(n);var V=v(n,2),b=l(V),P=l(b);a(b);var L=v(b,2),k=l(L),I=v(k,2);a(L),a(V),a(s),$(()=>{_(P,`共 ${t(w)??""} 条,当前 ${t(c),t(i),d(()=>t(c).length?`${t(i)+1}–${t(i)+t(c).length}`:"—")??""}`),k.disabled=t(i)<=0||t(h),I.disabled=(t(i),t(c),t(w),t(h),d(()=>t(i)+t(c).length>=t(w)||t(h)))}),T("click",k,$t),T("click",I,wt),f(e,s)};ct(Et,e=>{t(F)?e(Pt):(t(h),t(c),d(()=>t(h)&&t(c).length===0)?e(Lt,1):(t(c),d(()=>t(c).length===0)?e(kt,2):e(Tt,-1)))})}a(it),a(st),a(Z),$(()=>ot.disabled=t(h)||t(H)),Xt(M,()=>t(A),e=>o(A,e)),T("input",M,ht),T("click",ot,yt),f(ut,Z),Ht()}export{De as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as u,t as st,f as p}from"../chunks/DIeahUKq.js";import"../chunks/CEWi_rGa.js";import{o as Tt}from"../chunks/DptdhtA1.js";import{at as Et,aC as ht,aD as Lt,f as rt,k as t,au as Ot,d as Nt,av as l,az as lt,a5 as o,aw as c,F as h,$ as zt,ax as s,u as b,ay as K}from"../chunks/BsQ08Wq_.js";import{d as Ft,a as D,e as Jt,s as Q}from"../chunks/BK0ygNWX.js";import{g as Mt}from"../chunks/FDS7fbwH.js";import{i as q}from"../chunks/rNwPv4DZ.js";import{e as Bt}from"../chunks/B553hBXT.js";import{h as Ht}from"../chunks/DO5OXNYS.js";import{s as O,P as Kt,r as ot,a as G}from"../chunks/WW6La7Nt.js";import{b as it}from"../chunks/BnqaikL8.js";import{i as Qt}from"../chunks/Nd0ktDhd.js";import{p as qt}from"../chunks/GeNMTUn1.js";import{g as nt}from"../chunks/BKm6QCwp.js";import{s as m}from"../chunks/4TuV_psf.js";import{P as Gt}from"../chunks/SvdgnirT.js";import{D as Vt,a as Wt,b as Xt,c as Yt,d as bt}from"../chunks/B0czyjwj.js";import{P as Zt}from"../chunks/pd_p3yYy.js";var te=p('<div class="state svelte-1nj0iur">加载中…</div>'),ee=p('<div class="state error svelte-1nj0iur"> </div>'),ae=p('<div class="state svelte-1nj0iur">暂无已加载插件。可 <button type="button" class="link-btn svelte-1nj0iur">添加插件</button> 从模板创建,或在 <code>app/plugins/builtin/</code>、<code>.rssany/plugins/</code> 放置 *.rssany.js / *.rssany.ts</div>'),se=p('<div class="state svelte-1nj0iur">无匹配结果</div>'),re=p('<span class="kind-badge svelte-1nj0iur">Source</span>'),le=p('<button type="button" class="cell-btn cell-btn--primary svelte-1nj0iur">登录</button>'),oe=p('<span class="cell-dash svelte-1nj0iur" title="未声明站点登录">—</span>'),ie=p('<button type="button" class="cell-btn cell-btn--secondary svelte-1nj0iur">检查登录</button>'),ne=p('<span class="cell-dash svelte-1nj0iur" title="未声明站点登录">—</span>'),de=p('<tr class="plugin-row svelte-1nj0iur" tabindex="0"><td class="td-name svelte-1nj0iur"><div class="name-cell svelte-1nj0iur"><span class="plugin-id-text svelte-1nj0iur"> </span> <!></div></td><td class="td-pattern svelte-1nj0iur"><span class="pattern-text svelte-1nj0iur"> </span></td><td class="td-login svelte-1nj0iur"><!></td><td class="td-check svelte-1nj0iur"><!></td></tr>'),ce=p('<div class="plugin-table-wrap svelte-1nj0iur"><table class="plugin-table svelte-1nj0iur"><thead class="svelte-1nj0iur"><tr><th class="th-name svelte-1nj0iur" scope="col">插件名</th><th class="th-pattern svelte-1nj0iur" scope="col">匹配规则</th><th class="th-login svelte-1nj0iur" scope="col">登录</th><th class="th-check svelte-1nj0iur" scope="col">检查登录</th></tr></thead><tbody class="svelte-1nj0iur"></tbody></table></div>'),ve=p('<div class="modal-header svelte-1nj0iur"><!> <!></div> <form class="modal-body svelte-1nj0iur"><p class="add-hint svelte-1nj0iur">对于不支持RSS的站点,添加插件可以覆盖特定站点的解析规则</p> <div class="field svelte-1nj0iur"><span class="field-label svelte-1nj0iur">站点匹配规则</span> <input class="field-input svelte-1nj0iur" type="text" name="listUrlPattern" placeholder="例如 https://www.example.com/* 或 https://example.com/list/{segment}" autocomplete="off"/></div> <div class="field svelte-1nj0iur"><span class="field-label svelte-1nj0iur">插件 id</span> <input class="field-input svelte-1nj0iur" type="text" name="pluginId" placeholder="例如 my-site" autocomplete="off"/></div> <div class="modal-footer svelte-1nj0iur"><div class="modal-footer-right svelte-1nj0iur"><!> <button type="submit" class="btn-save svelte-1nj0iur"> </button></div></div></form>',1),ue=p("<!> <!>",1),pe=p('<div class="feed-wrap svelte-1nj0iur"><div class="feed-col svelte-1nj0iur"><div class="plugins-toolbar-block svelte-1nj0iur"><div class="admin-feed-header"><div class="admin-feed-header__left"><h2>插件</h2> <p class="admin-feed-header__desc">管理站点解析插件与登录检查</p></div> <div class="admin-feed-header__actions"><input class="admin-toolbar-input" type="search" placeholder="过滤…" autocomplete="off"/> <button type="button" class="btn-add svelte-1nj0iur" title="添加插件" aria-label="添加插件"><!></button></div></div></div> <div class="plugins-body-scroll svelte-1nj0iur"><!></div></div></div> <!>',1);function Ie(gt,jt){Et(jt,!1);const C=h(),N=h();let $=h([]),z=h(""),V=h(!0),S=h(!1),j=h(""),y=h(""),U=h(!1),F=h("");function dt(){o(j,""),o(y,""),o(S,!0)}function yt(e){o(S,e),e||(o(j,""),o(y,""))}async function wt(e){e.preventDefault();const a=t(j).trim(),i=t(y).trim();if(!a){m("请填写插件 id","error");return}if(!i){m("请填写支持的站点(URL 或匹配规则)","error");return}o(U,!0);try{const n=await G("/api/plugins",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:a,listUrlPattern:i})}),_=await n.text();let r={};try{r=_?JSON.parse(_):{}}catch{r={}}if(!n.ok){m(r.error||_||`HTTP ${n.status}`,"error");return}r.ok&&(m("已创建插件文件","success"),o(S,!1),o(j,""),o(y,""),await ct(),await nt("/plugins/"+encodeURIComponent(a)))}catch(n){m("请求失败: "+(n instanceof Error?n.message:String(n)),"error")}finally{o(U,!1)}}async function ct(){o(V,!0),o(z,"");try{const a=await(await G("/api/plugins")).json();o($,[...a].sort((i,n)=>(n.hasAuth?1:0)-(i.hasAuth?1:0)))}catch(e){o(z,"加载失败: "+(e instanceof Error?e.message:String(e)))}finally{o(V,!1)}}async function Pt(e,a){a.preventDefault(),a.stopPropagation();try{const n=await(await G(`/auth/check?siteId=${encodeURIComponent(e.id)}`)).json();n.ok?m(`${e.id}:${n.authenticated?"✓ 已登录":"✗ 未登录"}`,n.authenticated?"success":"error"):m(n.message||"检查失败","error")}catch(i){m("请求失败: "+(i instanceof Error?i.message:String(i)),"error")}}function vt(e){nt("/plugins/"+encodeURIComponent(e.id))}function kt(e,a){(a.key==="Enter"||a.key===" ")&&(a.preventDefault(),vt(e))}async function $t(e,a){a.preventDefault(),a.stopPropagation();try{const n=await(await G(`/auth/open?siteId=${encodeURIComponent(e.id)}`,{method:"POST"})).json();n.ok?m(n.message||"已打开登录页面","success"):m(n.message||"打开失败","error")}catch(i){m("请求失败: "+(i instanceof Error?i.message:String(i)),"error")}}Tt(()=>{ct(),Mt(qt).url.searchParams.get("openAdd")==="1"&&(o(j,""),o(y,""),o(S,!0),nt("/plugins",{replaceState:!0}))}),ht(()=>t(F),()=>{o(C,t(F).trim().toLowerCase())}),ht(()=>(t(C),t($)),()=>{o(N,t(C)?t($).filter(e=>e.id.toLowerCase().includes(t(C))||e.listUrlPattern.toLowerCase().includes(t(C))):t($))}),Lt(),Qt();var ut=pe();Ht("1nj0iur",e=>{Nt(()=>{zt.title=`插件 - ${Kt}`})});var W=rt(ut),pt=l(W),X=l(pt),ft=l(X),mt=c(l(ft),2),J=l(mt);ot(J),O(J,"spellcheck",!1);var Y=c(J,2),xt=l(Y);Gt(xt,{size:16,"aria-hidden":"true"}),s(Y),s(mt),s(ft),s(X);var _t=c(X,2),Dt=l(_t);{var Ct=e=>{var a=te();u(e,a)},St=e=>{var a=ee(),i=l(a,!0);s(a),lt(()=>Q(i,t(z))),u(e,a)},Ut=e=>{var a=ae(),i=c(l(a));K(5),s(a),D("click",i,dt),u(e,a)},At=e=>{var a=se();u(e,a)},It=e=>{var a=ce(),i=l(a),n=c(l(i));Bt(n,5,()=>t(N),_=>_.id,(_,r)=>{var g=de(),A=l(g),Z=l(A),x=l(Z),I=l(x,!0);s(x);var M=c(x,2);{var tt=d=>{var v=re();u(d,v)};q(M,d=>{t(r),b(()=>t(r).kind==="source")&&d(tt)})}s(Z),s(A);var w=c(A),P=l(w),R=l(P,!0);s(P),s(w);var k=c(w),T=l(k);{var B=d=>{var v=le();D("click",v,at=>$t(t(r),at)),u(d,v)},H=d=>{var v=oe();u(d,v)};q(T,d=>{t(r),b(()=>t(r).hasAuth)?d(B):d(H,-1)})}s(k);var E=c(k),L=l(E);{var et=d=>{var v=ie();D("click",v,at=>Pt(t(r),at)),u(d,v)},f=d=>{var v=ne();u(d,v)};q(L,d=>{t(r),b(()=>t(r).hasAuth)?d(et):d(f,-1)})}s(E),s(g),lt(()=>{O(g,"aria-label",`打开插件 ${t(r),b(()=>t(r).id)??""}`),Q(I,(t(r),b(()=>t(r).id))),O(P,"title",(t(r),b(()=>t(r).listUrlPattern))),Q(R,(t(r),b(()=>t(r).listUrlPattern)))}),D("click",g,()=>vt(t(r))),D("keydown",g,d=>kt(t(r),d)),u(_,g)}),s(n),s(i),s(a),u(e,a)};q(Dt,e=>{t(V)?e(Ct):t(z)?e(St,1):(t($),b(()=>t($).length===0)?e(Ut,2):(t(N),b(()=>t(N).length===0)?e(At,3):e(It,-1)))})}s(_t),s(pt),s(W);var Rt=c(W,2);Vt(Rt,{get open(){return t(S)},onOpenChange:yt,children:(e,a)=>{Zt(e,{children:(i,n)=>{var _=ue(),r=rt(_);Wt(r,{class:"modal-overlay"});var g=c(r,2);Xt(g,{class:"modal","aria-describedby":void 0,children:(A,Z)=>{var x=ve(),I=rt(x),M=l(I);Yt(M,{class:"modal-title",children:(f,d)=>{K();var v=st("添加插件");u(f,v)},$$slots:{default:!0}});var tt=c(M,2);bt(tt,{class:"modal-close","aria-label":"关闭",children:(f,d)=>{K();var v=st("✕");u(f,v)},$$slots:{default:!0}}),s(I);var w=c(I,2),P=c(l(w),2),R=c(l(P),2);ot(R),O(R,"spellcheck",!1),s(P);var k=c(P,2),T=c(l(k),2);ot(T),O(T,"spellcheck",!1),s(k);var B=c(k,2),H=l(B),E=l(H);bt(E,{class:"btn-cancel",get disabled(){return t(U)},type:"button",children:(f,d)=>{K();var v=st("取消");u(f,v)},$$slots:{default:!0}});var L=c(E,2),et=l(L,!0);s(L),s(H),s(B),s(w),lt(()=>{L.disabled=t(U),Q(et,t(U)?"创建中…":"创建并打开编辑")}),Jt("submit",w,wt),it(R,()=>t(y),f=>o(y,f)),it(T,()=>t(j),f=>o(j,f)),u(A,x)},$$slots:{default:!0}}),u(i,_)},$$slots:{default:!0}})},$$slots:{default:!0}}),it(J,()=>t(F),e=>o(F,e)),D("click",Y,dt),u(gt,ut),Ot()}Ft(["click","keydown"]);export{Ie as component};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as u,f as p}from"../chunks/DIeahUKq.js";import"../chunks/CEWi_rGa.js";import{o as V,a as W}from"../chunks/DptdhtA1.js";import{at as Z,au as ee,d as te,$ as ae,av as s,aw as v,k as r,ax as t,ay as se,az as $,a5 as Y,F as re,y as L,aA as z,aB as le}from"../chunks/BsQ08Wq_.js";import{s as g}from"../chunks/BK0ygNWX.js";import{i as ie}from"../chunks/rNwPv4DZ.js";import{e as y,i as D}from"../chunks/B553hBXT.js";import{h as ne}from"../chunks/DO5OXNYS.js";import{P as oe,s as de,a as ce,b as ve}from"../chunks/WW6La7Nt.js";import{i as fe}from"../chunks/Nd0ktDhd.js";var ue=p("<span></span>"),pe=p('<div class="scheduler-row svelte-1jef3w8"><div class="scheduler-left svelte-1jef3w8"><span class="scheduler-name svelte-1jef3w8"> </span> <span class="scheduler-meta svelte-1jef3w8"> </span></div> <div class="scheduler-slots svelte-1jef3w8"></div></div>'),he=p('<section class="scheduler-section svelte-1jef3w8"><h3 class="section-title svelte-1jef3w8">调度任务</h3> <div class="scheduler-card svelte-1jef3w8"></div></section>'),me=p('<a class="card svelte-1jef3w8"><div class="card-main svelte-1jef3w8"><span class="card-label svelte-1jef3w8"> </span> <span class="card-desc svelte-1jef3w8"> </span></div> <span class="card-arrow svelte-1jef3w8">›</span></a>'),_e=p('<section class="links-section svelte-1jef3w8"><h3 class="section-title svelte-1jef3w8"> </h3> <div class="links svelte-1jef3w8"></div></section>'),we=p('<div class="feed-wrap svelte-1jef3w8"><div class="feed-col svelte-1jef3w8"><div class="settings-toolbar-block svelte-1jef3w8"><div class="admin-feed-header settings-header svelte-1jef3w8"><div class="admin-feed-header__left"><h2>设置</h2> <p class="admin-feed-header__desc">管理入口与调试工具</p></div></div></div> <div class="settings-body-scroll svelte-1jef3w8"><div class="body svelte-1jef3w8"><!> <!></div></div></div></div>');function Pe(U,q){Z(q,!1);function B(l){if(l===void 0)return"";if(l===0)return"· 正在执行";if(l===-1)return"· 无定时任务";const e=new Date(l),o=Date.now(),i=l-o;if(i<=0)return"· 即将执行";if(i<6e4)return`· 约 ${Math.round(i/1e3)} 秒后`;if(i<36e5)return`· 约 ${Math.round(i/6e4)} 分钟后`;const c=e.toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"}),n=new Date(o),h=e.getDate()===n.getDate()&&e.getMonth()===n.getMonth()&&e.getFullYear()===n.getFullYear(),a=new Date(n);a.setDate(a.getDate()+1);const d=e.getDate()===a.getDate()&&e.getMonth()===a.getMonth()&&e.getFullYear()===a.getFullYear();return h?`· 下次 ${c}`:d?`· 下次 明天 ${c}`:`· 下次 ${e.toLocaleDateString("zh-CN",{month:"numeric",day:"numeric"})} ${c}`}const E=[{title:"管理",links:[{href:"/admin/tags",label:"标签",desc:"系统标签库,新入库条目由 LLM 自动匹配打标签"},{href:"/admin/pipeline",label:"Pipeline",desc:"入库前处理(打标签、翻译),支持顺序与开关"}]},{title:"集成",links:[{href:"/admin/llm",label:"LLM",desc:"OpenAI 兼容 API(解析、Pipeline、标签与翻译);可替代 .env 中的 OPENAI_*"},{href:"/admin/proxy",label:"代理",desc:"维护代理列表,并选择全局默认代理;信源可从列表中单独选择"},{href:"/admin/deliver",label:"投递",desc:"配置下游 URL 与可选 Bearer 令牌;非空 URL 时在写库与 Pipeline 后额外 POST 条目"}]},{title:"调试",links:[{href:"/admin/parse",label:"Parse",desc:"从列表页解析条目,返回 JSON"}]}];let j=re({}),M=null;async function O(){try{const e=await(await ce("/api/scheduler/stats")).text();Y(j,e.trim()?JSON.parse(e):{})}catch{Y(j,{})}}V(()=>{O(),M=setInterval(O,2e3)}),W(()=>{M&&clearInterval(M)});const J=5;fe();var x=we();ne("1jef3w8",l=>{te(()=>{ae.title=`设置 - ${oe}`})});var P=s(x),k=v(s(P),2),N=s(k),A=s(N);{var R=l=>{var e=he(),o=v(s(e),2);y(o,5,()=>Object.entries(r(j)),D,(i,c)=>{var n=z(()=>le(r(c),2));let h=()=>r(n)[0],a=()=>r(n)[1];const d=L(()=>a().running),b=L(()=>a().completedCount??0),m=L(()=>Math.min(a().concurrency,J));var _=pe(),f=s(_),w=s(f),H=s(w,!0);t(w);var C=v(w,2),K=s(C);t(C),t(f);var F=v(f,2);y(F,5,()=>Array(r(m)),D,(S,ge,Q)=>{var I=ue();let T;$(()=>T=ve(I,1,"slot svelte-1jef3w8",null,T,{filled:Q<r(d)})),u(S,I)}),t(F),t(_),$(S=>{g(H,h()),g(K,`执行中 ${r(d)??""}/${a().concurrency??""} · 排队 ${a().queued??""} · 定时 ${a().scheduledCount??""} · 已完成 ${r(b)??""}
|
|
2
|
-
${S??""}`)},[()=>B(a().nextRunTime)]),u(i,_)}),t(o),t(e),u(l,e)},X=z(()=>Object.keys(r(j)).length>0);ie(A,l=>{r(X)&&l(R)})}var G=v(A,2);y(G,1,()=>E,D,(l,e)=>{var o=_e(),i=s(o),c=s(i,!0);t(i);var n=v(i,2);y(n,5,()=>r(e).links,D,(h,a)=>{var d=me(),b=s(d),m=s(b),_=s(m,!0);t(m);var f=v(m,2),w=s(f,!0);t(f),t(b),se(2),t(d),$(()=>{de(d,"href",r(a).href),g(_,r(a).label),g(w,r(a).desc)}),u(h,d)}),t(n),t(o),$(()=>g(c,r(e).title)),u(l,o)}),t(N),t(k),t(P),t(x),u(U,x),ee()}export{Pe as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as v,f as p,t as ve}from"../chunks/DIeahUKq.js";import"../chunks/CEWi_rGa.js";import{o as ce}from"../chunks/DptdhtA1.js";import{at as pe,az as R,au as me,d as fe,av as i,aw as n,$ as de,k as o,ax as l,a5 as s,F as c,f as ue,ay as j}from"../chunks/BsQ08Wq_.js";import{e as $,s as z}from"../chunks/BK0ygNWX.js";import{i as b}from"../chunks/rNwPv4DZ.js";import{h as ge}from"../chunks/DO5OXNYS.js";import{P as _e,c as U,r as E,s as O}from"../chunks/WW6La7Nt.js";import{b as C}from"../chunks/BnqaikL8.js";import{i as ye}from"../chunks/Nd0ktDhd.js";import{B as he}from"../chunks/Dg_D3pjF.js";import{s as w}from"../chunks/4TuV_psf.js";var be=p('<p class="hint svelte-1a0dvmg">加载中…</p>'),we=p('<input type="url" class="text-input svelte-1a0dvmg" placeholder="https://api.openai.com/v1" autocomplete="off"/>'),xe=p('<input type="text" class="text-input svelte-1a0dvmg" placeholder="gpt-4o-mini" autocomplete="off"/>'),Ke=p('<p class="hint svelte-1a0dvmg">加载中…</p>'),Pe=p("当前<strong>可用</strong>(文件或环境变量)。",1),ke=p("未检测到 Key,请填写或设置 <code>OPENAI_API_KEY</code>。",1),Ae=p('<input type="password" class="text-input svelte-1a0dvmg" autocomplete="new-password"/> <p class="hint svelte-1a0dvmg"><!> <!></p>',1),Ie=p('<div class="feed-wrap svelte-1a0dvmg"><div class="feed-col svelte-1a0dvmg"><div class="body svelte-1a0dvmg"><!> <p class="intro svelte-1a0dvmg">与 OpenAI 兼容的 Chat Completions API,用于列表解析、正文提取、Pipeline 打标签与翻译等。</p> <section class="form-section svelte-1a0dvmg"><h3 class="section-title svelte-1a0dvmg">API Base URL</h3> <!></section> <section class="form-section svelte-1a0dvmg"><h3 class="section-title svelte-1a0dvmg">模型</h3> <!></section> <section class="form-section svelte-1a0dvmg"><h3 class="section-title svelte-1a0dvmg">API Key</h3> <!></section> <section class="form-section svelte-1a0dvmg"><div class="btn-row svelte-1a0dvmg"><button type="button" class="btn btn-primary svelte-1a0dvmg"> </button> <button type="button" class="btn btn-secondary svelte-1a0dvmg"> </button></div></section></div></div></div>');function Re(D,Y){pe(Y,!1);let m=c(""),f=c(""),u=c(""),g=c(!1),_=c(!1),d=c(!0),x=c(!1),K=c(!1);async function q(){s(d,!0);try{const e=await U("/api/llm");s(m,(e==null?void 0:e.baseUrl)??""),s(f,(e==null?void 0:e.model)??""),s(g,!!(e!=null&&e.hasApiKey)),s(_,!!(e!=null&&e.apiKeyInFile)),s(u,"")}catch{s(m,""),s(f,""),s(g,!1),s(_,!1)}finally{s(d,!1)}}async function G(){s(x,!0);try{const e={baseUrl:o(m).trim(),model:o(f).trim()},a=o(u).trim();a&&(e.apiKey=a);const t=await U("/api/llm",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!(t!=null&&t.ok))throw new Error((t==null?void 0:t.message)??"保存失败");s(m,(t==null?void 0:t.baseUrl)??o(m)),s(f,(t==null?void 0:t.model)??o(f)),s(g,!!(t!=null&&t.hasApiKey)),s(_,!!(t!=null&&t.apiKeyInFile)),s(u,""),w("已保存","success")}catch(e){w("保存失败: "+(e instanceof Error?e.message:String(e)),"error")}finally{s(x,!1)}}async function H(){s(K,!0);try{const e=await U("/api/llm/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(e!=null&&e.ok){const a=typeof e.reply=="string"?e.reply.trim():"";w(a?`连接成功:${a.slice(0,120)}${a.length>120?"…":""}`:"连接成功","success")}else w("测试失败: "+((e==null?void 0:e.message)??"未知错误"),"error")}catch(e){w("测试失败: "+(e instanceof Error?e.message:String(e)),"error")}finally{s(K,!1)}}ce(q),ye();var k=Ie();ge("1a0dvmg",e=>{fe(()=>{de.title=`LLM - ${_e}`})});var F=i(k),S=i(F),N=i(S);he(N,{});var A=n(N,4),Q=n(i(A),2);{var V=e=>{var a=be();v(e,a)},W=e=>{var a=we();E(a),C(a,()=>o(m),t=>s(m,t)),v(e,a)};b(Q,e=>{o(d)?e(V):e(W,-1)})}l(A);var I=n(A,2),X=n(i(I),2);{var Z=e=>{var a=xe();E(a),O(a,"spellcheck",!1),C(a,()=>o(f),t=>s(f,t)),v(e,a)};b(X,e=>{o(d)||e(Z)})}l(I);var T=n(I,2),ee=n(i(T),2);{var te=e=>{var a=Ke();v(e,a)},se=e=>{var a=Ae(),t=ue(a);E(t),O(t,"spellcheck",!1);var L=n(t,2),M=i(L);{var re=r=>{var h=Pe();j(2),v(r,h)},ie=r=>{var h=ke();j(2),v(r,h)};b(M,r=>{o(g)?r(re):r(ie,-1)})}var le=n(M,2);{var ne=r=>{var h=ve("已写入配置文件。");v(r,h)};b(le,r=>{o(_)&&r(ne)})}l(L),R(()=>O(t,"placeholder",o(_)?"已保存在配置中,留空表示不修改":"sk-...")),C(t,()=>o(u),r=>s(u,r)),v(e,a)};b(ee,e=>{o(d)?e(te):e(se,-1)})}l(T);var B=n(T,2),J=i(B),y=i(J),ae=i(y,!0);l(y);var P=n(y,2),oe=i(P,!0);l(P),l(J),l(B),l(S),l(F),l(k),R(()=>{y.disabled=o(x)||o(d),z(ae,o(x)?"保存中…":"保存"),P.disabled=o(K)||o(d)||!o(g),z(oe,o(K)?"测试中…":"测试连接")}),$("click",y,G),$("click",P,H),v(D,k),me()}export{Re as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as d,f as _,c as de,t as pe}from"../chunks/DIeahUKq.js";import"../chunks/CEWi_rGa.js";import{o as ue}from"../chunks/DptdhtA1.js";import{at as fe,aC as q,aD as me,az as g,k as e,au as _e,d as xe,av as s,a5 as a,F as n,$ as he,ay as K,ax as l,aw as v,f as A,u as C}from"../chunks/BsQ08Wq_.js";import{e as ye,s as b}from"../chunks/BK0ygNWX.js";import{i as D}from"../chunks/rNwPv4DZ.js";import{e as $e}from"../chunks/B553hBXT.js";import{h as ge}from"../chunks/DO5OXNYS.js";import{P as be,r as Pe,c as we}from"../chunks/WW6La7Nt.js";import{b as Se}from"../chunks/BnqaikL8.js";import{p as Oe}from"../chunks/Bfc47y5P.js";import{i as Ce}from"../chunks/Nd0ktDhd.js";import{B as Te}from"../chunks/Dg_D3pjF.js";import{S as ke,a as Ie,C as Ne,b as Je,c as Le,d as Re}from"../chunks/B8StT3Do.js";import{P as Ue}from"../chunks/pd_p3yYy.js";var qe=_("<span> </span> <!>",1),Ae=_("<!> <!>",1),De=_('<p class="field-hint svelte-1x680s0">暂无代理列表,可在后台「代理」中添加。</p>'),ze=_('<div class="result-error svelte-1x680s0" role="alert"> </div>'),Be=_('<div class="result-wrap svelte-1x680s0"><p class="result-label svelte-1x680s0">解析结果(与下方接口一致)</p> <pre class="result-json svelte-1x680s0"> </pre></div>'),Ee=_('<div class="feed-wrap svelte-1x680s0"><div class="feed-col svelte-1x680s0"><div class="feed-header svelte-1x680s0"><!> <h2 class="svelte-1x680s0">Parse</h2> <p class="page-desc svelte-1x680s0">从列表页解析条目结构,返回 JSON,用于调试插件 Parser 规则</p></div> <div class="body svelte-1x680s0"><form><div class="url-row svelte-1x680s0"><input type="url" placeholder="输入列表页地址…" required="" autocomplete="url" class="svelte-1x680s0"/></div> <div class="proxy-row svelte-1x680s0"><!> <!></div> <div class="action-row svelte-1x680s0"><button type="submit" class="svelte-1x680s0"> </button></div></form> <!> <!></div></div></div>');function st(Q,X){fe(X,!1);const T=n(),x=n(),z=n();let f=n(""),o=n(""),c=n([]),P=n(!1),h=n(""),y=n("");function Y(t){a(o,t)}async function Z(){try{const t=await we("/api/proxy");a(c,Array.isArray(t.proxyList)?t.proxyList.filter(r=>typeof r=="string"&&r.trim().length>0):[])}catch{a(c,[])}}async function ee(){if(e(f).trim()){a(P,!0),a(h,""),a(y,"");try{const t=e(f).startsWith("http")?e(f):"https://"+e(f),r=new URLSearchParams,i=e(o).trim();i&&r.set("proxy",i);const p=r.toString(),$=await fetch("/admin/parse/"+encodeURIComponent(t)+(p?"?"+p:""),{credentials:"include"}),u=await $.text();if(!$.ok){a(h,u||`HTTP ${$.status}`);return}try{a(y,JSON.stringify(JSON.parse(u),null,2))}catch{a(y,u)}}catch(t){a(h,t instanceof Error?t.message:String(t))}finally{a(P,!1)}}}ue(Z),q(()=>(e(o),e(c)),()=>{a(T,e(o).trim()&&!e(c).includes(e(o).trim()))}),q(()=>(e(T),e(o),e(c)),()=>{a(x,[{value:"",label:"使用默认代理"},...e(T)?[{value:e(o),label:`${e(o)}(当前配置,未在代理列表中)`}]:[],...e(c).map(t=>({value:t,label:t}))])}),q(()=>(e(x),e(o)),()=>{var t;a(z,((t=e(x).find(r=>r.value===e(o)))==null?void 0:t.label)??"使用默认代理")}),me(),Ce();var k=Ee();ge("1x680s0",t=>{xe(()=>{he.title=`Parse - ${be}`})});var B=s(k),I=s(B),te=s(I);Te(te,{}),K(4),l(I);var E=v(I,2),w=s(E),N=s(w),F=s(N);Pe(F),l(N);var J=v(N,2),M=s(J);ke(M,{type:"single",get value(){return e(o)},onValueChange:Y,get items(){return e(x)},children:(t,r)=>{var i=Ae(),p=A(i);Ie(p,{class:"proxy-select-trigger","aria-label":"代理",children:(u,ne)=>{var S=qe(),O=A(S),R=s(O,!0);l(O);var V=v(O,2);Ne(V,{size:14,"aria-hidden":"true"}),g(()=>b(R,e(z))),d(u,S)},$$slots:{default:!0}});var $=v(p,2);Ue($,{children:(u,ne)=>{Je(u,{class:"proxy-select-content",sideOffset:4,children:(S,O)=>{Le(S,{class:"proxy-select-viewport",children:(R,V)=>{var W=de(),ve=A(W);$e(ve,1,()=>e(x),U=>U.value,(U,m)=>{Re(U,{class:"proxy-select-item",get value(){return e(m),C(()=>e(m).value)},get label(){return e(m),C(()=>e(m).label)},children:(ce,Fe)=>{K();var G=pe();g(()=>b(G,(e(m),C(()=>e(m).label)))),d(ce,G)},$$slots:{default:!0}})}),d(R,W)},$$slots:{default:!0}})},$$slots:{default:!0}})},$$slots:{default:!0}}),d(t,i)},$$slots:{default:!0}});var re=v(M,2);{var ae=t=>{var r=De();d(t,r)};D(re,t=>{e(c),C(()=>e(c).length===0)&&t(ae)})}l(J);var j=v(J,2),L=s(j),se=s(L,!0);l(L),l(j),l(w);var H=v(w,2);{var le=t=>{var r=ze(),i=s(r,!0);l(r),g(()=>b(i,e(h))),d(t,r)};D(H,t=>{e(h)&&t(le)})}var oe=v(H,2);{var ie=t=>{var r=Be(),i=v(s(r),2),p=s(i,!0);l(i),l(r),g(()=>b(p,e(y))),d(t,r)};D(oe,t=>{e(y)&&t(ie)})}l(E),l(B),l(k),g(()=>{L.disabled=e(P),b(se,e(P)?"解析中…":"解析")}),Se(F,()=>e(f),t=>a(f,t)),ye("submit",w,Oe(ee)),d(Q,k),_e()}export{st as component};
|
|
File without changes
|