import{d as X,q as Z,Y as C,b as M,aC as Q,u as Y,f as K,o as n,c as m,a as r,h as a,l as t,bJ as ee,F as w,p as U,n as L,g as I,j as k,k as V,t as h,w as l,i as u,e as te,b2 as se,D as q,r as oe,b7 as ae,_ as re,aE as ne,aD as ie,aG as le,aL as de,bb as ce,aS as ue,N as B,av as me,E as pe,a5 as fe,bC as ve,a$ as ge,bc as he,bd as be,b0 as O,b1 as xe}from"./v5WcX6fg.js";import{D as ye}from"./3koSFZUC.js";import{F as we}from"./Bfb4lyMC.js";import{O as je}from"./Bn49W5xs.js";import{_ as $e}from"./DiwK3fA_.js";import{f as ke}from"./W7WSNY_k.js";import{a as _e,f as Me,e as Ie}from"./D5Cu5Chz.js";import{u as Ve}from"./D6KPyDqI.js";import{c as Ce}from"./CSWpOx0J.js";import{_ as Fe}from"./BJyk66LO.js";import{_ as G}from"./DDl5Iqj7.js";import{_ as H}from"./BE4Lqou0.js";import{_ as De}from"./jhn3qYPN.js";import{_ as Te}from"./CiAaVCyC.js";import{a as J}from"./BMYmRzZj.js";import{i as Pe}from"./BLsG2mcq.js";import{a as Se}from"./B4Tfh7Zn.js";import{u as ze}from"./Dx1KAdHW.js";import"./c-gEJM9z.js";import"./DMXbkbN0.js";import"./TS9ft8Ya.js";import"./BpA1kEjO.js";import"./CiHiIqOb.js";import"./C8MEuD_e.js";const Ue={class:"mb-3 flex flex-wrap gap-2"},Ee={key:0,class:"flex flex-col gap-4 rounded-2xl bg-bg-raised px-6 pb-8 pt-4 supports-[grid-template-columns:subgrid]:grid supports-[grid-template-columns:subgrid]:grid-cols-[1fr_min-content] sm:px-8 supports-[grid-template-columns:subgrid]:sm:grid-cols-[min-content_auto_auto_auto_min-content] supports-[grid-template-columns:subgrid]:xl:grid-cols-[min-content_auto_auto_auto_auto_auto_min-content]"},Ne={class:"versions-grid-row group relative"},Re={class:"flex flex-col justify-center gap-2 sm:contents"},Le={class:"flex flex-row items-center gap-2 sm:contents"},qe={class:"self-center"},Ae={class:"relative z-[1] cursor-pointer"},Be={class:"font-bold text-contrast"},Oe={class:"text-xs font-medium"},Ge={class:"flex flex-col justify-center gap-2 sm:contents"},He={class:"flex flex-row flex-wrap items-center gap-1 xl:contents"},Je={class:"flex items-center"},Ye={class:"flex flex-wrap gap-1"},Ke={class:"flex items-center"},We={class:"flex flex-wrap gap-1"},Xe=["innerHTML"],Ze={class:"flex flex-col justify-center gap-1 max-sm:flex-row max-sm:justify-start max-sm:gap-3 xl:contents"},Qe={class:"z-[1] flex cursor-help items-center gap-1 text-nowrap font-medium xl:self-center"},et={class:"pointer-events-none z-[1] flex items-center gap-1 font-medium xl:self-center"},tt={class:"flex items-start justify-end gap-1 sm:items-center z-[1]"},st={key:1,class:"tag-list pointer-events-none relative z-[1] col-span-full"},ot={class:"flex mt-3"},at=X({__name:"ProjectPageVersions",props:{baseId:{default:void 0},project:{},versions:{},showFiles:{type:Boolean,default:!1},currentMember:{type:Boolean,default:!1},loaders:{},gameVersions:{},versionLink:{type:Function,default:void 0}},setup(s){const{formatMessage:E}=Z(),j=Ve(),F=s,d=C(1),b=C(20),p=C(null),N=M(()=>{var e;return((e=p.value)==null?void 0:e.selectedGameVersions)??[]}),D=M(()=>{var e;return((e=p.value)==null?void 0:e.selectedPlatforms)??[]}),_=M(()=>{var e;return((e=p.value)==null?void 0:e.selectedChannels)??[]}),x=M(()=>F.versions.filter(e=>T(e.game_versions,N.value)&&T(e.loaders,D.value)&&P(e.version_type,_.value)));function T(e,v){return v.length===0||v.some(g=>e.includes(g))}function P(e,v){return v.length===0||v.includes(e)}const S=M(()=>x.value.slice((d.value-1)*b.value,d.value*b.value)),y=Q(),$=Y();y.query.page&&(d.value=Number(y.query.page)||1);function z(e){d.value=e,$.replace({query:{...y.query,page:d.value!==1?d.value:void 0}}),window.scrollTo({top:0,behavior:"smooth"})}function f(e){e.page?d.value=Number(e.page):e.page===void 0&&(d.value=1),$.replace({query:{...y.query,...e}})}return(e,v)=>{const g=K("tooltip");return n(),m(w,null,[r("div",Ue,[a(t(Te),{ref_key:"versionFilters",ref:p,versions:e.versions,"game-versions":e.gameVersions,"base-id":`${e.baseId}-filter`,"onUpdate:query":f},null,8,["versions","game-versions","base-id"]),a(t(H),{page:d.value,class:"ml-auto mt-auto",count:Math.ceil(x.value.length/b.value),onSwitchPage:z},null,8,["page","count"])]),e.versions.length>0?(n(),m("div",Ee,[v[0]||(v[0]=ee('
Name
Game version
Platforms
Published
Downloads
Compatibility
Stats
',1)),(n(!0),m(w,null,U(S.value,(o,R)=>{var A;return n(),m(w,{key:R},[r("div",{class:L(["versions-grid-row h-px w-full bg-button-bg",{"max-sm:!hidden":R===0}])},null,2),r("div",Ne,[e.versionLink?(n(),I(Fe,{key:0,class:"absolute inset-[calc(-1rem-2px)_-2rem] before:absolute before:inset-0 before:transition-all before:content-[''] hover:before:backdrop-brightness-110",to:(A=e.versionLink)==null?void 0:A.call(e,o)},null,8,["to"])):k("",!0),r("div",Re,[r("div",Le,[r("div",qe,[r("div",Ae,[V(a(t(De),{channel:o.version_type,onClick:i=>{var c;return(c=p.value)==null?void 0:c.toggleFilter("channel",o.version_type)}},null,8,["channel","onClick"]),[[g,`Toggle filter for ${o.version_type}`]])])]),r("div",{class:L(["pointer-events-none relative z-[1] flex flex-col justify-center",{"group-hover:underline":!!e.versionLink}])},[r("div",Be,h(o.version_number),1),r("div",Oe,h(o.name),1)],2)]),r("div",Ge,[r("div",He,[r("div",Je,[r("div",Ye,[(n(!0),m(w,null,U(t(ke)(o.game_versions,e.gameVersions),i=>V((n(),I(G,{key:`version-tag-${i}`,class:"z-[1]",action:()=>{var c;return(c=p.value)==null?void 0:c.toggleFilters("gameVersion",o.game_versions)}},{default:l(()=>[u(h(i),1)]),_:2},1032,["action"])),[[g,`Toggle filter for ${i}`]])),128))])]),r("div",Ke,[r("div",We,[(n(!0),m(w,null,U(o.loaders,i=>V((n(),I(G,{key:`platform-tag-${i}`,class:"z-[1]",style:te(`--_color: var(--color-platform-${i})`),action:()=>{var c;return(c=p.value)==null?void 0:c.toggleFilter("platform",i)}},{default:l(()=>{var c;return[(n(),m("svg",{innerHTML:(c=e.loaders.find(W=>W.name===i))==null?void 0:c.icon},null,8,Xe)),u(" "+h(t(_e)(i)),1)]}),_:2},1032,["style","action"])),[[g,`Toggle filter for ${i}`]])),128))])])]),r("div",Ze,[V((n(),m("div",Qe,[a(t(se),{class:"xl:hidden"}),u(" "+h(t(j)(o.date_published)),1)])),[[g,t(E)(t(Ce).dateAtTimeTooltip,{date:new Date(o.date_published),time:new Date(o.date_published)})]]),r("div",et,[a(t(q),{class:"xl:hidden"}),u(" "+h(t(Me)(o.downloads)),1)])])])]),r("div",tt,[oe(e.$slots,"actions",{version:o},void 0,!0)]),e.showFiles?(n(),m("div",st,[(n(!0),m(w,null,U(o.files,(i,c)=>(n(),m("div",{key:`platform-tag-${c}`,class:L(`flex items-center gap-1 text-wrap rounded-full bg-button-bg px-2 py-0.5 text-xs font-medium ${i.primary||c===0?"bg-brand-highlight text-contrast":"text-primary"}`)},[i.primary||c===0?(n(),I(t(ae),{key:0,class:"shrink-0"})):k("",!0),u(" "+h(i.filename)+" - "+h(t(Ie)(i.size)),1)],2))),128))])):k("",!0)])],64)}),128))])):k("",!0),r("div",ot,[a(t(H),{page:d.value,class:"ml-auto",count:Math.ceil(x.value.length/b.value),onSwitchPage:z},null,8,["page","count"])])],64)}}}),rt=re(at,[["__scopeId","data-v-96db6ef4"]]),nt={class:"experimental-styles-within overflow-visible"},it={key:0,class:"card flex items-center gap-4"},lt={class:"flex items-center gap-2"},dt=["href"],St={__name:"versions",props:{project:{type:Object,default(){return{}}},versions:{type:Array,default(){return[]}},currentMember:{type:Object,default(){return null}}},emits:["onDownload","deleteVersion"],async setup(s,{emit:E}){let j,F;const d=s,b=ne(),p=ze(),N=([j,F]=ie(()=>de()),j=await j,F(),j),D=C(),_=C(null),x=E,T=Y(),P=le();function S(f){return f.files.find(e=>e.primary)||f.files[0]}async function y(f){await T.push({name:"type-id-version-version",params:{type:d.project.project_type,id:d.project.slug?d.project.slug:d.project.id,version:"create"},state:{newPrimaryFile:f[0]}})}async function $(f){await navigator.clipboard.writeText(f)}function z(){x("deleteVersion",_.value),_.value=null}return(f,e)=>{var g;const v=K("tooltip");return n(),m(w,null,[s.currentMember?(n(),I(t($e),{key:0,ref_key:"deleteVersionModal",ref:D,title:"Are you sure you want to delete this version?",description:"This will remove this version forever (like really forever).","has-to-type":!1,"proceed-label":"Delete",onProceed:e[0]||(e[0]=o=>z())},null,512)):k("",!0),r("section",nt,[s.currentMember&&t(Pe)((g=s.currentMember)==null?void 0:g.permissions,1)?(n(),m("div",it,[a(t(we),{"max-size":524288e3,accept:t(J)(s.project.project_type),prompt:"Upload a version",class:"btn btn-primary","aria-label":"Upload a version",onChange:y},{default:l(()=>[a(t(ce),{"aria-hidden":"true"})]),_:1},8,["accept"]),r("span",lt,[a(t(ue),{"aria-hidden":"true"}),e[2]||(e[2]=u(" Click to choose a file or drag one onto this page "))]),a(t(ye),{accept:t(J)(s.project.project_type),onChange:y},null,8,["accept"])])):k("",!0),a(t(rt),{project:s.project,versions:s.versions,"show-files":t(p).showVersionFilesInTable,"current-member":!!s.currentMember,loaders:t(b).loaders,"game-versions":t(b).gameVersions,"base-id":t(P),"version-link":o=>`/${s.project.project_type}/${s.project.slug?s.project.slug:s.project.id}/version/${encodeURI(o.displayUrlEnding)}`},{actions:l(({version:o})=>[a(t(B),{circular:"",type:"transparent"},{default:l(()=>[V((n(),m("a",{href:S(o).url,class:"group-hover:!bg-brand group-hover:[&>svg]:!text-brand-inverted","aria-label":"Download",onClick:e[1]||(e[1]=R=>x("onDownload"))},[a(t(q),{"aria-hidden":"true"})],8,dt)),[[v,"Download"]])]),_:2},1024),a(t(B),{circular:"",type:"transparent"},{default:l(()=>[a(t(je),{class:"group-hover:!bg-button-bg","dropdown-id":`${t(P)}-${o.id}`,options:[{id:"download",color:"primary",hoverFilled:!0,link:S(o).url,action:()=>{x("onDownload")}},{id:"new-tab",action:()=>{},link:`/${s.project.project_type}/${s.project.slug?s.project.slug:s.project.id}/version/${encodeURI(o.displayUrlEnding)}`,external:!0},{id:"copy-link",action:()=>$(`https://test.kalataka.ru/${s.project.project_type}/${s.project.slug?s.project.slug:s.project.id}/version/${encodeURI(o.displayUrlEnding)}`)},{id:"share",action:()=>{},shown:!1},{id:"report",color:"red",hoverFilled:!0,action:()=>t(N).user?t(Se)(o.id):("navigateTo"in f?f.navigateTo:t(me))("/auth/sign-in"),shown:!s.currentMember},{divider:!0,shown:s.currentMember||t(p).developerMode},{id:"copy-id",action:()=>{$(o.id)},shown:s.currentMember||t(p).developerMode},{id:"copy-maven",action:()=>{$(`maven.modrinth:${s.project.slug}:${o.id}`)},shown:t(p).developerMode},{divider:!0,shown:s.currentMember},{id:"edit",link:`/${s.project.project_type}/${s.project.slug?s.project.slug:s.project.id}/version/${encodeURI(o.displayUrlEnding)}/edit`,shown:s.currentMember},{id:"delete",color:"red",hoverFilled:!0,action:()=>{_.value=o.id,t(D).show()},shown:s.currentMember}],"aria-label":"More options"},{download:l(()=>[a(t(q),{"aria-hidden":"true"}),e[3]||(e[3]=u(" Download "))]),"new-tab":l(()=>[a(t(pe),{"aria-hidden":"true"}),e[4]||(e[4]=u(" Open in new tab "))]),"copy-link":l(()=>[a(t(fe),{"aria-hidden":"true"}),e[5]||(e[5]=u(" Copy link "))]),share:l(()=>[a(t(ve),{"aria-hidden":"true"}),e[6]||(e[6]=u(" Share "))]),report:l(()=>[a(t(ge),{"aria-hidden":"true"}),e[7]||(e[7]=u(" Report "))]),edit:l(()=>[a(t(he),{"aria-hidden":"true"}),e[8]||(e[8]=u(" Edit "))]),delete:l(()=>[a(t(be),{"aria-hidden":"true"}),e[9]||(e[9]=u(" Delete "))]),"copy-id":l(()=>[a(t(O),{"aria-hidden":"true"}),e[10]||(e[10]=u(" Copy ID "))]),"copy-maven":l(()=>[a(t(O),{"aria-hidden":"true"}),e[11]||(e[11]=u(" Copy Maven coordinates "))]),default:l(()=>[a(t(xe),{"aria-hidden":"true"})]),_:2},1032,["dropdown-id","options"])]),_:2},1024)]),_:1},8,["project","versions","show-files","current-member","loaders","game-versions","base-id","version-link"])])],64)}}};export{St as default};