1import{a as O,b as te,_ as se,c as le,d as ne}from"./CfW2V_mA.js";import{C as L,ao as s,r as o,n as t,aJ as e,o as h,bl as g,B as i,ah as c,aB as a,p as _,z as x,_ as P,b,i as V,l as j,aq as E,f as M,y as ae,bk as oe,s as ie,aY as re,b5 as de,aw as f,h as ce}from"./qiiO-fSN.js";import{_ as pe}from"./BU2fMJUl.js";import{f as U,d as N,c as me,i as ue,h as xe,e as ge,g as D,s as F}from"./DLhbZfYv.js";import{a as _e}from"./s-bNuSUo.js";import{_ as he}from"./D81iA3Me.js";import{p as be}from"./BEnAiP4z.js";import{u as fe}from"./C1YMW3Pt.js";import{b as ye}from"./CzR0JYjW.js";import"./EFMj-7_Q.js";import"./NouvrsDT.js";import"./CI64fB_k.js";import"./Bjibfph7.js";import"./CzHBVeb9.js";import"./BJ2ClxiI.js";const we={class:"mt-4 grid grid-cols-2 grid-rows-[260px_170px_300px] gap-[3px] sm:mt-7 md:grid-cols-[1.75fr_1fr_1.3fr] md:grid-rows-[210px_210px]"},ke={class:"label-caps text-[13px] leading-none tracking-[.08em] text-[#f4c46b]"},ve={class:"mt-1.5 font-serif text-[22px] leading-[1.15] md:text-[27px]"},$e={class:"mt-[5px] text-[12.5px] text-[#e4ddd1]"},Ce={class:"label-caps text-[13px] leading-none tracking-[.08em] text-[#f4c46b]"},Be={class:"mt-1.5 clamp-2 font-serif text-base leading-[1.15] md:text-[21px]"},Le={class:"mt-[5px] text-[12.5px] text-[#e4ddd1]"},ze={class:"label-caps text-[13px] leading-none tracking-[.08em] text-[#f4c46b]"},je={class:"mt-1.5 clamp-2 font-serif text-base leading-[1.15] md:text-[21px]"},Ne={class:"mt-[5px] text-[12.5px] text-[#e4ddd1]"},A="absolute inset-x-0 bottom-0 bg-band px-3.5 pt-3 pb-[13px] text-white",G="group relative block overflow-hidden bg-ground",Pe=L({__name:"HomeMosaic",props:{calls:{}},setup(r){const m=r,[d,u,n]=[m.calls[0],m.calls[1],m.calls[2]];return(z,w)=>{const C=O,v=P;return s(),o(b,null,[t("div",we,[e(d)?(s(),h(v,{key:0,to:`/${e(d).slug}`,class:c([G,"col-span-2 row-start-1 md:col-span-1 md:col-start-1 md:row-span-2"])},{default:g(()=>[i(C,{call:e(d),box:1.6,width:700,eager:"",class:"!aspect-auto size-full"},null,8,["call"]),t("div",{class:c(A)},[t("div",ke,a(e(d).type)+" · "+a(e(U)(e(d).entry_fee)),1),t("h3",ve,a(e(d).title),1),t("div",$e,a(e(N)(e(d).deadline))+" · "+a(e(me)(e(d).deadline)),1)])]),_:1},8,["to","class"])):_("",!0),e(u)?(s(),h(v,{key:1,to:`/${e(u).slug}`,class:c([G,"col-start-1 row-start-2 md:col-start-2 md:row-start-1"])},{default:g(()=>[i(C,{call:e(u),box:1.6,width:400,class:"!aspect-auto size-full"},null,8,["call"]),t("div",{class:c(A)},[t("div",Ce,a(e(u).type)+" · "+a(e(U)(e(u).entry_fee)),1),t("h3",Be,a(e(u).title),1),t("div",Le,a(e(N)(e(u).deadline)),1)])]),_:1},8,["to","class"])):_("",!0),e(n)?(s(),h(v,{key:2,to:`/${e(n).slug}`,class:c([G,"col-start-2 row-start-2 md:col-start-2 md:row-start-2"])},{default:g(()=>[i(C,{call:e(n),box:1.6,width:400,class:"!aspect-auto size-full"},null,8,["call"]),t("div",{class:c(A)},[t("div",ze,a(e(n).type)+" · "+a(e(U)(e(n).entry_fee)),1),t("h3",je,a(e(n).title),1),t("div",Ne,a(e(N)(e(n).deadline)),1)])]),_:1},8,["to","class"])):_("",!0),i(v,{to:"/submit",class:"col-span-2 row-start-3 flex flex-col justify-between bg-[#16130f] dark:ring-1 dark:ring-white/10 dark:ring-inset px-6 py-[26px] text-white md:col-span-1 md:col-start-3 md:row-span-2 md:row-start-1"},{default:g(()=>[...w[0]||(w[0]=[t("img",{src:pe,alt:"",width:"54",height:"54",class:"size-[54px]"},null,-1),t("div",null,[t("div",{class:"label-caps text-[15px] leading-none tracking-[.14em] text-[#f4c46b]"},"For organisers"),t("div",{class:"mt-2.5 font-cond text-[44px] leading-[.92] font-bold uppercase md:text-[54px]"},[x(" Submit your "),t("em",{class:"text-[#ff7a6b] not-italic"},"call"),x(", free ")])],-1),t("p",{class:"max-w-[34ch] text-[14.5px] text-[#d9d2c6]"}," Listed within a day and read by photographers who enter several contests a year. No fee, no paid ranking. ",-1)])]),_:1})]),w[1]||(w[1]=t("div",{class:"mt-[30px] h-[5px] border-y border-rule"},null,-1))],64)}}}),Se=Object.assign(Pe,{__name:"HomeMosaic"}),Ue={class:"mb-[38px] grid items-center gap-3.5 overflow-hidden rounded-[2px] bg-[#16130f] dark:ring-1 dark:ring-white/10 dark:ring-inset px-5 py-6 text-white md:grid-cols-[auto_1fr_auto] md:gap-[30px] md:px-8 md:py-7"},Ae=L({__name:"PromoBanner",setup(r){return(m,d)=>{const u=V;return s(),o("div",Ue,[d[1]||(d[1]=t("div",{class:"font-cond text-[46px] leading-[.88] font-bold uppercase md:text-[58px]"},[x(" Call"),t("br"),t("em",{class:"text-[#ff7a6b] not-italic"},"for"),x(" calls ")],-1)),d[2]||(d[2]=t("div",null,[t("h3",{class:"serif-title text-[26px] leading-[1.15]"},"Running a contest or an open call? List it here, free."),t("p",{class:"mt-1.5 max-w-[52ch] text-[14.5px] text-[#d9d2c6]"}," Send us the link. We read the rules and publish the deadline, fee, prizes and rights in one place. We do not sell placement. ")
1],-1)),i(u,{to:"/submit",color:"neutral","trailing-icon":"i-lucide-arrow-right",size:"lg",class:"justify-center bg-[#ff7a6b] font-semibold text-[#1a0f0d] hover:bg-[#ff9285]"},{default:g(()=>[...d[0]||(d[0]=[x(" Submit your call ",-1)])]),_:1})])}}}),Ge=Object.assign(Ae,{__name:"PromoBanner"}),Oe={class:"title-link clamp-3 mt-[11px] font-serif text-[16.5px] leading-[1.22] sm:text-[17.5px]"},He={class:"mt-1.5 flex flex-wrap gap-x-2.5 gap-y-1 text-[12.5px] text-ink-3"},Te=L({__name:"GridCard",props:{call:{},box:{default:1},width:{default:220},eager:{type:Boolean,default:!1}},setup(r){const m=r,d=j(()=>ge(m.call.deadline));return(u,n)=>{const z=O,w=P;return s(),h(w,{to:`/${r.call.slug}`,class:"block"},{default:g(()=>[i(z,{call:r.call,box:r.box,width:r.width,eager:r.eager},null,8,["call","box","width","eager"]),t("h3",Oe,a(r.call.title),1),t("div",He,[t("span",{class:c(e(d)?"font-semibold text-accent":"")},a(e(N)(r.call.deadline)),3),t("span",{class:c(e(ue)(r.call.entry_fee)?"font-semibold text-free":"")},a(e(xe)(r.call.entry_fee)),3)])]),_:1},8,["to"])}}}),De=Object.assign(Te,{__name:"GridCard"}),Fe=E("/badges/listed-light.svg"),Re=E("/badges/listed-dark.svg"),Ve={},Ee={id:"badge",class:"mb-[38px] grid items-center gap-5 border border-rule bg-paper-2 px-5 py-6 md:grid-cols-[auto_1fr_auto] md:gap-[30px] md:px-8 md:py-7"};function Me(r,m){const d=V;return s(),o("div",Ee,[m[1]||(m[1]=ae('<div class="-rotate-3 justify-self-start"><img src="'+Fe+'" alt="Listed on Pixcontests" width="200" height="56" class="dark:hidden"><img src="'+Re+'" alt="Listed on Pixcontests" width="200" height="56" class="hidden dark:block"></div><div><h3 class="serif-title text-[26px] leading-[1.15]">Organisers: show entrants your call is listed</h3><p class="mt-1.5 max-w-[52ch] text-[14.5px] text-ink-2"> A small badge for your call page that links back to your listing, where fee, prizes and rights are spelled out. </p></div>',2)),i(d,{to:"/for-organisers",color:"primary","trailing-icon":"i-lucide-arrow-right",size:"lg",class:"justify-center font-semibold"},{default:g(()=>[...m[0]||(m[0]=[x(" Get the badge ",-1)])]),_:1})])}const We=Object.assign(M(Ve,[["render",Me]]),{__name:"BadgeBanner"}),Ie={},qe={class:"mb-[38px] grid items-center gap-5 border-t-2 border-ink bg-paper-2 px-5 py-6 sm:px-8 md:grid-cols-2 md:gap-[30px]"};function Je(r,m){const d=he;return s(),o("div",qe,[m[0]||(m[0]=t("div",null,[t("h3",{class:"serif-title text-[25px] leading-[1.1] sm:text-[30px]"},"Never miss a deadline you meant to enter"),t("p",{class:"mt-2 text-[14.5px] text-ink-2"}," Every Monday: the calls closing in the next 14 days, with fee and top prize. Cancel in one click. ")],-1)),i(d,{label:"Send me reminders"})])}const Ye=Object.assign(M(Ie,[["render",Je]]),{__name:"DigestBand"}),Ke=L({__name:"GuideTile",props:{guide:{},lead:{type:Boolean}},setup(r){return(m,d)=>{const u=P;return s(),h(u,{to:`/resources/${r.guide.kind}/${r.guide.slug}`,class:c(["group flex min-h-[170px] flex-col justify-between border-t-[3px] p-4 pb-[18px] transition-colors sm:min-h-[196px]",r.lead?"col-span-2 border-t-accent bg-ink text-paper":"border-t-ink bg-paper-2 hover:bg-ground"])},{default:g(()=>[t("div",null,[t("div",{class:c(["label-caps text-[13px] leading-none",r.lead?"text-paper/70":"text-ink-3"])},a(r.guide.kindLabel),3),t("h3",{class:c(["serif-title my-2.5 leading-[1.18]",r.lead?"text-[22px] sm:text-[30px]":"text-[17px] sm:text-xl"])},a(r.guide.title),3)]),r.guide.excerpt?(s(),o("p",{key:0,class:c(["text-[13px]",r.lead?"clamp-4 opacity-80":"clamp-3 text-ink-2"])},a(r.guide.excerpt),3)):_("",!0)]),_:1},8,["to","class"])}}}),Qe=Object.assign(Ke,{__name:"GuideTile"}),Xe={class:"mb-[22px] max-w-[72ch] text-[14.5px] text-ink-2"},Ze={class:"mb-[22px] max-w-[72ch] text-[14.5px] text-ink-2"},et={class:"grid grid-cols-2 gap-x-3.5 gap-y-[22px] sm:gap-x-5 sm:gap-y-[26px] md:grid-cols-4"},tt={class:"mb-[22px] max-w-[72ch] text-[14.5px] text-ink-2"},st={class:"grid grid-cols-2 gap-x-3.5 gap-y-[22px] sm:gap-x-6 sm:gap-y-7 md:grid-cols-3"},lt={class:"mb-3 flex items-baseline justify-between"},nt={class:"serif-title text-[25px] leading-[1.1]"},at={class:"ml-2 font-sans text-[13px] font-medium text-ink-3"},ot={class:"grid grid-cols-2 gap-x-3.5 gap-y-[22px] sm:gap-x-5 sm:gap-y-[26px] md:grid-cols-4"},it={class:"mt-5 grid grid-cols-[minmax(0,1fr)] gap-x-7 md:grid-cols-3"},rt={class:"flex items-baseline justify-between"},dt={class:"serif-title text-[23px] leading-[1.1]"},ct={class:"font-serif text-[30px] leading-none font-medium"},pt={class:"mt-2.5 text-sm"},mt={class:"whitespace-nowrap text-ink-3"},ut={class:"grid grid-cols-2 gap-3 sm:gap-[18px] md:grid-cols-4"},xt={class:"grid grid-cols-3 gap-3 sm:gap-4 md:grid-cols-6"},gt={class:"opacity-90 grayscale-[.85] transition group-hover:opacity-100 group-hover:grayscale-0"},_t={class:"title-link clamp-3 mt-2 font-serif text-sm leading-[1.25]"},ht={class:"mt-[3px] text-[11.5px] text-ink-3"},R="grid grid-cols-[minmax(0,1fr)] sm:grid-cols-2 sm:gap-x-8 [&>article:nth-last-child(-n+2)]:sm:border-b-0 [&>article:nth-last-child(-n+2)]:sm:pb-0 [&>article:last-child]:max-sm:border-b-0",y="mb-[38px] border-b border-rule pb-[38px] last:mb-0 last:border-b-0 last:pb-0",Ut=L({__name:"index",async setup(r){let m,d;const u=de(),{data:n}=([m,d]=oe(()=>fe("/api/portal/home","$02dV_VHuAR")),m=await m,d(),m);if(!n.value)throw ie({statusCode:500,statusMessage:"Home page data unavailable",fatal:!0});const z=j(()=>n.value?.stats.open??0);ye({title:"Pixcontests: Photo Contests & Exhibitions Worldwide",description:()=>`${z.value} open photography contests and exhibitions worldwide, updated daily with deadlines, prizes and entry fees.`,path:"/",markdown:"/md/lists/all.md"}),re({script:[{type:"application/ld+json",innerHTML:JSON.stringify({"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":`${u.public.siteUrl}/#organization`,name:"Pixcontests",url:u.public.siteUrl,logo:`${u.public.siteUrl}/images/pixcontests-logo.png`,sameAs:["https://www.facebook.com/Pixcontests/","https://www.pinterest.com/pixcontests/","https://pixcontests.tumblr.com/"]},{"@type":"WebSite","@id":`${u.public.siteUrl}/#website`,name:"Pixcontests",url:u.public.siteUrl,publisher:{"@id":`${u.public.siteUrl}/#organization`}},{"@type":"ItemList",name:"Photography calls closing this week",itemListElement:(n.value?.week.items??[]).map((v,p)=>({"@type":"ListItem",position:p+1,url:`${u.public.siteUrl}/${v.slug}`,name:v.title}))}]})}]});const w=j(()=>n.value?.guides??[]),C=j(()=>be("home",n.value?.week.total??0));return(v,p)=>{const W=Se,k=se,B=P,H=_e,I=Ge,S=De,q=le,J=We,Y=ne,K=ce,Q=Ye,X=Qe,Z=O,ee=te;return e(n)?(s(),h(ee,{key:0,"rail-ad":e(C).rail},{top:g(()=>[p[0]||(p[0]=t("h1",{class:"sr-only"},"Photo contests and exhibitions open now",-1)),e(n).mosaic.length>=3?(s(),h(W,{key:0,calls:e(n).mosaic},null,8,["calls"])):_("",!0)]),default:g(()=>[e(n).week.items.length?(s(),o("section",{key:0,class:c(y),"aria-labelledby":"h-week"},[i(k,{id:"h-week",title:"Closing this week",to:"/closing-soon"}),t("p",Xe,[x(a(e(n).week.total)+" calls close in the next seven days. Fee, prize and rights are on every listing; see ",1),i(B,{to:"/free",class:"link"},{default:g(()=>[...p[1]||(p[1]=[x("free ones",-1)])]),_:1}),p[3]||(p[3]=x(" or ",-1)),i(B,{to:"/closing-soon",class:"link"},{default:g(()=>
1[...p[2]||(p[2]=[x("everything by deadline",-1)])]),_:1}),p[4]||(p[4]=x(". ",-1))]),t("div",{class:c(R)},[(s(!0),o(b,null,f(e(n).week.items,l=>(s(),h(H,{key:l.slug,call:l},null,8,["call"]))),128))])])):_("",!0),i(I),e(n).free.items.length?(s(),o("section",{key:1,class:c(y),"aria-labelledby":"h-free"},[i(k,{id:"h-free",title:"Free to enter",to:"/free"}),t("p",Ze,a(e(n).free.total)+" open calls with no entry fee, soonest deadline first. ",1),t("div",et,[(s(!0),o(b,null,f(e(n).free.items,l=>(s(),h(S,{key:l.slug,call:l,box:1,width:220},null,8,["call"]))),128))])])):_("",!0),e(n).fresh.length?(s(),o("section",{key:2,class:c(y),"aria-labelledby":"h-new"},[i(k,{id:"h-new",title:"New this week",to:"/contests",more:"All contests"}),t("div",{class:c(R)},[(s(!0),o(b,null,f(e(n).fresh,l=>(s(),h(H,{key:l.slug,call:l},null,8,["call"]))),128))])])):_("",!0),e(C).band?(s(),o("div",{key:3,class:c(y)},[i(q,{ad:e(C).band},null,8,["ad"])])):_("",!0),e(n).exhibitions.items.length?(s(),o("section",{key:4,class:c(y),"aria-labelledby":"h-ex"},[i(k,{id:"h-ex",title:"Exhibitions and open calls",to:"/exhibitions"}),t("p",tt,[p[6]||(p[6]=x(" Group shows, festivals and portfolio calls. Applying to an exhibition is not the same as entering a contest: ",-1)),i(B,{to:"/resources",class:"link"},{default:g(()=>[...p[5]||(p[5]=[x("read the guides",-1)])]),_:1}),p[7]||(p[7]=x(". ",-1))]),t("div",st,[(s(!0),o(b,null,f(e(n).exhibitions.items,l=>(s(),h(S,{key:l.slug,call:l,box:3/2,width:300},null,8,["call"]))),128))])])):_("",!0),i(J),e(n).grants.length?(s(),o("section",{key:5,class:c(y),"aria-labelledby":"h-grants"},[i(k,{id:"h-grants",title:"Grants, residencies and funds",to:"/search?q=grant"}),t("ul",null,[(s(!0),o(b,null,f(e(n).grants,l=>(s(),h(Y,{key:l.slug,call:l},null,8,["call"]))),128))])])):_("",!0),e(n).genres.length?(s(),o("section",{key:6,class:c(y),"aria-labelledby":"h-genre"},[i(k,{id:"h-genre",title:"By genre",to:"/genres"}),(s(!0),o(b,null,f(e(n).genres,(l,$)=>(s(),o("div",{key:l.genre,class:c(["py-[18px]",$===0?"pt-1.5":"border-t border-rule"])},[t("div",lt,[t("h3",nt,[x(a(e(D)(l.genre)),1),t("small",at,a(l.n)+" open",1)]),i(B,{to:`/genres/${l.genre}`,class:"inline-flex items-center gap-1 text-[13.5px] text-accent hover:underline hover:underline-offset-[3px]"},{default:g(()=>[x(" All "+a(e(D)(l.genre).toLowerCase())+" ",1),i(K,{name:"i-lucide-arrow-right",class:"size-4"})]),_:2},1032,["to"])]),t("div",ot,[(s(!0),o(b,null,f(l.items,T=>(s(),h(S,{key:T.slug,call:T,box:1,width:220},null,8,["call"]))),128))])],2))),128))])):_("",!0),e(n).months.length?(s(),o("section",{key:7,id:"months",class:c(y),"aria-labelledby":"h-months"},[i(k,{id:"h-months",title:"Deadlines by month",to:"/deadlines"}),t("div",it,[(s(!0),o(b,null,f(e(n).months,l=>(s(),o("div",{key:l.slug,class:"border-t-2 border-ink py-4"},[t("div",rt,[t("h3",dt,[i(B,{to:`/deadlines/${l.slug}`,class:"title-link"},{default:g(()=>[x(a(l.label),1)]),_:2},1032,["to"])]),t("span",ct,a(l.n),1)]),t("ul",pt,[(s(!0),o(b,null,f(l.items,$=>(s(),o("li",{key:$.slug,class:"flex justify-between gap-2.5 border-t border-rule py-1.5"},[i(B,{to:`/${$.slug}`,class:"title-link truncate"},{default:g(()=>[x(a($.title),1)]),_:2},1032,["to"]),t("span",mt,a(e(F)($.deadline)),1)]))),128))])]))),128))])])):_("",!0),i(Q),e(w).length?(s(),o("section",{key:8,id:"guides",class:c(y),"aria-labelledby":"h-guides"},[i(k,{id:"h-guides",title:"Guides and checklists",to:"/resources"}),p[8]||(p[8]=t("p",{class:"mb-[22px] max-w-[72ch] text-[14.5px] text-ink-2"}," Our own writing on entering well: fees, rules, rights and when to walk away. ",-1)),t("div",ut,[(s(!0),o(b,null,f(e(w).slice(0,7),(l,$)=>(s(),h(X,{key:l.slug,guide:l,lead:$===0},null,8,["guide","lead"]))),128))])])):_("",!0),e(n).closed.length?(s(),o("section",{key:9,id:"closed",class:c(y),"aria-labelledby":"h-closed"},[i(k,{id:"h-closed",title:"Recently closed",to:"/archive"}),p[9]||(p[9]=t("p",{class:"mb-[22px] max-w-[72ch] text-[14.5px] text-ink-2"},"Calls that closed recently, kept for reference.",-1)),t("div",xt,[(s(!0),o(b,null,f(e(n).closed,l=>(s(),h(B,{key:l.slug,to:`/${l.slug}`,class:"group block"},{default:g(()=>[t("div",gt,[i(Z,{call:{...l,type:"contest",entry_fee:null},box:1,width:160}
1,null,8,["call"])]),t("h3",_t,a(l.title),1),t("div",ht,"Closed "+a(e(F)(l.deadline)),1)]),_:2},1032,["to"]))),128))])])):_("",!0)]),_:1},8,["rail-ad"])):_("",!0)}}});export{Ut 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.