import{t as e}from"./dist-DPmmj29U.js";import{t}from"./useQuery-CQCUTxAw.js";import{t as n}from"./nostrId-DcIQ4FCD.js";import{n as r,r as i}from"./customEmoji-kpim4Htm.js";import"./safeNip19-BZNpFefA.js";var a=[30617,30618,1617,1618,1619,1621,1630,1631,1632,1633],o=new Set([1617,1618,1619,1621,1630,1631,1632,1633]);function s(e){for(let[t,r,i]of e.tags){if(t!==`a`||!r?.startsWith(`30617:`))continue;let e=r.split(`:`);if(e.length<3)continue;let a=e[1];if(n(a))return{pubkey:a,identifier:e.slice(2).join(`:`),relay:i||void 0}}}function c(e){let t;for(let[r,i,a,o]of e.tags){if(r!==`e`&&r!==`E`||!n(i))continue;let e={id:i,relay:a||void 0};if(r===`E`||o===`root`)return e;t??=e}return t}function l(e){switch(e){case 1617:return`patch`;case 1618:return`pull request`;case 1621:return`issue`;default:return}}function u(e,t){switch(e){case 1630:return`reopened`;case 1631:switch(t){case 1617:return`applied`;case 1618:return`merged`;default:return`resolved`}case 1632:return`closed`;case 1633:return`draft`;default:return`updated`}}function d(e){let t=e.tags.find(([e])=>e===`subject`)?.[1]?.trim();if(t)return t;let n=e.content.split(` `);if(e.kind===1617){let e=n.slice(0,20).find(e=>e.startsWith(`Subject:`));if(e){let t=e.replace(/^Subject:\s*(\[PATCH[^\]]*\])?\s*/,``).trim();if(t)return t}}return n.find(e=>{let t=e.trim();return t.length>0&&!t.startsWith(`![`)})?.trim()||void 0}var f=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz#$%*+,-.:;=?@[]^_{|}~`.split(``),p=e=>{let t=0;for(let n=0;n{var n=``;for(let r=1;r<=t;r++){let i=Math.floor(e)/83**(t-r)%83;n+=f[Math.floor(i)]}return n},h=e=>{let t=e/255;return t<=.04045?t/12.92:((t+.055)/1.055)**2.4},g=e=>{let t=Math.max(0,Math.min(1,e));return Math.trunc(t<=.0031308?t*12.92*255+.5:(1.055*t**.4166666666666667-.055)*255+.5)},_=e=>e<0?-1:1,v=(e,t)=>_(e)*Math.abs(e)**+t,y=class extends Error{constructor(e){super(e),this.name=`ValidationError`,this.message=e}},b=e=>{if(!e||e.length<6)throw new y(`The blurhash string must be at least 6 characters`);let t=p(e[0]),n=Math.floor(t/9)+1,r=t%9+1;if(e.length!==4+2*r*n)throw new y(`blurhash length mismatch: length is ${e.length} but it should be ${4+2*r*n}`)},x=e=>{try{b(e)}catch(e){return{result:!1,errorReason:e.message}}return{result:!0}},S=e=>{let t=e>>16,n=e>>8&255,r=e&255;return[h(t),h(n),h(r)]},C=(e,t)=>{let n=Math.floor(e/361),r=Math.floor(e/19)%19,i=e%19;return[v((n-9)/9,2)*t,v((r-9)/9,2)*t,v((i-9)/9,2)*t]},w=(e,t,n,r)=>{b(e),r|=1;let i=p(e[0]),a=Math.floor(i/9)+1,o=i%9+1,s=(p(e[1])+1)/166,c=Array(o*a);for(let t=0;t{let i=0,a=0,o=0,s=t*T;for(let c=0;c{let t=g(e[0]),n=g(e[1]),r=g(e[2]);return(t<<16)+(n<<8)+r},O=(e,t)=>{let n=Math.floor(Math.max(0,Math.min(18,Math.floor(v(e[0]/t,.5)*9+9.5)))),r=Math.floor(Math.max(0,Math.min(18,Math.floor(v(e[1]/t,.5)*9+9.5)))),i=Math.floor(Math.max(0,Math.min(18,Math.floor(v(e[2]/t,.5)*9+9.5))));return n*19*19+r*19+i},k=(e,t,n,r,i)=>{if(r<1||r>9||i<1||i>9)throw new y(`BlurHash must have between 1 and 9 components`);if(t*n*4!==e.length)throw new y(`Width and height must match the pixels array`);let a=[];for(let o=0;or*Math.cos(Math.PI*i*e/t)*Math.cos(Math.PI*o*a/n));a.push(s)}let o=a[0],s=a.slice(1),c=``,l=r-1+(i-1)*9;c+=m(l,1);let u;if(s.length>0){let e=Math.max(...s.map(e=>Math.max(...e))),t=Math.floor(Math.max(0,Math.min(82,Math.floor(e*166-.5))));u=(t+1)/166,c+=m(t,1)}else u=1,c+=m(0,1);return c+=m(D(o),4),s.forEach(e=>{c+=m(O(e,u),2)}),c};function A(e){let t=e.tags.find(([e])=>e===`amount`);if(t?.[1]){let e=parseInt(t[1],10);if(!isNaN(e)&&e>0)return e}let n=e.tags.find(([e])=>e===`description`);if(n?.[1])try{let e=JSON.parse(n[1]).tags?.find(([e])=>e===`amount`);if(e?.[1]){let t=parseInt(e[1],10);if(!isNaN(t)&&t>0)return t}}catch{}let r=e.tags.find(([e])=>e===`bolt11`);if(r?.[1]){let e=j(r[1]);if(e>0)return e}return 0}function j(e){let t=e.toLowerCase().match(/^ln\w+?(\d+)([munp]?)1/);if(!t)return 0;let n=parseInt(t[1],10);if(isNaN(n))return 0;switch(t[2]){case`m`:return n*1e8;case`u`:return n*1e5;case`n`:return n*100;case`p`:return n/10;default:return n*1e11}}function M(e){let t=e.tags.find(([e])=>e===`P`);if(n(t?.[1]))return t[1];let r=e.tags.find(([e])=>e===`description`);if(r?.[1])try{let e=JSON.parse(r[1]);if(n(e?.pubkey))return e.pubkey}catch{}return``}function N(e){let t=e.tags.find(([e])=>e===`description`);if(t?.[1])try{return JSON.parse(t[1]).content||``}catch{}return``}function P(n){let{nostr:a}=e();return t({queryKey:[`event-interactions`,n??``],queryFn:async({signal:e})=>{if(!n)return{reposts:[],quotes:[],reactions:[],zaps:[]};let t=AbortSignal.timeout(5e3),o=AbortSignal.any([e,t]),s=await a.query([{kinds:[6,16,7,9735],"#e":[n],limit:50},{kinds:[1],"#q":[n],limit:20}],{signal:o}),c=s.filter(e=>e.kind!==1||e.tags.some(([e,t])=>e===`e`&&t===n)),l=s.filter(e=>e.kind===1&&e.tags.some(([e,t])=>e===`q`&&t===n)),u=[],d=[],f=[],p=[];for(let e of c)switch(e.kind){case 6:case 16:u.push({eventId:e.id,pubkey:e.pubkey,createdAt:e.created_at});break;case 7:{let t=e.content.trim(),n=t===`+`||t===``?`👍`:t,a=i(n),o=a?r(n,e.tags):void 0;if(a&&!o)break;f.push({eventId:e.id,pubkey:e.pubkey,emoji:n,emojiUrl:o,createdAt:e.created_at});break}case 9735:{let t=A(e),n=M(e);t>0&&n&&p.push({eventId:e.id,senderPubkey:n,amountSats:Math.floor(t/1e3),message:N(e),createdAt:e.created_at});break}}for(let e of l)d.push({pubkey:e.pubkey,eventId:e.id,content:e.content,createdAt:e.created_at});return u.sort((e,t)=>t.createdAt-e.createdAt),d.sort((e,t)=>t.createdAt-e.createdAt),f.sort((e,t)=>t.createdAt-e.createdAt),p.sort((e,t)=>t.amountSats-e.amountSats),{reposts:u,quotes:d,reactions:f,zaps:p}},enabled:!!n,staleTime:60*1e3})}export{x as a,o as c,c as d,d as f,P as i,a as l,l as m,N as n,k as o,u as p,M as r,w as s,A as t,s as u};