mirror of
https://github.com/PaiGramTeam/luoxu-api-pub.git
synced 2024-11-21 22:58:21 +00:00
5 lines
19 KiB
JavaScript
5 lines
19 KiB
JavaScript
var qe=Object.defineProperty;var Ie=(t,e,n)=>e in t?qe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var re=(t,e,n)=>(Ie(t,typeof e!="symbol"?e+"":e,n),n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))l(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&l(o)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function l(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();function F(){}function Me(t){return t()}function ye(){return Object.create(null)}function B(t){t.forEach(Me)}function Ue(t){return typeof t=="function"}function ae(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}let ne;function J(t,e){return t===e?!0:(ne||(ne=document.createElement("a")),ne.href=e,t===ne.href)}function Pe(t){return Object.keys(t).length===0}function g(t,e){t.appendChild(e)}function U(t,e,n){t.insertBefore(e,n||null)}function O(t){t.parentNode&&t.parentNode.removeChild(t)}function Ne(t,e){for(let n=0;n<t.length;n+=1)t[n]&&t[n].d(e)}function v(t){return document.createElement(t)}function H(t){return document.createTextNode(t)}function R(){return H(" ")}function _e(){return H("")}function j(t,e,n,l){return t.addEventListener(e,n,l),()=>t.removeEventListener(e,n,l)}function Be(t){return function(e){return e.preventDefault(),t.call(this,e)}}function h(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function He(t){return Array.from(t.childNodes)}function x(t,e){e=""+e,t.data!==e&&(t.data=e)}function Q(t,e){t.value=e??""}function ve(t,e,n){for(let l=0;l<t.options.length;l+=1){const s=t.options[l];if(s.__value===e){s.selected=!0;return}}(!n||e!==void 0)&&(t.selectedIndex=-1)}function Xe(t){const e=t.querySelector(":checked");return e&&e.__value}function se(t,e,n){t.classList.toggle(e,!!n)}let ee;function $(t){ee=t}function de(){if(!ee)throw new Error("Function called outside component initialization");return ee}function je(t){de().$$.on_mount.push(t)}function Ke(t,e){return de().$$.context.set(t,e),e}function ue(t){return de().$$.context.get(t)}const G=[],te=[];let V=[];const fe=[],ze=Promise.resolve();let ce=!1;function Ge(){ce||(ce=!0,ze.then(Fe))}function oe(t){V.push(t)}function Ve(t){fe.push(t)}const ie=new Set;let z=0;function Fe(){if(z!==0)return;const t=ee;do{try{for(;z<G.length;){const e=G[z];z++,$(e),We(e.$$)}}catch(e){throw G.length=0,z=0,e}for($(null),G.length=0,z=0;te.length;)te.pop()();for(let e=0;e<V.length;e+=1){const n=V[e];ie.has(n)||(ie.add(n),n())}V.length=0}while(G.length);for(;fe.length;)fe.pop()();ce=!1,ie.clear(),$(t)}function We(t){if(t.fragment!==null){t.update(),B(t.before_update);const e=t.dirty;t.dirty=[-1],t.fragment&&t.fragment.p(t.ctx,e),t.after_update.forEach(oe)}}function Je(t){const e=[],n=[];V.forEach(l=>t.indexOf(l)===-1?e.push(l):n.push(l)),n.forEach(l=>l()),V=e}const le=new Set;let X;function Se(){X={r:0,c:[],p:X}}function Te(){X.r||B(X.c),X=X.p}function P(t,e){t&&t.i&&(le.delete(t),t.i(e))}function W(t,e,n,l){if(t&&t.o){if(le.has(t))return;le.add(t),X.c.push(()=>{le.delete(t),l&&(n&&t.d(1),l())}),t.o(e)}else l&&l()}function Y(t){return(t==null?void 0:t.length)!==void 0?t:Array.from(t)}function Qe(t,e){t.d(1),e.delete(t.key)}function Ye(t,e,n,l,s,i,o,r,u,_,p,c){let d=t.length,w=i.length,a=d;const m={};for(;a--;)m[t[a].key]=a;const k=[],N=new Map,L=new Map,E=[];for(a=w;a--;){const y=c(s,i,a),A=n(y);let M=o.get(A);M?l&&E.push(()=>M.p(y,e)):(M=_(A,y),M.c()),N.set(A,k[a]=M),A in m&&L.set(A,Math.abs(a-m[A]))}const q=new Set,C=new Set;function D(y){P(y,1),y.m(r,p),o.set(y.key,y),p=y.first,w--}for(;d&&w;){const y=k[w-1],A=t[d-1],M=y.key,T=A.key;y===A?(p=y.first,d--,w--):N.has(T)?!o.has(M)||q.has(M)?D(y):C.has(T)?d--:L.get(M)>L.get(T)?(C.add(M),D(y)):(q.add(T),d--):(u(A,o),d--)}for(;d--;){const y=t[d];N.has(y.key)||u(y,o)}for(;w;)D(k[w-1]);return B(E),k}function Ze(t,e,n){const l=t.$$.props[e];l!==void 0&&(t.$$.bound[l]=n,n(t.$$.ctx[l]))}function Re(t){t&&t.c()}function pe(t,e,n){const{fragment:l,after_update:s}=t.$$;l&&l.m(e,n),oe(()=>{const i=t.$$.on_mount.map(Me).filter(Ue);t.$$.on_destroy?t.$$.on_destroy.push(...i):B(i),t.$$.on_mount=[]}),s.forEach(oe)}function he(t,e){const n=t.$$;n.fragment!==null&&(Je(n.after_update),B(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function $e(t,e){t.$$.dirty[0]===-1&&(G.push(t),Ge(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<<e%31}function ge(t,e,n,l,s,i,o=null,r=[-1]){const u=ee;$(t);const _=t.$$={fragment:null,ctx:[],props:i,update:F,not_equal:s,bound:ye(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(e.context||(u?u.$$.context:[])),callbacks:ye(),dirty:r,skip_bound:!1,root:e.target||u.$$.root};o&&o(_.root);let p=!1;if(_.ctx=n?n(t,e.props||{},(c,d,...w)=>{const a=w.length?w[0]:d;return _.ctx&&s(_.ctx[c],_.ctx[c]=a)&&(!_.skip_bound&&_.bound[c]&&_.bound[c](a),p&&$e(t,c)),d}):[],_.update(),p=!0,B(_.before_update),_.fragment=l?l(_.ctx):!1,e.target){if(e.hydrate){const c=He(e.target);_.fragment&&_.fragment.l(c),c.forEach(O)}else _.fragment&&_.fragment.c();e.intro&&P(t.$$.fragment),pe(t,e.target,e.anchor),Fe()}$(u)}class me{constructor(){re(this,"$$");re(this,"$$set")}$destroy(){he(this,1),this.$destroy=F}$on(e,n){if(!Ue(n))return F;const l=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return l.push(n),()=>{const s=l.indexOf(n);s!==-1&&l.splice(s,1)}}$set(e){this.$$set&&!Pe(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const xe="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(xe);function et(t){let e,n,l,s,i,o,r,u=(t[0].from_name||" ")+"",_,p,c,d=t[0].html+"",w,a,m=t[1][t[0].group_id][1]+"",k,N,L,E,q;return{c(){e=v("div"),n=v("img"),i=R(),o=v("div"),r=v("div"),_=H(u),p=R(),c=v("div"),w=R(),a=v("div"),k=H(m),N=R(),L=v("a"),E=v("time"),q=H(t[3]),h(n,"class","avatar svelte-trlp67"),J(n.src,l=ue("LUOXU_URL")+"/avatar/"+t[0].from_id+".jpg")||h(n,"src",l),h(n,"height","64"),h(n,"width","64"),h(n,"alt",s=t[0].from_name+" 的头像"),h(r,"class","name svelte-trlp67"),h(c,"class","text svelte-trlp67"),h(E,"datetime",t[4]),h(E,"title",t[2]),h(L,"href",t[5]),h(L,"class","svelte-trlp67"),h(a,"class","time svelte-trlp67"),h(o,"class","content svelte-trlp67"),h(e,"class","message svelte-trlp67")},m(C,D){U(C,e,D),g(e,n),g(e,i),g(e,o),g(o,r),g(r,_),g(o,p),g(o,c),c.innerHTML=d,g(o,w),g(o,a),g(a,k),g(a,N),g(a,L),g(L,E),g(E,q)},p(C,[D]){D&1&&!J(n.src,l=ue("LUOXU_URL")+"/avatar/"+C[0].from_id+".jpg")&&h(n,"src",l),D&1&&s!==(s=C[0].from_name+" 的头像")&&h(n,"alt",s),D&1&&u!==(u=(C[0].from_name||" ")+"")&&x(_,u),D&1&&d!==(d=C[0].html+"")&&(c.innerHTML=d),D&3&&m!==(m=C[1][C[0].group_id][1]+"")&&x(k,m)},i:F,o:F,d(C){C&&O(e)}}}function tt(t,e){const n={year:31536e6,month:2628e6,day:864e5,hour:36e5,minute:6e4,second:1e3},l=new Intl.RelativeTimeFormat,s=t.valueOf()-e.valueOf();for(const[i,o]of Object.entries(n))if(Math.abs(s)>o||i==="second")return l.format(Math.round(s/o),i)}function nt(t,e,n){let{msg:l}=e,{groupinfo:s}=e,{now:i}=e;const r=new Intl.DateTimeFormat(void 0,{timeStyle:"full",dateStyle:"full",hour12:!1}).format;let u=new Date(l.t*1e3),_=l.edited?new Date(l.edited*1e3):null,p=r(u)+(_?`
|
||
最后编辑于:${r(_)}`:""),c=tt(u,i),d=u.toISOString(),w=s[l.group_id][0]?`https://t.me/${s[l.group_id][0]}/${l.id}`:`tg://privatepost?channel=${l.group_id}&post=${l.id}`;return t.$$set=a=>{"msg"in a&&n(0,l=a.msg),"groupinfo"in a&&n(1,s=a.groupinfo),"now"in a&&n(6,i=a.now)},[l,s,p,c,d,w,i]}class lt extends me{constructor(e){super(),ge(this,e,nt,et,ae,{msg:0,groupinfo:1,now:6})}}function ke(t,e,n){const l=t.slice();return l[25]=e[n],l[27]=n,l}function Ee(t,e){let n,l,s,i=e[25][1]+"",o,r,u,_;return{key:t,first:null,c(){n=v("li"),l=v("img"),o=H(i),r=R(),J(l.src,s=e[6]+"/avatar/"+e[25][0]+".jpg")||h(l,"src",s),h(l,"alt","avatar"),h(l,"class","svelte-1xopsdo"),h(n,"data-idx",u=e[27]),h(n,"title",_=e[25][1]),h(n,"class","svelte-1xopsdo"),se(n,"selected",e[27]===e[1]),this.first=n},m(p,c){U(p,n,c),g(n,l),g(n,o),g(n,r)},p(p,c){e=p,c&4&&!J(l.src,s=e[6]+"/avatar/"+e[25][0]+".jpg")&&h(l,"src",s),c&4&&i!==(i=e[25][1]+"")&&x(o,i),c&4&&u!==(u=e[27])&&h(n,"data-idx",u),c&4&&_!==(_=e[25][1])&&h(n,"title",_),c&6&&se(n,"selected",e[27]===e[1])},d(p){p&&O(n)}}}function st(t){let e,n,l,s,i,o,r,u=[],_=new Map,p,c,d=Y(t[2]);const w=a=>a[25];for(let a=0;a<d.length;a+=1){let m=ke(t,d,a),k=w(m);_.set(k,u[a]=Ee(k,m))}return{c(){e=v("div"),n=v("input"),l=R(),s=v("img"),o=R(),r=v("ul");for(let a=0;a<u.length;a+=1)u[a].c();h(n,"type","text"),h(n,"class","svelte-1xopsdo"),h(s,"class","selected-avatar svelte-1xopsdo"),h(s,"alt",""),J(s.src,i=t[6]+"/avatar/"+(t[0]?t[0]:"nobody")+".jpg")||h(s,"src",i),h(r,"class","svelte-1xopsdo"),se(r,"hidden",t[2].length===0||t[5]),h(e,"id","namebox"),h(e,"class","svelte-1xopsdo")},m(a,m){U(a,e,m),g(e,n),t[14](n),g(e,l),g(e,s),g(e,o),g(e,r);for(let k=0;k<u.length;k+=1)u[k]&&u[k].m(r,null);t[18](r),p||(c=[j(window,"resize",t[7]),j(n,"input",t[15]),j(n,"focus",t[16]),j(n,"blur",t[17]),j(n,"keydown",t[11]),j(r,"click",t[9]),j(r,"mousedown",Be(ot))],p=!0)},p(a,[m]){m&1&&!J(s.src,i=a[6]+"/avatar/"+(a[0]?a[0]:"nobody")+".jpg")&&h(s,"src",i),m&70&&(d=Y(a[2]),u=Ye(u,m,w,1,a,d,_,r,Qe,Ee,null,ke)),m&36&&se(r,"hidden",a[2].length===0||a[5])},i:F,o:F,d(a){a&&O(e),t[14](null);for(let m=0;m<u.length;m+=1)u[m].d();t[18](null),p=!1,B(c)}}}const ot=()=>{};function rt(t,e,n){let{group:l}=e,{selected:s}=e,{selected_init:i}=e,o="",r,u,_=[],p=ue("LUOXU_URL"),c,d,w=!1,a=new AbortController;je(()=>{const f=c.getBoundingClientRect();n(4,d.style.top=`${f.height-1}px`,d),n(4,d.style.width=`${f.width-2}px`,d)});function m(){const f=c.getBoundingClientRect();n(4,d.style.width=`${f.width-2}px`,d)}function k(){u&&clearTimeout(u),u=setTimeout(function(){N()},300)}async function N(){if(c.value){n(1,r=null),a.abort(),a=new AbortController;try{const b=await(await fetch(`${p}/names?g=${l}&q=${c.value}`,{signal:a.signal})).json();a.signal.aborted||n(2,_=b.names)}catch(f){f instanceof DOMException&&f.name==="AbortError"||console.error(f)}}}function L(f){let b=f.target;b.tagName==="IMG"&&(b=b.parentNode),b.tagName=="LI"&&(n(1,r=parseInt(b.dataset.idx)),E(),c.focus(),n(5,w=!0))}function E(){n(0,s=_[r][0]),o=_[r][1],n(3,c.value=o,c),n(12,i=null)}function q(){!s||s===i||(c.value?n(3,c.value=o,c):(n(0,s=i),o=""))}function C(f){f.key==="ArrowDown"||f.key==="n"&&f.altKey?(D(1),f.preventDefault()):f.key==="ArrowUp"||f.key==="p"&&f.altKey?(D(-1),f.preventDefault()):f.key==="Enter"&&(E(),f.preventDefault())}function D(f){typeof r=="number"?f>0?n(1,r=(r+1)%_.length):n(1,r=(r-1)%_.length):f>0?n(1,r=0):n(1,r=_.length-1)}function y(f){te[f?"unshift":"push"](()=>{c=f,n(3,c)})}const A=()=>{n(5,w=!1),k()},M=()=>n(5,w=!1),T=()=>{n(5,w=!0),q()};function S(f){te[f?"unshift":"push"](()=>{d=f,n(4,d)})}return t.$$set=f=>{"group"in f&&n(13,l=f.group),"selected"in f&&n(0,s=f.selected),"selected_init"in f&&n(12,i=f.selected_init)},[s,r,_,c,d,w,p,m,k,L,q,C,i,l,y,A,M,T,S]}class it extends me{constructor(e){super(),ge(this,e,rt,st,ae,{group:13,selected:0,selected_init:12})}}function ut(t){return new Promise((n,l)=>{setTimeout(n,t)})}function Le(t,e,n){const l=t.slice();return l[25]=e[n],l}function Ce(t,e,n){const l=t.slice();return l[2]=e[n],l}function ft(t){let e,n,l,s,i=t[10]&&at(),o=Y(t[0]),r=[];for(let u=0;u<o.length;u+=1)r[u]=De(Ce(t,o,u));return{c(){e=v("select"),i&&i.c(),n=_e();for(let u=0;u<r.length;u+=1)r[u].c();h(e,"class","svelte-1rpa33b"),t[2]===void 0&&oe(()=>t[17].call(e))},m(u,_){U(u,e,_),i&&i.m(e,null),g(e,n);for(let p=0;p<r.length;p+=1)r[p]&&r[p].m(e,null);ve(e,t[2],!0),l||(s=[j(e,"change",t[17]),j(e,"change",t[13])],l=!0)},p(u,_){if(_&1){o=Y(u[0]);let p;for(p=0;p<o.length;p+=1){const c=Ce(u,o,p);r[p]?r[p].p(c,_):(r[p]=De(c),r[p].c(),r[p].m(e,null))}for(;p<r.length;p+=1)r[p].d(1);r.length=o.length}_&5&&ve(e,u[2])},d(u){u&&O(e),i&&i.d(),Ne(r,u),l=!1,B(s)}}}function ct(t){let e,n;return{c(){e=v("select"),n=v("option"),n.textContent="正在加载群组信息...",n.selected=!0,n.__value="正在加载群组信息...",Q(n,n.__value),h(e,"class","svelte-1rpa33b")},m(l,s){U(l,e,s),g(e,n)},p:F,d(l){l&&O(e)}}}function at(t){let e;return{c(){e=v("option"),e.textContent="全部",e.__value="",Q(e,e.__value)},m(n,l){U(n,e,l)},d(n){n&&O(e)}}}function De(t){let e,n=t[2].name+"",l,s;return{c(){e=v("option"),l=H(n),e.__value=s=t[2].group_id,Q(e,e.__value)},m(i,o){U(i,e,o),g(e,l)},p(i,o){o&1&&n!==(n=i[2].name+"")&&x(l,n),o&1&&s!==(s=i[2].group_id)&&(e.__value=s,Q(e,e.__value))},d(i){i&&O(e)}}}function _t(t){let e;return{c(){e=v("div"),e.innerHTML=`<p>搜索消息时,搜索字符串不区分简繁(会使用 OpenCC
|
||
自动转换),也不进行分词(请手动将可能不连在一起的词语以空格分开)。</p> <p>搜索字符串支持以下功能:</p> <ul><li>以空格分开的多个搜索词是「与」的关系</li> <li>使用 OR(全大写)来表达「或」条件</li> <li>使用 - 来表达排除,如 落絮 - 测试</li> <li>使用小括号来分组</li></ul> <p>人名补全支持上下方向键和 Alt+N/P 进行选择。</p> <p>搜索结果右下角的时间,悬停可查看绝对时间、最后编辑时间(如编辑过),点击可跳转到
|
||
Telegram 中展示该消息。</p>`},m(n,l){U(n,e,l)},p:F,i:F,o:F,d(n){n&&O(e)}}}function dt(t){let e,n,l=Y(t[4].messages),s=[];for(let o=0;o<l.length;o+=1)s[o]=Oe(Le(t,l,o));const i=o=>W(s[o],1,1,()=>{s[o]=null});return{c(){for(let o=0;o<s.length;o+=1)s[o].c();e=_e()},m(o,r){for(let u=0;u<s.length;u+=1)s[u]&&s[u].m(o,r);U(o,e,r),n=!0},p(o,r){if(r&48){l=Y(o[4].messages);let u;for(u=0;u<l.length;u+=1){const _=Le(o,l,u);s[u]?(s[u].p(_,r),P(s[u],1)):(s[u]=Oe(_),s[u].c(),P(s[u],1),s[u].m(e.parentNode,e))}for(Se(),u=l.length;u<s.length;u+=1)i(u);Te()}},i(o){if(!n){for(let r=0;r<l.length;r+=1)P(s[r]);n=!0}},o(o){s=s.filter(Boolean);for(let r=0;r<s.length;r+=1)W(s[r]);n=!1},d(o){o&&O(e),Ne(s,o)}}}function Oe(t){let e,n;return e=new lt({props:{msg:t[25],groupinfo:t[4].groupinfo,now:t[5]}}),{c(){Re(e.$$.fragment)},m(l,s){pe(e,l,s),n=!0},p(l,s){const i={};s&16&&(i.msg=l[25]),s&16&&(i.groupinfo=l[4].groupinfo),s&32&&(i.now=l[5]),e.$set(i)},i(l){n||(P(e.$$.fragment,l),n=!0)},o(l){W(e.$$.fragment,l),n=!1},d(l){he(e,l)}}}function pt(t){let e,n;function l(r,u){if(r[3])return bt;if(r[4]&&r[4].messages.length===0)return mt;if(r[4]&&!r[4].has_more)return gt}let s=l(t),i=s&&s(t),o=t[4]&&t[4].has_more&&Ae(t);return{c(){i&&i.c(),e=R(),o&&o.c(),n=_e()},m(r,u){i&&i.m(r,u),U(r,e,u),o&&o.m(r,u),U(r,n,u)},p(r,u){s===(s=l(r))&&i?i.p(r,u):(i&&i.d(1),i=s&&s(r),i&&(i.c(),i.m(e.parentNode,e))),r[4]&&r[4].has_more?o?o.p(r,u):(o=Ae(r),o.c(),o.m(n.parentNode,n)):o&&(o.d(1),o=null)},d(r){r&&(O(e),O(n)),i&&i.d(r),o&&o.d(r)}}}function ht(t){let e;return{c(){e=v("div"),e.innerHTML='<p class="svelte-1rpa33b">正在加载...</p>',h(e,"class","info svelte-1rpa33b")},m(n,l){U(n,e,l)},p:F,d(n){n&&O(e)}}}function gt(t){let e;return{c(){e=v("div"),e.innerHTML='<p class="svelte-1rpa33b">到底了。</p>',h(e,"class","info svelte-1rpa33b")},m(n,l){U(n,e,l)},p:F,d(n){n&&O(e)}}}function mt(t){let e;return{c(){e=v("div"),e.innerHTML='<p class="svelte-1rpa33b">没有匹配的消息。</p>',h(e,"class","info svelte-1rpa33b")},m(n,l){U(n,e,l)},p:F,d(n){n&&O(e)}}}function bt(t){let e,n;return{c(){e=v("p"),n=H(t[3]),h(e,"class","error svelte-1rpa33b")},m(l,s){U(l,e,s),g(e,n)},p(l,s){s&8&&x(n,l[3])},d(l){l&&O(e)}}}function Ae(t){let e,n,l,s;return{c(){e=v("div"),n=v("button"),n.textContent="加载更多",h(n,"class","svelte-1rpa33b"),h(e,"class","info svelte-1rpa33b")},m(i,o){U(i,e,o),g(e,n),l||(s=j(n,"click",t[14]),l=!0)},p:F,d(i){i&&O(e),l=!1,s()}}}function wt(t){let e,n,l,s,i,o,r,u,_,p,c,d,w,a,m,k;function N(f,b){return f[0].length===0?ct:ft}let L=N(t),E=L(t);function q(f){t[21](f)}let C={group:t[2],selected_init:t[8]};t[7]!==void 0&&(C.selected=t[7]),o=new it({props:C}),te.push(()=>Ze(o,"selected",q));const D=[dt,_t],y=[];function A(f,b){return f[4]?0:!f[6]&&!f[3]?1:-1}~(c=A(t))&&(d=y[c]=D[c](t));function M(f,b){return f[6]?ht:pt}let T=M(t),S=T(t);return{c(){e=v("main"),n=v("div"),E.c(),l=R(),s=v("input"),i=R(),Re(o.$$.fragment),u=R(),_=v("button"),_.textContent="搜索",p=R(),d&&d.c(),w=R(),S.c(),h(s,"type","search"),h(s,"class","svelte-1rpa33b"),h(_,"class","svelte-1rpa33b"),h(n,"id","searchbox"),h(n,"class","svelte-1rpa33b"),h(e,"class","svelte-1rpa33b")},m(f,b){U(f,e,b),g(e,n),E.m(n,null),g(n,l),g(n,s),Q(s,t[1]),g(n,i),pe(o,n,null),g(n,u),g(n,_),g(e,p),~c&&y[c].m(e,null),g(e,w),S.m(e,null),a=!0,m||(k=[j(window,"hashchange",t[16]),j(s,"input",t[18]),j(s,"input",t[19]),j(s,"keydown",t[20]),j(_,"click",t[22])],m=!0)},p(f,[b]){L===(L=N(f))&&E?E.p(f,b):(E.d(1),E=L(f),E&&(E.c(),E.m(n,l))),b&2&&s.value!==f[1]&&Q(s,f[1]);const I={};b&4&&(I.group=f[2]),b&256&&(I.selected_init=f[8]),!r&&b&128&&(r=!0,I.selected=f[7],Ve(()=>r=!1)),o.$set(I);let K=c;c=A(f),c===K?~c&&y[c].p(f,b):(d&&(Se(),W(y[K],1,1,()=>{y[K]=null}),Te()),~c?(d=y[c],d?d.p(f,b):(d=y[c]=D[c](f),d.c()),P(d,1),d.m(e,w)):d=null),T===(T=M(f))&&S?S.p(f,b):(S.d(1),S=T(f),S&&(S.c(),S.m(e,null)))},i(f){a||(P(o.$$.fragment,f),P(d),a=!0)},o(f){W(o.$$.fragment,f),W(d),a=!1},d(f){f&&O(e),E.d(),he(o),~c&&y[c].d(),S.d(),m=!1,B(k)}}}const Z="https://search-pub.xtaolabs.com/luoxu";function yt(){const t=location.hash;if(t)return new URLSearchParams(t.substring(1))}function vt(t,e,n){const l=Z.startsWith("http://localhost");let s=[],i,o,r,u,_=new Date,p=!1,c=!1,d,w,a=!1,m=new AbortController;Ke("LUOXU_URL",Z),je(async()=>{for(k();;)try{const f=await fetch(`${Z}/groups`);n(0,s=(await f.json()).groups),n(15,c=!0),i||n(2,i="");break}catch(f){console.error("failed to fetch group info, will retry",f),await ut(1e3)}});function k(){const f=yt();f&&(n(1,o=""),n(2,i=""),n(4,u=null),f.has("g")&&n(2,i=f.get("g")),f.has("q")&&n(1,o=f.get("q")),f.has("sender")&&(n(7,d=f.get("sender")),n(8,w=d)),(i||l)&&o&&(n(4,u=null),L()))}let N=0;async function L(f){N+=1;try{if(m.abort(),m=new AbortController,!i&&!l){n(3,r="请选择要搜索的群组");return}if(!o&&!l&&!d){n(3,r="请输入搜索关键字");return}n(3,r=""),n(9,a=!0),console.log(`searching ${o} for group ${i}, older than ${f}, from ${d}`);const b=new URLSearchParams;i&&b.append("g",i),o&&b.append("q",o),d&&b.append("sender",d);let I;const K=b.toString();f?I=`${Z}/search?${b}&end=${f}`:(location.hash=`#${K}`,n(15,c=!0),u&&n(4,u.messages=[],u),I=`${Z}/search?${K}`),n(5,_=new Date),n(6,p=!0);try{const we=await(await fetch(I,{signal:m.signal})).json();if(n(6,p=!1),m.signal.aborted)return[];if(f)return we;n(4,u=we)}catch(be){N<=1&&(n(3,r=be),n(6,p=!1))}n(9,a=!1)}finally{N-=1}}async function E(){n(3,r=""),o&&await L()}async function q(){const f=u.messages[u.messages.length-1].t,b=u.messages,I=await L(f);n(4,u.messages=[...b,...I.messages],u),n(4,u.has_more=I.has_more,u)}const C=()=>{a||k()};function D(){i=Xe(this),n(2,i),n(0,s)}function y(){o=this.value,n(1,o)}const A=()=>n(3,r=""),M=f=>{f.key==="Enter"&&L()};function T(f){d=f,n(7,d)}const S=()=>L();return t.$$.update=()=>{if(t.$$.dirty&32775&&c&&s){let f;for(const b of s)b.group_id===i&&(f=b.name);o&&f?document.title=`搜索:${o} 于 ${f} - 落絮`:o?document.title=`搜索:${o} - 落絮`:f?document.title=`搜索 ${f} - 落絮`:document.title="落絮",n(15,c=!1)}},[s,o,i,r,u,_,p,d,w,a,l,k,L,E,q,c,C,D,y,A,M,T,S]}class kt extends me{constructor(e){super(),ge(this,e,vt,wt,ae,{})}}new kt({target:document.body});
|