1import{d as se,u as re,N as ce,O as de,A as ue,z as G,V as me,y as J,p as C,a as pe,b as ve,W as ge,C as be,D as f,e as s,f as l,v as E,h as t,F as A,i as c,w as x,t as r,G as ke,H as fe,I as W,J as K,m as g,j as I,s as _e,M as he,af as ye,_ as xe,$ as z,o as n,k as we,T as Pe,c as _}from"./BMhVeus_.js";import{_ as $e}from"./cW3v15Zs.js";import{d as Ce,_ as Ee}from"./DhGnoh4a.js";import{_ as Ie}from"./D775tyxt.js";import{c as T,i as Te}from"./DBQ2YyYx.js";import{u as Le}from"./D3dF6fpQ.js";import"./CvheEp2y.js";import"./BwTxndmh.js";import"./CHIgUVhi.js";import"./CJO9fQ6m.js";import"./BJZk5VLi.js";import"./CdSEWHqZ.js";import"./Dq4GCY_z.js";import"./CeK9Ur3Z.js";import"./CJgTN9Ms.js";import"./Bxi_MGMI.js";import"./DPwXEbfh.js";import"./BxRmmsYg.js";import"./BL1lZi8C.js";import"./DeaY0-xS.js";import"./BQUd9AcJ.js";import"./C7rpc_Bh.js";import"./Cil383NE.js";import"./C3bkwa0K.js";import"./DtOl57lM.js";import"./A7G-srNJ.js";import"./fqgU4nSg.js";import"./D4k11_F0.js";import"./DlAUqK2U.js";const Ne={class:"page-box"},Se={class:"page-content-width py-8 space-y-6"},Re={class:"space-y-3","data-testid":"collection-header"},De={class:"text-sm text-slate-500 dark:text-slate-400 flex items-center gap-2"},Me={class:"text-slate-700 dark:text-slate-300"},Oe={class:"flex flex-wrap items-start justify-between gap-3"},Ae={class:"text-2xl font-bold flex items-center gap-2 flex-1 min-w-0"},Fe={key:0},Be=["aria-label","aria-invalid"],Ue=["title"],Ve=["disabled","title"],je=["title"],He={class:"flex flex-wrap items-center gap-2"},qe=["title"],Ge=["disabled","title"],Je=["disabled","title"],We=["disabled","title"],Ke={key:0},ze={key:1},Xe={class:"flex flex-wrap items-center gap-3 text-sm text-slate-500"},Ze={class:"text-slate-700 dark:text-slate-300"},Qe={key:0,class:"mt-2 flex items-center gap-1.5 text-sm text-slate-500","data-testid":"collection-favorites-public"},Ye={key:0,class:"text-center py-12 text-slate-500","data-testid":"collection-empty-state"},et={key:1,class:"risibank-grid risibank-grid-lg","data-testid":"collection-grid"},Nt=se({__name:"index",async setup(tt){let h,L;const{t:a}=re(),N=ce(),X=de(),w=he(),F=ue(),B=C(()=>String(N.params.idslug||"")),S=C(()=>Te(B.value)),{data:e}=([h,L]=G(async()=>Le(()=>`collection-${S.value}`,async()=>{if(!S.value)return null;try{return await w.get(`/collections/${S.value}`)}catch{return null}},{default:()=>null,watch:[S]})),h=await h,L(),h),Z=me();J(()=>[...Z.favorites.value],i=>{if(!e.value||e.value.type!=="favorites")return;const o=new Set(i),d=e.value.medias.filter(R=>o.has(R.id));d.length!==e.value.medias.length&&(e.value={...e.value,medias:d})});const Q=Ce();if(J(()=>Q.lastChange.value,i=>{if(!i||i.added||!e.value||i.collectionId!==e.value.id)return;const o=e.value.medias.filter(d=>d.id!==i.mediaId);o.length!==e.value.medias.length&&(e.value={...e.value,medias:o})}),e.value&&e.value.name){const i=T(e.value.id,e.value.name),o=`/collection/${B.value}`;if(i!==o){const d={path:i,query:N.query};[h,L]=G(()=>z(d,{replace:!0})),await h,L()}}const U=C(()=>{const i=e.value?.medias?.[0]?.cache_url;return i?i.replace("/full.","/thumb."):""}),V=()=>e.value?a("risibank.collectionPage.seo.titleWithName",{name:e.value.name}):a("risibank.collectionPage.seo.titleNotFound"),j=()=>e.value?a("risibank.collectionPage.seo.descriptionWithName",{count:e.value.medias.length,name:e.value.name,user:e.value.user.username},e.value.medias.length):a("risibank.collectionPage.seo.descriptionNotFound");pe({title:V,description:j,ogType:"article",robots:()=>e.value?void 0:"noindex, follow",ogTitle:V,ogDescription:j,ogImage:()=>U.value,ogUrl:()=>e.value?`${_}${T(e.value.id,e.value.name)}`:void 0,twitterCard:"summary_large_image",twitterImage:()=>U.value}),ve({script:()=>e.value?[{type:"application/ld+json",innerHTML:JSON.stringify({"@context":"https://schema.org","@type":"CollectionPage",name:e.value.name,url:`${_}${T(e.value.id,e.value.name)}`,dateCreated:e.value.created_at,author:{"@type":"Person",name:e.value.user.username,url:encodeURI(`${_}/utilisateur/${e.value.user.username}`)},mainEntity:{"@type":"ItemList",numberOfItems:e.value.medias.length,itemListElement:e.value.medias.slice(0,20).map((i,o)=>({"@type":"ListItem",position:o+1,url:encodeURI(`${_}/media/${i.id}-${i.slug||""}`)}))}})},{type:"application/ld+json",innerHTML:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Accueil",item:`${_}/`},{"@type":"ListItem",position:2,name:"Collections",item:`${_}/collections`},{"@type":"ListItem",position:3,name:e.value.name,item:`${_}${T(e.value.id,e.value.name)}`}]})}]:[]});const Y=C(()=>{const i=e.value?.created_at;return i?new Date(i).toLocaleDateString("fr-FR",{day:"numeric",month:"long",year:"numeric",timeZone:"Europe/Paris"}):""}
1),m=ge(),v=C(()=>!!F.user&&!!e.value&&F.user.id===e.value.user.id),b=f(!1),p=f(""),M=f(!1),ee=()=>{e.value&&(p.value=e.value.name,b.value=!0)},H=()=>{b.value=!1,p.value=""},q=async()=>{if(!e.value)return;const i=p.value.trim();if(i.length<2||i.length>100){m.add({title:a("risibank.collectionPage.rename.lengthError"),color:"error"});return}if(i===e.value.name){b.value=!1;return}M.value=!0;try{const o=await w.put(`/collections/${e.value.id}`,{name:i});e.value={...e.value,name:o.name};const d=T(e.value.id,o.name);d!==N.path&&await z(d,{replace:!0}),b.value=!1,m.add({title:a("risibank.collectionPage.rename.success"),icon:"i-lucide-check",color:"success"})}catch(o){const d=o instanceof Error?o.message:a("risibank.common.error");m.add({title:a("risibank.collectionPage.rename.error"),description:d,color:"error"})}finally{M.value=!1}},P=f(!1),te=async()=>{if(!(!e.value||P.value)&&e.value.medias.length!==0&&window.confirm(a("risibank.collectionPage.empty.confirm",{name:e.value.name}))){P.value=!0;try{await w.put(`/collections/${e.value.id}/empty`,{}),e.value={...e.value,medias:[]},m.add({title:a("risibank.collectionPage.empty.success"),icon:"i-lucide-check",color:"success"})}catch(i){const o=i instanceof Error?i.message:a("risibank.common.error");m.add({title:a("risibank.collectionPage.empty.error"),description:o,color:"error"})}finally{P.value=!1}}},O=f(!1),ae=async()=>{if(e.value&&window.confirm(a("risibank.collectionPage.delete.confirm",{name:e.value.name}))){O.value=!0;try{await w.fetch(`/collections/${e.value.id}`,{method:"DELETE"}),m.add({title:a("risibank.collectionPage.delete.success"),icon:"i-lucide-check",color:"success"}),await X.push("/h/collections")}catch(i){const o=i instanceof Error?i.message:a("risibank.common.error");m.add({title:a("risibank.collectionPage.delete.error"),description:o,color:"error"}),O.value=!1}}},y=f(!1);be(()=>{v.value&&N.query.sort==="1"&&(y.value=!0)});const ie=({sortMode:i,medias:o})=>{e.value&&(e.value={...e.value,sort_mode:i,medias:o})},$=f(!1),oe=async()=>{if(!(!e.value||$.value)){$.value=!0;try{const i=await w.post(`/telegram/export/collection/${e.value.id}`);window.open(i.telegram_url,"_blank","noopener,noreferrer"),m.add({title:a("risibank.collectionPage.export.success"),icon:"i-lucide-send",color:"success"})}catch{m.add({title:a("risibank.collectionPage.export.authError"),icon:"i-lucide-x",color:"error"})}finally{$.value=!1}}};return(i,o)=>{const d=ye,R=xe,u=we,D=$e,ne=Ee,le=Ie;return n(),s("div",Ne,[l("div",Se,[t(e)?(n(),s(A,{key:1},[l("header",Re,[l("nav",De,[c(R,{to:"/h/collections",class:"hover:text-pink-600 dark:hover:text-pink-400"},{default:x(()=>[I(r(t(a)("risibank.header.nav.collections")),1)]),_:1}),o[3]||(o[3]=l("span",null,"âº",-1)),l("span",Me,r(t(e).name),1)]),l("div",Oe,[l("h1",Ae,[c(u,{name:"i-lucide-folder-open",class:"text-pink-500 shrink-0"}),t(b)?ke((n(),s("input",{key:1,"onUpdate:modelValue":o[0]||(o[0]=k=>K(p)?p.value=k:null),type:"text","aria-label":t(a)("risibank.collectionPage.renameInputAria"),"aria-invalid":t(p).trim().length>0&&(t(p).trim().length<2||t(p).trim().length>100),minlength:"2",class:"flex-1 min-w-0 rounded-md border border-pink-300 dark:border-pink-700 bg-white dark:bg-slate-900 px-2 py-1 text-base font-bold focus:outline-none focus:ring-2 focus:ring-pink-500/40",maxlength:"100","data-testid":"collection-rename-input",onKeyup:[W(q,["enter"]),W(H,["esc"])]},null,40,Be)),[[fe,t(p)]]):(n(),s("span",Fe,r(t(e).name),1)),c(D,null,{default:x(()=>[t(v)&&!t(b)&&t(e).type==="custom"?(n(),s("button",{key:0,type:"button",class:"text-slate-400 hover:text-pink-600 dark:hover:text-pink-400",title:t(a)("risibank.common.edit"),"data-testid":"collection-rename-start",onClick:ee},[c(u,{name:"i-lucide-pencil",class:"text-base"})],8,Ue)):g("",!0),t(b)?(n(),s(A,{key:1},[l("button",{type:"button",class:"text-emerald-600 hover:text-emerald-700 disabled:opacity-50",disabled:t(M),title:t(a)("risibank.common.save"),"data-testid":"collection-rename-save",onClick:q},[c(u,{name:"i-lucide-check",class:"text-lg"})],8,Ve),l("button",{type:"button",class:"text-slate-400 hover:text-slate-600",title:t(a)("risibank.common.cancel"),"data-testid":"collection-rename-cancel",onClick:H},[c(u,{name:"i-lucide-x",class:"text-lg"})],8,je)],64)):g("",!0)]),_:1})]),l("div",He,[c(D,null,{default:x(()=>[t(v)&&t(e).medias.length>
10?(n(),s("button",{key:0,type:"button",class:"inline-flex items-center gap-2 rounded-full border border-slate-200 dark:border-slate-700 text-slate-600 dark:text-slate-300 hover:border-pink-400 hover:text-pink-600 dark:hover:text-pink-400 px-3 py-2 text-sm font-medium transition-colors","data-testid":"collection-sort-open",title:t(a)("risibank.collectionSort.title"),onClick:o[1]||(o[1]=k=>y.value=!0)},[c(u,{name:"i-lucide-arrow-down-up"}),l("span",null,r(t(a)("risibank.collectionSort.button")),1)],8,qe)):g("",!0),t(v)&&t(e).medias.length>0?(n(),s("button",{key:1,type:"button",class:"inline-flex items-center gap-2 rounded-full border border-amber-200 dark:border-amber-900 text-amber-700 dark:text-amber-400 hover:bg-amber-50 dark:hover:bg-amber-950/30 disabled:opacity-60 px-3 py-2 text-sm font-medium transition-colors",disabled:t(P),"data-testid":"collection-empty-action",title:t(a)("risibank.collectionPage.empty.title"),onClick:te},[t(P)?(n(),E(u,{key:0,name:"i-lucide-loader-2",class:"animate-spin"})):(n(),E(u,{key:1,name:"i-lucide-eraser"})),l("span",null,r(t(a)("risibank.collectionPage.empty.button")),1)],8,Ge)):g("",!0),t(v)&&t(e).type==="custom"?(n(),s("button",{key:2,type:"button",class:"inline-flex items-center gap-2 rounded-full border border-red-200 dark:border-red-900 text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-950/30 disabled:opacity-60 px-3 py-2 text-sm font-medium transition-colors",disabled:t(O),"data-testid":"collection-delete",title:t(a)("risibank.collectionPage.delete.title"),onClick:ae},[c(u,{name:"i-lucide-trash-2"}),l("span",null,r(t(a)("risibank.common.delete")),1)],8,Je)):g("",!0)]),_:1}),t(Pe)?(n(),s("button",{key:0,type:"button",class:"inline-flex items-center gap-2 rounded-full bg-sky-500 hover:bg-sky-600 disabled:opacity-60 disabled:cursor-not-allowed text-white px-4 py-2 text-sm font-medium transition-colors",disabled:t($)||!t(e).medias.length||t(e).medias.length>120,"data-testid":"collection-export-telegram",title:t(e).medias.length?t(e).medias.length>120?t(a)("risibank.collectionPage.export.tooLargeTitle",{count:t(e).medias.length}):t(a)("risibank.collectionPage.export.title"):t(a)("risibank.collectionPage.export.emptyTitle"),onClick:oe},[c(u,{name:"i-lucide-send"}),t($)?(n(),s("span",Ke,r(t(a)("risibank.collectionPage.export.loading")),1)):(n(),s("span",ze,r(t(a)("risibank.collectionPage.export.button")),1))],8,We)):g("",!0)])]),l("div",Xe,[l("span",null,[I(r(t(a)("risibank.collections.byUser"))+" ",1),c(R,{to:`/utilisateur/${t(e).user.username}`,class:"text-pink-600 dark:text-pink-400 hover:underline"},{default:x(()=>[I(r(t(e).user.username),1)]),_:1},8,["to"])]),o[4]||(o[4]=l("span",null,"·",-1)),l("span",null,[l("strong",Ze,r(t(e).medias.length),1),I(" "+r(t(a)("risibank.collectionPage.stickers",t(e).medias.length)),1)]),o[5]||(o[5]=l("span",null,"·",-1)),l("span",null,r(t(a)("risibank.collectionPage.createdOn",{date:t(Y)})),1)]),c(D,null,{default:x(()=>[t(v)&&t(e).type==="favorites"?(n(),s("p",Qe,[c(u,{name:"i-lucide-globe",class:"shrink-0"}),I(" "+r(t(a)("risibank.collectionPage.favoritesPublic")),1)])):g("",!0)]),_:1})]),t(e).medias.length?(n(),s("section",et,[(n(!0),s(A,null,_e(t(e).medias,k=>(n(),E(ne,{key:k.id,media:k,"collection-id":t(v)?t(e).id:void 0},null,8,["media","collection-id"]))),128))])):(n(),s("section",Ye,r(t(a)("risibank.collectionPage.emptyState")),1)),c(D,null,{default:x(()=>[t(v)&&t(y)?(n(),E(le,{key:0,open:t(y),"onUpdate:open":o[2]||(o[2]=k=>K(y)?y.value=k:null),"collection-id":t(e).id,medias:t(e).medias,"sort-mode":t(e).sort_mode,onSaved:ie},null,8,["open","collection-id","medias","sort-mode"])):g("",!0)]),_:1})],64)):(n(),E(d,{key:0,title:t(a)("risibank.notFound.collectionTitle"),"data-testid":"collection-missing"},null,8,["title"]))])])}}});export{Nt 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.