import{_ as q,aE as C,o as a,c as r,h as n,l as c,aS as I,i as d,t as u,F as y,a9 as S,C as Y,S as x,j as i,b2 as E,cs as F,D as z,H,be as f,f as R,w as m,n as V,e as L,a as o,g as w,r as p,k as b,Q as O}from"./Co0rzPff.js";import{A as G}from"./CCBW7oxg.js";import{_ as Q}from"./BEt1WLUe.js";import{u as J}from"./mxhR-slD.js";import{C as K}from"./BB5xSxcZ.js";const W={key:0,class:"environment"},X={key:1,class:"environment"},Z={__name:"EnvironmentIndicator",props:{type:{type:String,default:"mod"},serverSide:{type:String,required:!1,default:""},clientSide:{type:String,required:!1,default:""},typeOnly:{type:Boolean,required:!1,default:!1},alwaysShow:{type:Boolean,required:!1,default:!1},search:{type:Boolean,required:!1,default:!1},categories:{type:Array,required:!1,default(){return[]}}},setup(t){const s=C();return(e,l)=>t.typeOnly?(a(),r("span",W,[n(c(I),{"aria-hidden":"true"}),d(" A "+u(t.type),1)])):!["resourcepack","shader"].includes(t.type)&&!(t.type==="plugin"&&t.search)&&!t.categories.some(h=>c(s).loaderData.dataPackLoaders.includes(h))?(a(),r("span",X,[t.clientSide==="optional"&&t.serverSide==="optional"?(a(),r(y,{key:0},[n(c(S),{"aria-hidden":"true"}),l[0]||(l[0]=d(" Client or server "))],64)):t.clientSide==="required"&&t.serverSide==="required"?(a(),r(y,{key:1},[n(c(S),{"aria-hidden":"true"}),l[1]||(l[1]=d(" Client and server "))],64)):(t.clientSide==="optional"||t.clientSide==="required")&&(t.serverSide==="optional"||t.serverSide==="unsupported")?(a(),r(y,{key:2},[n(c(Y),{"aria-hidden":"true"}),l[2]||(l[2]=d(" Client "))],64)):(t.serverSide==="optional"||t.serverSide==="required")&&(t.clientSide==="optional"||t.clientSide==="unsupported")?(a(),r(y,{key:3},[n(c(x),{"aria-hidden":"true"}),l[3]||(l[3]=d(" Server "))],64)):t.serverSide==="unsupported"&&t.clientSide==="unsupported"?(a(),r(y,{key:4},[n(c(S),{"aria-hidden":"true"}),l[4]||(l[4]=d(" Unsupported "))],64)):t.alwaysShow?(a(),r(y,{key:5},[n(c(I),{"aria-hidden":"true"}),d(" A "+u(t.type),1)],64)):i("",!0)])):i("",!0)}},$=q(Z,[["__scopeId","data-v-f16921b7"]]),ee={components:{ProjectStatusBadge:Q,EnvironmentIndicator:$,Avatar:G,Categories:K,CalendarIcon:E,UpdatedIcon:F,DownloadIcon:z,HeartIcon:H},props:{id:{type:String,default:"modrinth-0"},type:{type:String,default:"mod"},name:{type:String,default:"Project Name"},author:{type:String,default:null},description:{type:String,default:"A _type description"},iconUrl:{type:String,default:"#",required:!1},downloads:{type:String,default:null,required:!1},follows:{type:String,default:null,required:!1},createdAt:{type:String,default:"0000-00-00"},updatedAt:{type:String,default:null},categories:{type:Array,default(){return[]}},status:{type:String,default:null},hasModMessage:{type:Boolean,default:!1},serverSide:{type:String,required:!1,default:""},clientSide:{type:String,required:!1,default:""},moderation:{type:Boolean,required:!1,default:!1},search:{type:Boolean,required:!1,default:!1},featuredImage:{type:String,required:!1,default:null},showUpdatedDate:{type:Boolean,required:!1,default:!0},showCreatedDate:{type:Boolean,required:!1,default:!0},hideLoaders:{type:Boolean,required:!1,default:!1},color:{type:Number,required:!1,default:null}},setup(){const t=C(),s=J();return{tags:t,formatRelativeTime:s}},computed:{projectTypeDisplay(){return this.$getProjectTypeForDisplay(this.type,this.categories)},toColor(){let t=this.color;t>>>=0;const s=t&255,e=(t&65280)>>>8;return"rgba("+[(t&16711680)>>>16,e,s,1].join(",")+")"}}},te=["aria-label"],ae=["src"],ne={class:"title"},re={class:"name !text-2xl"},se={key:0,class:"author"},le={class:"description"},oe={class:"stats"},de={key:0,class:"stat"},ie={class:"stat-label"},ue={key:0},ce={key:1,class:"stat"},fe={class:"stat-label"},ye={key:0},me={class:"buttons"},ge={key:2,class:"stat date"},Se={key:3,class:"stat date"};function he(t,s,e,l,h,v){const _=f("Avatar"),g=O,A=f("ProjectStatusBadge"),D=f("EnvironmentIndicator"),j=f("Categories"),B=f("DownloadIcon"),P=f("HeartIcon"),T=f("UpdatedIcon"),U=f("CalendarIcon"),k=R("tooltip");return a(),r("article",{class:"project-card base-card padding-bg","aria-label":e.name,role:"listitem"},[n(g,{title:e.name,class:"icon",tabindex:"-1",to:`/${t.$getProjectTypeForUrl(e.type,e.categories)}/${e.id}`},{default:m(()=>[n(_,{src:e.iconUrl,alt:e.name,size:"md","no-shadow":"",loading:"lazy"},null,8,["src","alt"])]),_:1},8,["title","to"]),n(g,{class:V(["gallery",{"no-image":!e.featuredImage}]),tabindex:"-1",to:`/${t.$getProjectTypeForUrl(e.type,e.categories)}/${e.id}`,style:L(e.color?`background-color: ${v.toColor};`:"")},{default:m(()=>[e.featuredImage?(a(),r("img",{key:0,src:e.featuredImage,alt:"gallery image",loading:"lazy"},null,8,ae)):i("",!0)]),_:1},8,["class","to","style"]),o("div",ne,[n(g,{to:`/${t.$getProjectTypeForUrl(e.type,e.categories)}/${e.id}`},{default:m(()=>[o("h2",re,u(e.name),1)]),_:1},8,["to"]),e.author?(a(),r("p",se,[s[0]||(s[0]=d(" by ")),n(g,{class:"title-link",to:"/user/"+e.author},{default:m(()=>[d(u(e.author),1)]),_:1},8,["to"])])):i("",!0),e.status&&e.status!=="approved"?(a(),w(A,{key:1,status:e.status,class:"status"},null,8,["status"])):i("",!0)]),o("p",le,u(e.description),1),n(j,{categories:e.categories.filter(M=>!e.hideLoaders||!l.tags.loaders.find(N=>N.name===M)),type:e.type,class:"tags"},{default:m(()=>[e.clientSide&&e.serverSide?(a(),w(D,{key:0,"type-only":e.moderation,"client-side":e.clientSide,"server-side":e.serverSide,type:v.projectTypeDisplay,search:e.search,categories:e.categories},null,8,["type-only","client-side","server-side","type","search","categories"])):i("",!0)]),_:1},8,["categories","type"]),o("div",oe,[e.downloads?(a(),r("div",de,[n(B,{"aria-hidden":"true"}),o("p",null,[o("strong",null,u(t.$formatNumber(e.downloads)),1),o("span",ie,[s[1]||(s[1]=d(" download")),e.downloads!=="1"?(a(),r("span",ue,"s")):i("",!0)])])])):i("",!0),e.follows?(a(),r("div",ce,[n(P,{"aria-hidden":"true"}),o("p",null,[o("strong",null,u(t.$formatNumber(e.follows)),1),o("span",fe,[s[2]||(s[2]=d(" follower")),e.follows!=="1"?(a(),r("span",ye,"s")):i("",!0)])])])):i("",!0),o("div",me,[p(t.$slots,"default",{},void 0,!0)]),e.showUpdatedDate?b((a(),r("div",ge,[n(T,{"aria-hidden":"true"}),s[3]||(s[3]=o("span",{class:"date-label"},"Updated ",-1)),d(u(l.formatRelativeTime(e.updatedAt)),1)])),[[k,t.$dayjs(e.updatedAt).format("MMMM D, YYYY [at] h:mm A")]]):e.showCreatedDate?b((a(),r("div",Se,[n(U,{"aria-hidden":"true"}),s[4]||(s[4]=o("span",{class:"date-label"},"Published ",-1)),d(u(l.formatRelativeTime(e.createdAt)),1)])),[[k,t.$dayjs(e.createdAt).format("MMMM D, YYYY [at] h:mm A")]]):i("",!0)])],8,te)}const qe=q(ee,[["render",he],["__scopeId","data-v-142938d8"]]);export{qe as P};