1import{$r as e,An as t,Bn as n,Dn as r,Ki as i,Ln as a,On as o,Rn as s,Tr as c,_n as l,at as u,dn as d,ii as f,jn as p,jr as m,ki as h,kn as g,ri as _,st as v,t as y,xi as b,zi as x}from"./CFVNwRlk.js";import{t as S}from"./Cr_fqBZ6.js";import{l as C,t as w}from"./B6EmTEzP.js";import{t as T}from"./Byd9clK5.js";import{t as E}from"./BeSZow46.js";import{o as D}from"./BFaxwK3l.js";import{t as O}from"./CsKgv5AX.js";import{E as k,l as ee,n as te,t as ne}from"./BJFQ5NBS.js";import{t as re}from"./4SSHuMkz.js";import{t as A}from"./MSVKDjr4.js";import{t as j}from"./D2AWb6V4.js";import{t as ie}from"./CxlxiXjB.js";import{t as M}from"./DFvo-ETr.js";import{s as ae,t as oe}from"./RmU1OzYN.js";import{t as se}from"./B1dgWRfW.js";import{t as ce}from"./BJ-PERVh.js";import{c as N,i as le,l as P}from"./Ba7Ekf4w.js";import{A as F,B as I,F as L,G as ue,H as R,I as de,L as z,M as B,N as V,P as fe,R as pe,W as me,j as he}from"#entry";import{t as ge}from"./CNs_Ozdc.js";import"./4wCff0co.js";import{t as _e}from"./7lF4hMse.js";import{t as ve}from"./Cu0m1XMP.js";import{t as ye}from"./DxeMBNkV.js";import{t as be}from"./Dtc79D1V.js";import{t as xe}from"./4Nj0u7yF.js";var Se=Object.assign(n({__name:`KindHelpLink`,props:{kind:{}},setup(n){let i=n,a=v(),o=r(()=>R(i.kind)),u=r(()=>o.value?`${o.value.label} help`:`Help`),d=h(!1);return e(()=>a.fullPath,()=>{d.value=!1}),(e,n)=>{let r=A,i=j,a=me,m=M;return x(o)?(c(),p(l,{key:0},[s(i,{text:x(u)},{default:f(()=>[s(r,{icon:`i-lucide-circle-help`,color:`neutral`,variant:x(d)?`soft`:`ghost`,size:`sm`,square:``,"aria-label":x(u),"aria-pressed":x(d),onClick:n[0]||=e=>d.value=!x(d)},null,8,[`variant`,`aria-label`,`aria-pressed`])]),_:1},8,[`text`]),s(m,{open:x(d),"onUpdate:open":n[2]||=e=>b(d)?d.value=e:null,title:`${x(o).label} help`,side:`right`,modal:!1,dismissible:!1},{body:f(()=>[s(a,{help:x(o),onClose:n[1]||=e=>d.value=!1},null,8,[`help`])]),_:1},8,[`open`,`title`])],64)):t(``,!0)}}}),{__name:`KindHelpLink`}),H={class:`space-y-6`},U={key:9,class:`text-sm border-t border-default pt-4`},Ce=Object.assign(n({__name:`KindPrefsLink`,props:{kind:{}},setup(n){let i=n,a=v(),{user:u,kinds:d}=O(),m=h(!1),_=r(()=>i.kind===`tags`||D(i.kind,u.value,d.value)),y=r(()=>i.kind===`quote`?`Quote settings`:i.kind===`post`?`Blog settings`:i.kind===`poll`?`Poll settings`:i.kind===`source`?`Source settings`:i.kind===`media`?`Media settings`:i.kind===`torrent`?`Torrent settings`:i.kind===`gallery`?`Gallery settings`:i.kind===`tags`?`Tags settings`:`Chat settings`),S=T(`fec-settings-open`,()=>!1);e(()=>a.fullPath,()=>{m.value=!1});function C(){m.value=!1,S.value=!0}return(e,r)=>{let i=A,a=j,d=I,h=z,v=de,S=L,w=fe,T=V,E=B,D=he,O=F,k=M;return x(_)?(c(),p(l,{key:0},[s(a,{text:x(y)},{default:f(()=>[s(i,{icon:`i-lucide-settings`,color:`neutral`,variant:x(m)?`soft`:`ghost`,size:`sm`,square:``,"aria-label":x(y),"aria-pressed":x(m),onClick:r[0]||=e=>m.value=!x(m)},null,8,[`variant`,`aria-label`,`aria-pressed`])]),_:1},8,[`text`]),s(k,{open:x(m),"onUpdate:open":r[1]||=e=>b(m)?m.value=e:null,title:x(y),side:`right`,modal:!1,dismissible:!1},{body:f(()=>[o(`div`,H,[n.kind===`tags`?(c(),g(d,{key:0,embedded:``})):n.kind===`quote`?(c(),g(h,{key:1,embedded:``})):n.kind===`post`?(c(),g(v,{key:2,embedded:``})):n.kind===`poll`?(c(),g(S,{key:3,embedded:``})):n.kind===`source`?(c(),g(w,{key:4,embedded:``})):n.kind===`media`?(c(),g(T,{key:5,embedded:``})):n.kind===`torrent`?(c(),g(E,{key:6,embedded:``})):n.kind===`gallery`?(c(),g(D,{key:7,embedded:``})):(c(),g(O,{key:8,embedded:``})),x(u)?(c(),p(`p`,U,[o(`button`,{type:`button`,class:`text-primary hover:underline`,onClick:C},` Account settings `),r[2]||=o(`span`,{class:`text-muted`},` â appearance and profile`,-1)])):t(``,!0)])]),_:1},8,[`open`,`title`])],64)):t(``,!0)}}}),{__name:`KindPrefsLink`}),we={key:0,class:`space-y-3`},Te={class:`flex justify-end`},W={key:0,class:`flex justify-center py-10`,role:`status`},G=[`src`,`alt`],K={class:`text-xl font-semibold text-highlighted hover:text-primary`},q={class:`text-xs text-muted`},J={class:`ms-2`},Y={key:2,class:`text-sm text-muted text-center py-6`}
1,Ee=Object.assign(n({__name:`GallerySpotlight`,async setup(e){let n,a,u=T(`gallery-compose-open`,()=>!1),{data:d,pending:m,refresh:h}=([n,a]=_(()=>E(`/api/items/random-gallery`,{key:`gallery-random-spotlight`,getCachedData:()=>void 0},`$Q6C2kTPLUS`)),n=await n,a(),n),g=r(()=>d.value?.item||null),v=r(()=>g.value?.gallery?.images?.[0]?.src||``);return(e,n)=>{let r=ue,a=re,d=w,_=ve;return x(u)?t(``,!0):(c(),p(`div`,we,[o(`div`,Te,[s(r,{icon:`i-lucide-refresh-cw`,label:`Another gallery`,onClick:n[0]||=e=>x(h)()})]),x(m)&&!x(g)?(c(),p(`div`,W,[s(a,{name:`i-lucide-refresh-cw`,class:`size-8 animate-spin text-primary`})])):x(g)?(c(),p(l,{key:1},[s(d,{to:x(N)(x(g)),class:`block space-y-3`},{default:f(()=>[x(v)?(c(),p(`img`,{key:0,src:x(v),alt:x(P)(x(g)),class:`w-full max-h-80 object-contain rounded-md bg-elevated`},null,8,G)):t(``,!0),o(`p`,K,i(x(P)(x(g))),1)]),_:1},8,[`to`]),o(`p`,q,[s(_,{tag:{tag:x(g).topic,display:x(g).topic_display}},null,8,[`tag`]),o(`span`,J,i(x(g).gallery?.images?.length||0)+` photo`+i((x(g).gallery?.images?.length||0)===1?``:`s`),1)])],64)):(c(),p(`p`,Y,`No galleries yet.`))]))}}}),{__name:`GallerySpotlight`}),De={class:`space-y-8`},Oe={class:`flex items-center justify-between gap-2`},ke={class:`flex items-center gap-1`},Ae={class:`flex items-center gap-2`},je={key:0,class:`text-sm text-muted`},Me={key:0,class:`text-sm text-error`},Ne={key:1,class:`rounded-xl border border-default bg-elevated/40 p-5 sm:p-6 space-y-3`},Pe={key:2,class:`space-y-4`},Fe={class:`text-lg font-semibold`},Ie={key:0,class:`text-sm text-muted`},Le={key:1,class:`text-sm text-error`},Re={key:2,class:`divide-y divide-default border-y border-default`},ze={class:`shrink-0 text-xs text-muted`},Be=[`datetime`],Ve={key:0,class:`py-2 text-sm text-muted`},He={key:3,class:`grid gap-3 sm:grid-cols-2`},Ue=[`src`,`alt`],We={key:1,class:`w-full aspect-[4/3] bg-elevated flex items-center justify-center text-muted`},Ge={class:`p-3 font-semibold text-highlighted truncate hover:text-primary`},Ke={class:`px-3 pb-3 space-y-2`},qe={class:`text-xs text-muted flex flex-wrap items-center gap-2`},Je=[`datetime`],Ye={key:0,class:`text-sm text-muted sm:col-span-2`},X=n({__name:`index`,async setup(n){let g,D;ge({kind:`gallery`}),C({title:`Galleries`});let O=v(),{canCreate:M,canModKind:F}=ie(),{prefs:I}=ne(),{mine:L,activeTopic:R}=se(),de=r(()=>te(I.value.mainListStyle,I.value.galleryListStyle)),z=T(`gallery-compose-open`,()=>!1),B=r(()=>!!(R.value||L.value)),V=r(()=>ee(O.query.pick,I.value.galleryLand)),fe=r(()=>L.value&&M(`gallery`)),me=r(()=>!z.value&&!B.value&&V.value===`random`),he=r(()=>!z.value&&(B.value||V.value!==`random`)),H=r(()=>{let e={kind:`gallery`};return R.value&&(e.topic=R.value),L.value&&(e.mine=`1`),V.value===`oldest`&&(e.order=`oldest`),e}),{data:U,pending:we,error:Te}=([g,D]=_(()=>E(`/api/items`,{query:H,key:`gallery-list-main`,watch:[H]},`$fgwj-Axx7F`)),g=await g,D(),g),W=r(()=>U.value?.items||[]),G=h(``),K=h(``),q=h(``),J=h(),Y=h([]),X=h(oe),Z=h(!1),Q=h([]),Xe=h(null),Ze=h(!1),$=h(``);function Qe(e){let t=e.target;Q.value=t.files?[...t.files]:[]}function $e(){return q.value.split(/[\n,]+/).map(e=>e.trim()).filter(Boolean)}async function et(){if($.value=``,!J.value){$.value=`Topic is required`;return}let e=$e();if(!e.length&&!Q.value.length){$.value=`Add at least one image (file or URL)`;return}Ze.value=!0;try{let t={kind:`gallery`,topic:J.value,tags:Y.value,title:G.value,body:K.value,visibility:X.value,images:e.map(e=>({source_url:e}))};F(`gallery`)&&(t.visibility_locked=Z.value);let n=(await S(`/api/items`,{method:`POST`,body:t})).item;for(let e of Q.value){let t=new FormData;t.append(`file`,e),await S(`/api/items/${n.id}/images`,{method:`POST`,body:t})}if(n.visibility===`unpublished`&&X.value!==`unpublished`){let e=await S(`/api/items/${n.id}`,{method:`PATCH`,body:{visibility:X.value}});e.item&&(n=e.item)}G.value=``,K.value=``,q.value=``,Y.value=[],Q.value=[],X.value=oe,Z.value=!1,z.value=!1,await y([`gallery-rail-tags`,`gallery-rail-mine`,`gallery-list-main`,`gallery-random-spotlight`]),n&&await u(N(n))}catch(e){$.value=le(e,`Could not create gallery`)}finally{Ze.value=!1}}function tt(e){let t=U.value?.items;if(!t)return;let n=t.findIndex(t=>t.id===e.id);n>=0&&(t[n]=e)}e(L,e=>{e||(z.value=!1)});function nt(e){return e.gallery?.images?.[0]?.src||``}return(e,n)=>{let r=Se,u=Ce,h=ce,g=pe,_=ye,v=be,y=ue,S=xe,C=A,T=j,E=Ee,D=w,O=re,ee=ve,te=_e;return c(),p(`div`,De,[o(`div`,Oe,[n[8]||=o(`h1`,{class:`text-lg font-semibold`},`Galleries`,-1),o(`div`,ke,[s(r,{kind:`gallery`}),s(u,{kind:`gallery`})])]),x(fe)&&x(z)?(c(),p(`form`,{key:0,class:`space-y-3 rounded-lg border border-default p-4`,onSubmit:d(et,[`prevent`])},[n[9]||=o(`h2`,{class:`font-semibold`},`New gallery`,-1),s(g,{label:`Title`,name:`title`},{default:f(()=>[s(h,{modelValue:x(G),"onUpdate:modelValue":n[0]||=e=>b(G)?G.value=e:null,class:`w-full`,required:``},null,8,[`modelValue`])]),_:1}),s(g,{label:`Topic`,name:`topic`,required:``},{default:f(()=>[s(_,{modelValue:x(J),"onUpdate:modelValue":n[1]||=e=>b(J)?J.value=e:null},null,8,[`modelValue`])]),_:1}),s(g,{label:`Description`,name:`body`},{default:f(()=>[s(v,{modelValue:x(K),"onUpdate:modelValue":n[2]||=e=>b(K)?K.value=e:null,class:`w-full`,rows:4},null,8,[`modelValue`])]),_:1}),s(g,{label:`Image URLs (one per line â fetched and stored; chat images /img/chat/⦠ok)`,name:`urls`},{default:f(()=>[s(v,{modelValue:x(q),"onUpdate:modelValue":n[3]||=e=>b(q)?q.value=e:null,class:`w-full`,rows:3},null,8,[`modelValue`])]),_:1}),o(`div`,Ae,[s(y,{icon:`i-lucide-upload`,label:`Upload photos`,onClick:n[4]||=e=>x(Xe)?.click()}),x(Q).length?(c(),p(`span`,je,i(x(Q).length)+` file`+i(x(Q).length===1?``:`s`),1)):t(``,!0),o(`input`,{ref_key:`fileEl`,ref:Xe,type:`file`,accept:`image/jpeg,image/png,image/webp,image/gif`,multiple:``,class:`sr-only`,onChange:Qe},null,544)]),s(g,{label:`Extra tags`,name:`tags`},{default:f(()=>[s(_,{modelValue:x(Y),"onUpdate:modelValue":n[5]||=e=>b(Y)?Y.value=e:null,multiple:``,placeholder:`Optional extra tags`},null,8,[`modelValue`])]),_:1}),s(S,{visibility:x(X),"onUpdate:visibility":n[6]||=e=>b(X)?X.value=e:null,"visibility-locked":x(Z),"onUpdate:visibilityLocked":n[7]||=e=>b(Z)?Z.value=e:null,"show-lock":x(F)(`gallery`)},null,8,[`visibility`,`visibility-locked`,`show-lock`]),x($)?(c(),p(`p`,Me,i(x($)),1)):t(``,!0),s(T,{text:`Add gallery`},{default:f(()=>[s(C,{type:`submit`,color:`primary`,size:`sm`,square:``,icon:`i-lucide-plus`,loading:x(Ze),"aria-label":`Add gallery`},null,8,[`loading`])]),_:1})],32)):x(me)?(c(),p(`div`,Ne,[s(E)])):x(he)?(c(),p(`section`,Pe,[o(`h2`,Fe,i(x(L)?`Mine`:x(R)||`Latest`),1),x(we)?(c(),p(`p`,Ie,`Loadingâ¦`)):x(Te)?(c(),p(`p`,Le,`Could not load galleries.`)):x(de)===`lines`?(c(),p(`ul`,Re,[(c(!0),p(l,null,m(x(W),e=>(c(),p(`li`,{key:e.id,class:`flex items-center gap-3 py-1.5 text-sm min-w-0`},[s(D,{to:x(N)(e),class:`min-w-0 flex-1 truncate text-highlighted hover:text-primary`},{default:f(()=>[a(i(x(P)(e)),1)]),_:2},1032,[`to`]),o(`span`,ze,i(e.gallery?.images?.length||0),1),o(`t
1ime`,{class:`shrink-0 text-xs text-muted tabular-nums`,datetime:String(e.created_at)},i(x(k)(e.created_at,x(I).galleryDateTime,x(I).galleryDateTimeCustom,x(I).timeZone)),9,Be)]))),128)),x(W).length?t(``,!0):(c(),p(`li`,Ve,`No galleries in this filter.`))])):(c(),p(`ul`,He,[(c(!0),p(l,null,m(x(W),e=>(c(),p(`li`,{key:e.id,class:`rounded-lg border border-default overflow-hidden min-w-0`},[s(D,{to:x(N)(e),class:`block`,prefetch:!1},{default:f(()=>[nt(e)?(c(),p(`img`,{key:0,src:nt(e),alt:x(P)(e),class:`w-full aspect-[4/3] object-cover bg-elevated`},null,8,Ue)):(c(),p(`div`,We,[s(O,{name:`i-lucide-images`,class:`size-8`})])),o(`p`,Ge,i(x(P)(e)),1)]),_:2},1032,[`to`]),o(`div`,Ke,[o(`p`,qe,[s(ee,{tag:{tag:e.topic,display:e.topic_display}},null,8,[`tag`]),o(`span`,null,i(e.gallery?.images?.length||0)+` photo`+i((e.gallery?.images?.length||0)===1?``:`s`),1),o(`time`,{class:`tabular-nums`,datetime:String(e.created_at)},i(x(k)(e.created_at,x(I).galleryDateTime,x(I).galleryDateTimeCustom,x(I).timeZone)),9,Je),o(`span`,null,i(x(ae)(e.visibility)),1)]),s(te,{item:e,onUpdated:tt},null,8,[`item`])])]))),128)),x(W).length?t(``,!0):(c(),p(`li`,Ye,`No galleries in this filter.`))]))])):t(``,!0)])}}});export{X as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.