1import{_ as C}from"./C8_nhtev.js";import{_ as V,u as L}from"./Dd8yuXMb.js";import{d as v,c as n,e as t,l as j,i as d,t as p,b as s,g,h as B,w as N,a,G as D,H as q,I as F,q as O,n as G,r as $,j as y,J as R,F as I,s as H,C as T,u as U,v as W,K as z,z as J}from"./CRt9BYws.js";import{u as K}from"./Bm9syv0T.js";import{c as Z}from"./D-8JsWqR.js";import{u as Q}from"./3kZBQyRm.js";import{u as X}from"./DmQWKgZP.js";import"./D_Mtlwq2.js";import"./DNDdghVx.js";import"./BtIeU_b6.js";const E=Z("flame",[["path",{d:"M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4",key:"1slcih"}]]),Y={class:"relative"},ee={class:"container mx-auto px-4 py-8 mt-8 lg:mt-16"},te={class:"grid grid-cols-1 lg:grid-cols-2 gap-8 items-start"},se={class:"flex flex-col justify-start pt-8"},ae=["innerHTML"],oe={class:"flex items-center gap-3 mb-8"},ne={class:"text-xl text-gray-600"},re={key:0,class:"flex gap-4 max-md:flex-wrap"},le={key:0,class:"relative"},ie={class:"py-4"},ce=["disabled"],de=["disabled"],ue={class:"text-center py-4"},me={class:"text-2xl font-wuerth-black mb-4"},ge=v({__name:"PageBrickProjectHeader",props:{data:{},projectId:{},votable:{type:Boolean}},setup(e){const c=e,{requestVote:r}=K(),l=$(""),i=$(!1),h=L(),m=L(),o=$(""),f=y(()=>c.votable===!0),x=()=>{l.value="",h.open()},b=async()=>{if(!(!l.value||i.value))try{i.value=!0,await r(l.value,c.projectId),h.close(),o.value="Bestätigungs-E-Mail gesendet! Bitte überprüfen Sie Ihr Postfach.",m.open(),l.value=""}catch(_){h.close();let u="";_ instanceof R&&(u=_.data?.statusMessage||_.data?.message||""),o.value=u||"Ein Fehler ist aufgetreten. Bitte versuche es erneut.",m.open()}finally{i.value=!1}};return(_,u)=>{const k=C,w=V;return a(),n("div",Y,[t("div",ee,[t("div",te,[t("div",se,[t("h1",{class:"text-3xl max-md:text-4xl font-wuerth-black mb-4",innerHTML:e.data.headline},null,8,ae),t("div",oe,[e.data.logo?(a(),j(k,{key:0,format:"webp",src:e.data.logo,class:"w-12 h-12 object-contain",alt:"Logo"},null,8,["src"])):d("",!0),t("p",ne,p(e.data.subHeadline),1)]),s(f)?(a(),n("div",re,[t("button",{class:"btn-black flex items-center gap-2",onClick:x},[g(s(E)),u[1]||(u[1]=B(" VOTEN ",-1))])])):d("",!0)]),e.data.image?(a(),n("div",le,[g(k,{format:"webp",src:e.data.image,class:"w-full h-96 object-cover rounded-lg"},null,8,["src"])])):d("",!0)])]),g(w,{controller:s(h)},{default:N(()=>[t("div",ie,[u[3]||(u[3]=t("h3",{class:"text-2xl font-wuerth-black mb-4 text-center"}," E-Mail für Abstimmung ",-1)),t("form",{onSubmit:D(b,["prevent"]),class:"space-y-4"},[t("div",null,[q(t("input",{"onUpdate:modelValue":u[0]||(u[0]=P=>O(l)?l.value=P:null),type:"email",required:"",placeholder:"[email protected]",class:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-wuerth-red",disabled:s(i)},null,8,ce),[[F,s(l)]])]),t("button",{type:"submit",class:"w-full btn-black flex items-center justify-center gap-2",disabled:s(i)},[g(s(E),{class:G(s(i)?"animate-fire":"")},null,8,["class"]),B(" "+p(s(i)?"WIRD GESENDET...":"ABSTIMMEN"),1)],8,de),u[2]||(u[2]=t("p",null,[t("b",null,"Schon abgestimmt?"),t("br"),B(" Wenn du für dieses Projekt bereits einen Abstimmungs-Link per E-Mail erhalten hast, brauchst du das Formular nicht erneut absenden. Du kannst den Link aus deiner E-Mail einfach wieder verwenden. ")],-1))],32)])]),_:1},8,["controller"]),g(w,{controller:s(m)},{default:N(()=>[t("div",ue,[t("h3",me,p(s(o)),1)])]),_:1},8,["controller"])])}}}),he=Object.assign(ge,{__name:"PageBrickProjectHeader"}),pe={class:"container mx-auto px-4 my-16"},_e={class:"grid grid-cols-1 md:grid-cols-3 gap-6 mb-12"},be={key:0,class:"bg-gray-100 p-6 rounded-lg"},fe={class:"font-wuerth-bold"},xe={key:1,class:"bg-gray-100 p-6 rounded-lg"},ye={class:"font-wuerth-bold"},ve={class:"bg-gray-100 p-6 rounded-lg"},ke={class:"font-wuerth-bold"},we=["innerHTML"],je={key:0,class:"mb-12 max-w-4xl"},$e=["href"],Pe={key:1,class:"grid grid-cols-1 md:grid-cols-3 gap-6"},Be=v({__name:"PageBrickProjectSummary",props:{data:{},categories:{},location:{},zipCode:{},sponsorNumber:{}},setup(e){return(c,r)=>{const l=T,i=C;return a(),n("div",pe,[t("div",_e,[e.categories&&e.categories.length>0?(a(),n("div",be,[r[0]||(r[0]=t("h3",{class:"text-sm text-gray-500 mb-2"},"Bereich",-1)),t("p",fe,p(e.categories.join(", ")),1)])):d("",!0),e.location||e.zipCode?(a(),n("div",xe,[r[1]||(r[1]=t("h3",{class:"text-sm text-gray-500 mb-2"}
1,"Standort",-1)),t("p",ye,p([e.zipCode,e.location].filter(Boolean).join(" ")),1)])):d("",!0),t("div",ve,[r[2]||(r[2]=t("h3",{class:"text-sm text-gray-500 mb-2"}," Anzahl Handwerksbetriebe ",-1)),t("p",ke,p(e.sponsorNumber),1)])]),g(l,{type:"h2",headline:e.data.headline},null,8,["headline"]),t("div",{class:"text-base leading-relaxed mb-12 max-w-4xl",innerHTML:e.data.text},null,8,we),e.data.youtubeLink?(a(),n("div",je,[g(l,{type:"h3",headline:"Zum Projektfilm"}),t("a",{href:e.data.youtubeLink,target:"_blank",rel:"noopener noreferrer",class:"font-wuerth-bold break-all underline"},p(e.data.youtubeLink),9,$e)])):d("",!0),e.data.images&&e.data.images.length>0?(a(),n("div",Pe,[(a(!0),n(I,null,H(e.data.images,(h,m)=>(a(),n("div",{key:`project-image-${m}`,class:"overflow-hidden rounded-lg"},[g(i,{format:"webp",src:h,class:"w-full object-cover aspect-[4/3]"},null,8,["src"])]))),128))])):d("",!0)])}}}),Me=Object.assign(Be,{__name:"PageBrickProjectSummary"}),Ce={class:"container mx-auto px-4 my-16"},Ie={class:"mt-8 grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3"},He={class:"font-wuerth-bold"},Te={key:0,class:"mt-1 text-sm text-gray-500"},Le=v({__name:"PageBrickProjectCraftBusinesses",props:{businesses:{}},setup(e){return(c,r)=>{const l=T;return a(),n("div",Ce,[g(l,{type:"h2",headline:"Beteiligte Handwerksbetriebe"}),t("div",Ie,[(a(!0),n(I,null,H(e.businesses,(i,h)=>(a(),n("div",{key:`craft-business-${h}`,class:"bg-gray-100 p-6 rounded-lg"},[t("p",He,p(i.companyName),1),i.zipCode||i.city?(a(),n("p",Te,p([i.zipCode,i.city].filter(Boolean).join(" ")),1)):d("",!0)]))),128))])])}}}),Ne=Object.assign(Le,{__name:"PageBrickProjectCraftBusinesses"}),ze={class:"container mx-auto px-4 py-12"},Ee={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4"},Ae={key:0,class:"mt-8 flex justify-center"},M=9,Se=v({__name:"PageBrickProjectGallery",props:{images:{}},setup(e){const c=e,r=$(!1),l=y(()=>!r.value&&c.images.length>M),i=y(()=>r.value?c.images:c.images.slice(0,M));return(h,m)=>{const o=T,f=C;return a(),n("div",ze,[g(o,{type:"h3",headline:"Projektbilder"}),t("div",Ee,[(a(!0),n(I,null,H(s(i),(x,b)=>(a(),n("div",{key:b,class:"aspect-square overflow-hidden rounded-lg"},[g(f,{format:"webp",src:x,width:"600",height:"600",fit:"cover",sizes:"100vw md:50vw lg:33vw",loading:b<3?"eager":"lazy",decoding:"async",class:"h-full w-full object-cover",alt:`Projektbild ${b+1}`},null,8,["src","loading","alt"])]))),128))]),s(l)?(a(),n("div",Ae,[t("button",{type:"button",class:"bg-black text-white font-wuerth-bold px-6 py-3 rounded-full",onClick:m[0]||(m[0]=x=>r.value=!0)}," Weitere Bilder anzeigen ("+p(e.images.length-M)+") ",1)])):d("",!0)])}}}),Ve=Object.assign(Se,{__name:"PageBrickProjectGallery"}),De={class:"bg-wuerth-red text-white py-16"},qe={class:"container mx-auto px-4"},Fe={class:"flex items-center justify-between max-lg:flex-col max-lg:text-center max-lg:gap-8"},Oe=["innerHTML"],Ge=["innerHTML"],Re={class:"flex gap-4 max-md:flex-col"},Ue=v({__name:"PageBrickProjectCTA",props:{data:{}},emits:["primary-click","secondary-click"],setup(e){return(c,r)=>(a(),n("div",De,[t("div",qe,[t("div",Fe,[t("div",null,[t("h2",{class:"text-4xl max-md:text-2xl font-wuerth-black uppercase leading-tight",innerHTML:e.data.headline},null,8,Oe),e.data.subHeadline?(a(),n("p",{key:0,class:"text-2xl max-md:text-xl font-wuerth-bold mt-2",innerHTML:e.data.subHeadline},null,8,Ge)):d("",!0)]),t("div",Re,[e.data.primaryButton?(a(),n("button",{key:0,class:"bg-black text-white px-8 py-3 rounded-full font-wuerth-bold uppercase hover:bg-gray-800",onClick:r[0]||(r[0]=l=>c.$emit("primary-click"))},p(e.data.primaryButton),1)):d("",!0),e.data.secondaryButton?(a(),n("button",{key:1,class:"border border-white text-white px-8 py-3 rounded-full font-wuerth-bold uppercase hover:bg-white hover:text-wuerth-red",onClick:r[1]||(r[1]=l=>c.$emit("secondary-click"))},p(e.data.secondaryButton),1)):d("",!0)])])])]))}}),We=Object.assign(Ue,{__name:"PageBrickProjectCTA"}),Je={key:0,class:"mt-32"},Ke={key:1,class:"container mx-auto px-4 py-16 text-center"},rt=v({__name:"[id]",async setup(e){let c,r;const l=U(),{getProjectById:i}=Q(),{public:{apiBaseUrl:h}}
1=W(),m=y(()=>Array.isArray(l.params.id)?l.params.id[0]:l.params.id);if(!m.value)throw z({statusCode:404,statusMessage:"Projekt ID fehlt"});const{data:o,pending:f}=([c,r]=J(()=>X(`project-${m.value}`,()=>i(m.value))),c=await c,r(),c);if(!f.value&&!o.value)throw z({statusCode:404,statusMessage:"Projekt nicht gefunden"});const x=y(()=>{if(!o.value)return{headline:"",subHeadline:""};const _=o.value.header.image?`${h}${o.value.header.image}`:void 0;return{...o.value.header,image:_}}),b=y(()=>o.value?.votingImages?.length?o.value.votingImages.map(_=>`${h}${_}`):[]);return(_,u)=>{const k=he,w=Me,P=Ne,A=Ve,S=We;return s(o)?(a(),n("div",Je,[g(k,{data:s(x),"project-id":s(m),votable:s(o).votable},null,8,["data","project-id","votable"]),g(w,{data:s(o).text,categories:s(o).categories,location:s(o).location,"zip-code":s(o).zipCode,"sponsor-number":s(o).sponsorNumber},null,8,["data","categories","location","zip-code","sponsor-number"]),s(o).craftBusinesses?.length?(a(),j(P,{key:0,businesses:s(o).craftBusinesses},null,8,["businesses"])):d("",!0),s(b).length?(a(),j(A,{key:1,images:s(b)},null,8,["images"])):d("",!0),s(o).cta?(a(),j(S,{key:2,data:s(o).cta},null,8,["data"])):d("",!0)])):s(f)?(a(),n("div",Ke,[...u[0]||(u[0]=[t("p",{class:"text-gray-600"},"Projekt wird geladen...",-1)])])):d("",!0)}}});export{rt 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.