// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-3.0-or-later
// @source: https://gitlab.com/soapbox-pub/ditto/-/tree/f0a3877c
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{qi as t}from"./lucide-icons-BdRF0moN.js";import{t as n}from"./dist-DQ82bf9M.js";import{h as r,t as i}from"./useQuery-rCAlChE8.js";import{t as a}from"./useMutation-CgsR0O-3.js";import{t as o}from"./fetchFreshEvent-Kkz3MzZN.js";import{t as s}from"./useCurrentUser-C6OJJlWo.js";import{t as c}from"./useNostrPublish-CrMjnYm4.js";import{t as l}from"./parseAddr-BmO3JZWT.js";var u=e(t(),1),d=30030,f=10030;function p(e,t){return`${d}:${e}:${t}`}function m(e){return e.tags.find(e=>e[0]===`title`)?.[1]||e.tags.find(e=>e[0]===`name`)?.[1]||e.tags.find(e=>e[0]===`d`)?.[1]||`Emoji pack`}function h(e){return e.tags.find(e=>e[0]===`image`)?.[1]||e.tags.find(e=>e[0]===`picture`)?.[1]||void 0}function g(e){return e.tags.filter(e=>e[0]===`emoji`&&e[1]&&e[2]).map(e=>({shortcode:e[1],url:e[2]}))}function _(e){let{nostr:t}=n(),{user:r}=s(),{data:a}=i({queryKey:[`emoji-list`,r?.pubkey],queryFn:async({signal:e})=>r?(await t.query([{kinds:[10030],authors:[r.pubkey],limit:1}],{signal:e}))[0]??null:null,enabled:!!r,staleTime:6e4});return(0,u.useMemo)(()=>!e||!a?!1:a.tags.some(([t,n])=>t===`a`&&n===e),[e,a])}function v(){let{nostr:e}=n(),{user:t}=s(),{mutateAsync:i}=c(),l=r();return a({mutationFn:async({pubkey:n,identifier:r})=>{if(!t)throw Error(`Sign in to add an emoji pack.`);let a=p(n,r),s=await o(e,{kinds:[f],authors:[t.pubkey]}),c=s?.tags.filter(([e])=>e===`emoji`||e===`a`)??[];c.some(([e,t])=>e===`a`&&t===a)||(await i({kind:f,content:s?.content??``,tags:[...c,[`a`,a]],prev:s??void 0}),l.invalidateQueries({queryKey:[`emoji-list`]}),l.invalidateQueries({queryKey:[`custom-emojis`]}),l.invalidateQueries({queryKey:[`emoji-pack-index`]}),l.invalidateQueries({queryKey:[`my-emoji-packs`]}))}})}function y(){let{nostr:e}=n(),{user:t}=s();return i({queryKey:[`my-emoji-packs`,t?.pubkey??``],enabled:!!t,staleTime:6e4,queryFn:async({signal:n})=>{if(!t)return[];let r=(await e.query([{kinds:[f],authors:[t.pubkey],limit:1}],{signal:n}))[0];if(!r)return[];let i=r.tags.filter(e=>e[0]===`a`&&e[1]).map(e=>({coord:e[1],addr:l(e[1])})).filter(e=>!!e.addr&&e.addr.kind===30030);if(i.length===0)return[];let a=i.map(e=>({kinds:[d],authors:[e.addr.pubkey],"#d":[e.addr.identifier],limit:1})),o=await e.query(a,{signal:n}).catch(()=>[]),s=new Map;for(let e of o){let t=e.tags.find(([e])=>e===`d`)?.[1]??``,n=p(e.pubkey,t),r=s.get(n);(!r||e.created_at>r.created_at)&&s.set(n,e)}return i.map(e=>({coord:e.coord,event:s.get(e.coord)??null}))}})}function b(){let{nostr:e}=n(),{user:t}=s();return i({queryKey:[`my-published-packs`,t?.pubkey??``],enabled:!!t,staleTime:6e4,queryFn:async({signal:n})=>{if(!t)return[];let r=await e.query([{kinds:[d],authors:[t.pubkey],limit:100}],{signal:n}),i=new Map;for(let e of r){let t=e.tags.find(([e])=>e===`d`)?.[1]??``,n=p(e.pubkey,t),r=i.get(n);(!r||e.created_at>r.created_at)&&i.set(n,e)}return Array.from(i.entries()).map(([e,t])=>({coord:e,event:t})).sort((e,t)=>(t.event?.created_at??0)-(e.event?.created_at??0))}})}function x(){let{nostr:e}=n(),{user:t}=s(),{mutateAsync:i}=c(),l=r();return a({mutationFn:async({coord:n})=>{if(!t)throw Error(`Sign in to manage emoji packs.`);let r=await o(e,{kinds:[f],authors:[t.pubkey]});if(!r||!r.tags.some(([e,t])=>e===`a`&&t===n))return;let a=r.tags.filter(e=>!(e[0]===`a`&&e[1]===n));await i({kind:f,content:r.content,tags:a,prev:r}),l.invalidateQueries({queryKey:[`emoji-list`]}),l.invalidateQueries({queryKey:[`custom-emojis`]}),l.invalidateQueries({queryKey:[`emoji-pack-index`]}),l.invalidateQueries({queryKey:[`my-emoji-packs`]})}})}export{m as a,_ as c,x as d,g as i,y as l,f as n,h as o,p as r,v as s,d as t,b as u};
// @license-end
