import{a as e,s as t}from"./useAuthor-K0SVHIbr.js";import{n}from"./appRelays-Duq5P3DM.js";import{t as r}from"./sanitizeUrl-Bd1A9ELz.js";function i(e){let t=e.tags.find(([e])=>e===`d`)?.[1],n=e.tags.find(([e])=>e===`title`)?.[1],i=e.tags.find(([e])=>e===`challenge-type`)?.[1],a=e.tags.find(([e])=>e===`bounty`)?.[1],o=e.tags.filter(([e,t])=>e===`t`&&!!t).map(([,e])=>e).filter(e=>![`agora-action`,`pathos-challenge`,`agora-challenge`].includes(e)),s=(()=>{let t=e.tags.find(([e])=>e===`i`)?.[1],n=e.tags.find(([e])=>e===`location`)?.[1];if(t){if(t.startsWith(`iso3166:`))return t.slice(8).toUpperCase();if(t.startsWith(`geo:`)&&t.length===6)return t.slice(4).toUpperCase()}if(n)return n.toUpperCase()})(),c=e.tags.find(([e])=>e===`start`)?.[1],l=e.tags.find(([e])=>e===`deadline`)?.[1],u=e.tags.find(([e])=>e===`image`)?.[1],d=r(u),f=u&&!d?`Invalid image URL in event (only https URLs are allowed).`:void 0;if(!t||!n||!a)return null;let p=i??`action`;if(![`photo`,`art`,`info`,`action`].includes(p))return null;let m;if(c){let t=parseInt(c,10);m=!isNaN(t)&&t>0?t:e.created_at}else m=e.created_at;let h;if(l){let e=parseInt(l,10);h=!isNaN(e)&&e>0?e:void 0}return{event:e,id:t,title:n,description:e.content,type:p,tags:o,bounty:parseInt(a,10)||0,countryCode:s,startTime:m,deadline:h,image:d,imageRaw:u,imageError:f,pubkey:e.pubkey,createdAt:e.created_at}}function a({countryCode:r,limit:a=50,authors:o,coordinates:s,enabled:c=!0}={}){let{nostr:l}=e(),u=l.relay(n),d=o?[...o].sort().join(`,`):void 0,f=s?[...s].sort().join(`,`):void 0;return t({queryKey:[`agora-actions`,r,a,d,f],enabled:c,queryFn:async e=>{if(s&&s.length===0)return[];let t=AbortSignal.any([e.signal,AbortSignal.timeout(5e3)]),n,c=r?[`iso3166:${r.toUpperCase()}`,`geo:${r.toUpperCase()}`]:void 0;if(s&&s.length>0){let e=new Map;for(let t of s){let n=t.split(`:`);if(n.length<3||Number(n[0])!==36639)continue;let r=n[1],i=n.slice(2).join(`:`);if(!r||!i)continue;let a=e.get(r)??[];a.push(i),e.set(r,a)}if(n=Array.from(e,([e,t])=>{let n={kinds:[36639],authors:[e],"#d":t};return c&&(n[`#i`]=c),n}),n.length===0)return[]}else{let e={kinds:[36639],"#t":[`agora-action`,`pathos-challenge`,`agora-challenge`],limit:a};c&&(e[`#i`]=c),o&&o.length>0&&(e.authors=o),n=[e]}let l=(await u.query(n,{signal:t})).map(i).filter(e=>e!==null).filter(e=>!r||e.countryCode===r.toUpperCase()),d=new Map;for(let e of l){let t=`${e.pubkey}:${e.id}`,n=d.get(t);(!n||e.createdAt>n.createdAt)&&d.set(t,e)}let f=Array.from(d.values()),p=Date.now()/1e3,m=[],h=[],g=[];return f.forEach(e=>{(e.startTime??e.createdAt)>p?m.push(e):!e.deadline||e.deadline>p?h.push(e):g.push(e)}),m.sort((e,t)=>(e.startTime??e.createdAt)-(t.startTime??t.createdAt)),h.sort((e,t)=>t.bounty===e.bounty?t.createdAt-e.createdAt:t.bounty-e.bounty),g.sort((e,t)=>(t.deadline??0)-(e.deadline??0)),[...h,...m,...g]},staleTime:6e4,refetchInterval:12e4})}function o(r,a){let{nostr:o}=e(),s=o.relay(n);return t({queryKey:[`agora-action`,r,a],queryFn:async e=>{if(!r||!a)return null;let t=AbortSignal.any([e.signal,AbortSignal.timeout(3e3)]),n=await s.query([{kinds:[36639],authors:[r],"#d":[a],limit:1}],{signal:t});return n.length===0?null:i(n[0])},enabled:!!r&&!!a,staleTime:3e5})}export{o as n,a as r,i as t};